first version of confined sidebar render
This commit is contained in:
parent
b4a2737407
commit
c6894be962
|
@ -1,10 +1,13 @@
|
||||||
class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
|
class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
|
||||||
include OrbitCoreLib::PermissionUnility
|
include OrbitCoreLib::PermissionUnility
|
||||||
before_filter :force_order
|
before_filter :force_order
|
||||||
|
|
||||||
|
def set_module_app
|
||||||
|
@module_app = ModuleApp.where(:title=>'Announcement').first
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
def setting
|
def setting
|
||||||
|
|
||||||
@sys_users = User.all(conditions: {admin: false}).includes(:avatar)
|
@sys_users = User.all(conditions: {admin: false}).includes(:avatar)
|
||||||
@ob_auth = ObjectAuth.find params[:object_auth_id]
|
@ob_auth = ObjectAuth.find params[:object_auth_id]
|
||||||
@options_from_collection_for_select_ob_auth = @ob_auth.siblings.collect{|oa| [oa.auth_obj.pp_object,oa.id] }
|
@options_from_collection_for_select_ob_auth = @ob_auth.siblings.collect{|oa| [oa.auth_obj.pp_object,oa.id] }
|
||||||
|
@ -60,6 +63,7 @@ class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
|
||||||
|
|
||||||
def force_order
|
def force_order
|
||||||
authenticate_user!
|
authenticate_user!
|
||||||
|
set_module_app
|
||||||
check_if_user_can_do_object_auth
|
check_if_user_can_do_object_auth
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Admin::UsersNewInterfaceController < ApplicationController
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@user = User.find(params[:id])
|
@user = User.find(params[:id])
|
||||||
@plugins = OrbitApp::Module::Registration.all
|
@plugins = OrbitApp::Plugin::Registration.all
|
||||||
|
|
||||||
@profile_data = []
|
@profile_data = []
|
||||||
@teacher_data = []
|
@teacher_data = []
|
||||||
|
|
|
@ -94,7 +94,7 @@ def unset_all_lang_values
|
||||||
unless self[:temp_data].nil?
|
unless self[:temp_data].nil?
|
||||||
case self.attribute_field.markup
|
case self.attribute_field.markup
|
||||||
when "address"
|
when "address"
|
||||||
binding.pry
|
# binding.pry
|
||||||
when 'text_field','text_area'
|
when 'text_field','text_area'
|
||||||
if self.attribute_field.add_more
|
if self.attribute_field.add_more
|
||||||
self["val"] = self["temp_data"]
|
self["val"] = self["temp_data"]
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
<div class="viewport">
|
<div class="viewport">
|
||||||
<div class="overview">
|
<div class="overview">
|
||||||
<ul class="nav nav-list">
|
<ul class="nav nav-list">
|
||||||
<%= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
|
<%= render :partial=> 'layouts/side_bar_content'%>
|
||||||
|
<%#= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
<%#= content_tag :li, :class => active_for_controllers('purchases') do -%>
|
<%#= content_tag :li, :class => active_for_controllers('purchases') do -%>
|
||||||
<%#= link_to content_tag(:i, nil, :class => 'icons-purchase') + t('admin.purchase'), admin_purchases_path %>
|
<%#= link_to content_tag(:i, nil, :class => 'icons-purchase') + t('admin.purchase'), admin_purchases_path %>
|
||||||
<%# end -%>
|
<%# end -%>
|
||||||
|
@ -6,113 +5,7 @@
|
||||||
<%= javascript_include_tag "/static/kernel.js" %>
|
<%= javascript_include_tag "/static/kernel.js" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= content_tag :li, :class => (active_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals') || active_for_app_auth('Announcement') || active_for_ob_auths_object("BulletinCategory") ) do -%>
|
<%=OrbitApp::Module::SideBarRegisition.all.first.render(request,params,current_user) %>
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + content_tag(:span, t('admin.announcement')), panel_announcement_back_end_bulletins_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + (visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')||active_for_ob_auths_object("BulletinCategory"))) do -%>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_bulletins_path), :class => active_for_action('bulletins', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_announcement_back_end_bulletin_path), :class => active_for_action('bulletins', 'new') if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_bulletin_categorys_path), :class =>( active_for_action('bulletin_categorys', 'index') || active_for_ob_auths_object("BulletinCategory") )if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_tags_path), :class => active_for_action('/panel/announcement/back_end/tags', 'index')if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.bulletin.approval_setting') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_announcement_back_end_approval_setting_path), :class => active_for_action('approvals', 'setting') if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "announcement"}))), :class => active_for_app_auth('Announcement') if (is_admin? rescue nil) %>
|
|
||||||
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class =>( active_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')|| active_for_app_auth('news') || active_for_ob_auths_object("NewsBulletinCategory")) do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-announcement') + content_tag(:span, t('admin.news')), panel_news_back_end_news_bulletins_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals')) do -%>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_news_bulletins_path), :class => active_for_action('news_bulletins', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_news_back_end_news_bulletin_path), :class => active_for_action('news_bulletins', 'new') if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_news_bulletin_categorys_path), :class => active_for_action('news_bulletin_categorys', 'index') || active_for_ob_auths_object("NewsBulletinCategory") if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_tags_path), :class => active_for_action('/panel/news/back_end/tags', 'index') if (is_manager? rescue nil)%>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.bulletin.approval_setting') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_news_back_end_approval_setting_path), :class => active_for_action('news_approvals', 'setting') if (is_manager? rescue nil) %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "news"}))), :class => active_for_app_auth('news') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<%#= content_tag :li, :class => active_for_controllers('users') do -%>
|
|
||||||
<%#= link_to content_tag(:i, nil, :class => 'icons-member') + t('admin.member'), admin_users_path %>
|
|
||||||
<%# end -%>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('page_contexts') || active_for_app_auth('page_content') || active_for_ob_auths_object("PageContext") do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-page') + content_tag(:span, t('admin.page')), panel_page_content_back_end_page_contexts_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('page_contexts')) do -%>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.all_articles'), panel_page_content_back_end_page_contexts_path), :class => active_for_action('page_context', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "page_content"}))), :class => active_for_app_auth('page_content') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('ad_banners', 'ad_images') ||active_for_ob_auths_object("AdBanner") ||active_for_app_auth('ad_banner') do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.ad_banner')), admin_ad_banners_path %>
|
|
||||||
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('ad_banners', 'ad_images') ) do -%>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "ad_banner"}))), :class => active_for_app_auth('ad_banners') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys') || active_for_app_auth('web_resource') || active_for_ob_auths_object("WebLinkCategory") do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.link')), panel_web_resource_back_end_web_links_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('web_links', '/panel/web_resource/back_end/tags', 'web_link_categorys')) do -%>
|
|
||||||
<%= content_tag :li, link_to((t('admin.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_web_links_path), :class => active_for_action('web_links', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_web_resource_back_end_web_link_path), :class => active_for_action('web_links', 'new') if (is_manager? rescue nil)%>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_web_link_categorys_path), :class => (active_for_action('web_link_categorys', 'index') || active_for_ob_auths_object("WebLinkCategory")) if (is_manager? rescue nil)%>
|
|
||||||
<%= content_tag :li, link_to((t('announcement.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_web_resource_back_end_tags_path), :class => active_for_action('/panel/web_resource/back_end/tags', 'index') if (is_manager? rescue nil)%>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "web_resource"}))), :class => active_for_app_auth('web_resource') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('albums','album_images','gallery_categories','/panel/gallery/back_end/tags') || active_for_app_auth("gallery") do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-picture') + content_tag(:span, t('admin.orbit_gallery')), panel_gallery_back_end_albums_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('albums') ) do -%>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
|
|
||||||
<%= content_tag :li, link_to((t('gallery.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_gallery_categories_path), :class => active_for_action('gallery_categories','index') %>
|
|
||||||
<%= content_tag :li, link_to((t('gallery.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.module.authorization') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe,admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('archive_files', 'panel/archive/back_end/tags', 'archive_file_categorys') do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-asset') + content_tag(:span, t('admin.archive')), panel_archive_back_end_archive_files_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('archive_files', 'tags', 'archive_file_categorys')) do -%>
|
|
||||||
<%= content_tag :li, link_to((t('admin.all_articles') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_archive_files_path), :class => active_for_action('archive_file', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.add_new') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_archive_back_end_archive_file_path), :class => active_for_action('archive_file', 'new') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.categories') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_archive_file_categorys_path), :class => active_for_action('archive_file_categorys', 'index') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.tags') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, panel_archive_back_end_tags_path), :class => active_for_action('tags', 'index') %>
|
|
||||||
<% end -%>
|
|
||||||
<% end -%>
|
|
||||||
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('cals','panel/calendar/back_end/tags') || active_for_app_auth("calendar") do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-calendar') + content_tag(:span, t('admin.calendar')), panel_calendar_back_end_cals_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('cals','calendar_categories') ) do -%>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
|
|
||||||
<%= content_tag :li, link_to((t('admin.calendars') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_calendar_back_end_cal_path), :class => active_for_action('cals','new') %>
|
|
||||||
<%= content_tag :li, link_to(t('admin.tags'), panel_calendar_back_end_tags_path), :class => active_for_action('/panel/calendar/back_end/tags', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
<% end %>
|
|
||||||
<%= content_tag :li, :class => active_for_controllers('locations') || active_for_app_auth("gprs") do -%>
|
|
||||||
<%= link_to content_tag(:i, nil, :class => 'icons-link') + content_tag(:span, t('admin.gprs')), panel_gprs_back_end_locations_path %>
|
|
||||||
<%= content_tag :ul, :class => ("nav nav-list " + visible_for_controllers('locations') ) do -%>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.all_banners'), admin_ad_banners_path), :class => active_for_action('ad_banners', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_banner'), new_admin_ad_banner_path), :class => active_for_action('ad_banners', 'new') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.ad.new_image'), new_ad_image_admin_ad_banners_path), :class => active_for_action('ad_images', 'new') %>
|
|
||||||
<%#= content_tag :li, link_to((t('calendar.calendars') + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, new_panel_calendar_back_end_cal_path), :class => active_for_action('cals','new') %>
|
|
||||||
<%#= content_tag :li, link_to(t('gallery.tags'), panel_gallery_back_end_tags_path), :class => active_for_action('/panel/gallery/back_end/tags', 'index') %>
|
|
||||||
<%#= content_tag :li, link_to(t('admin.module.authorization'),admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {key: "gallery"}))), :class => active_for_app_auth('gallery') if (is_admin? rescue nil) %>
|
|
||||||
<% end -%>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<% flash.each do |key, msg| %>
|
<% flash.each do |key, msg| %>
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= render 'layouts/side_bar' %>
|
<%= render 'layouts/side_bar' %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div id="main-wrap">
|
<div id="main-wrap">
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,7 +3,7 @@ defaults: &defaults
|
||||||
port: 37017
|
port: 37017
|
||||||
# slaves:
|
# slaves:
|
||||||
# - host: slave1.local
|
# - host: slave1.local
|
||||||
port: 27017
|
# port: 27017
|
||||||
# - host: slave2.local
|
# - host: slave2.local
|
||||||
# port: 27019
|
# port: 27019
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
require "orbit_app/summary"
|
require "orbit_app/summary"
|
||||||
require "orbit_app/dsl"
|
require "orbit_app/dsl"
|
||||||
require "orbit_app/module/backend_side_bar"
|
require "orbit_app/helper/renderer"
|
||||||
|
require "orbit_app/helper/side_bar_renderer"
|
||||||
|
require "orbit_app/helper/context_link_renderer"
|
||||||
|
require "orbit_app/module/side_bar"
|
||||||
require "orbit_app/plugin/summary"
|
require "orbit_app/plugin/summary"
|
||||||
require "orbit_app/plugin/registration"
|
require "orbit_app/plugin/registration"
|
||||||
require "orbit_app/module/summary"
|
require "orbit_app/module/summary"
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
module ContextLinkRenderer
|
||||||
|
include Renderer
|
||||||
|
|
||||||
|
def render(request,params)
|
||||||
|
@request = request
|
||||||
|
@params = params
|
||||||
|
if display?
|
||||||
|
content_tag :li, link_to((I18n.t(@label_i18n) + content_tag(:i, nil, :class => 'icon-chevron-right')).html_safe, eval(@path)), :class => (active? ? 'active' : nil)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,62 @@
|
||||||
|
module Renderer
|
||||||
|
include Rails.application.routes.url_helpers
|
||||||
|
include ActionView::Helpers::UrlHelper
|
||||||
|
include ActionView::Helpers::TagHelper
|
||||||
|
include ActionView::Helpers::RenderingHelper
|
||||||
|
include ActionView::Context
|
||||||
|
include OrbitBasis::RenderAnywhere
|
||||||
|
|
||||||
|
protected
|
||||||
|
def active_for_app_auth?
|
||||||
|
@module_app.id.to_s == @params[:module_app_id] ? true : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_for_ob_auths?
|
||||||
|
if @params.has_key? :object_auth_id
|
||||||
|
oa = ObjectAuth.find @params[:object_auth_id]
|
||||||
|
check_controller = @params[:controller] == 'admin/object_auths_new_interface'
|
||||||
|
check_object_class = @active_for_object_auth.include? oa.obj_authable_type
|
||||||
|
return (check_controller and check_object_class)
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def current_user
|
||||||
|
current_or_guest_user
|
||||||
|
end
|
||||||
|
|
||||||
|
def current_or_guest_user
|
||||||
|
@current_user
|
||||||
|
end
|
||||||
|
|
||||||
|
def request
|
||||||
|
@request
|
||||||
|
end
|
||||||
|
|
||||||
|
def default_url_options
|
||||||
|
_routes.default_url_options
|
||||||
|
end
|
||||||
|
|
||||||
|
def _routes
|
||||||
|
@request.env["action_dispatch.routes"]
|
||||||
|
end
|
||||||
|
|
||||||
|
def controller
|
||||||
|
@params[:controller]
|
||||||
|
end
|
||||||
|
|
||||||
|
def action
|
||||||
|
@params[:action]
|
||||||
|
end
|
||||||
|
|
||||||
|
def check_user_available_for
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
def display?
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,43 @@
|
||||||
|
module SideBarRenderer
|
||||||
|
include Renderer
|
||||||
|
include AdminHelper
|
||||||
|
|
||||||
|
def render(request,params,user)
|
||||||
|
@request = request
|
||||||
|
@params = params
|
||||||
|
@current_user = user
|
||||||
|
if display?
|
||||||
|
content_tag :li, :class => (module_sidebar_active? ? 'active' : nil) do
|
||||||
|
buf = link_to( content_tag(:i, nil, :class => @icon_class ) + content_tag(:span, I18n.t( @head_label )), eval(@head_link))
|
||||||
|
buf << content_tag( :ul, :class => ("nav nav-list active") )do # visible_for_controllers('bulletins', '/panel/announcement/back_end/tags', 'bulletin_categorys', 'approvals')||active_for_ob_auths_object("BulletinCategory"))
|
||||||
|
@context_links.sort_by! {| obj | obj.priority}.collect do |link|
|
||||||
|
link.render(request,params)
|
||||||
|
end.join.html_safe
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def display? #控制sidebar 要不要算圖
|
||||||
|
if is_manager? || is_admin? #如果是系統管理員 或 是模組管理員
|
||||||
|
true
|
||||||
|
elsif (@module_app.open rescue false) # 如果app 被設定成 開放
|
||||||
|
true
|
||||||
|
elsif is_member? #如果app 是封閉 那至少需要是 member
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def module_sidebar_active?
|
||||||
|
active_for_controller? or active_for_app_auth? or active_for_ob_auths?
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_for_controller?
|
||||||
|
@active_for_controllers.include? controller
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
|
@ -1,17 +0,0 @@
|
||||||
module OrbitApp
|
|
||||||
module Module
|
|
||||||
class BackendSideBar
|
|
||||||
attr_reader :name
|
|
||||||
|
|
||||||
def initialize(name, &block)
|
|
||||||
@name = name
|
|
||||||
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
|
||||||
end
|
|
||||||
|
|
||||||
# def personal_plugin(*args)
|
|
||||||
# binding.pry
|
|
||||||
# end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -33,11 +33,15 @@ module OrbitApp
|
||||||
|
|
||||||
def initialize(name, &block)
|
def initialize(name, &block)
|
||||||
@name = name
|
@name = name
|
||||||
|
@side_bar = nil
|
||||||
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
||||||
end
|
end
|
||||||
|
|
||||||
def plugin
|
def side_bar(&block)
|
||||||
|
@side_bar = SideBarRegisition::SideBar.new(&block)
|
||||||
|
@side_bar.module_app_key = @name
|
||||||
|
@side_bar.finalize!
|
||||||
|
OrbitApp::Module::SideBarRegisition.add(@side_bar)
|
||||||
end
|
end
|
||||||
|
|
||||||
def personal_plugin(params)
|
def personal_plugin(params)
|
||||||
|
|
|
@ -0,0 +1,151 @@
|
||||||
|
module OrbitApp
|
||||||
|
module Module
|
||||||
|
module SideBarRegisition
|
||||||
|
Version = "0.1"
|
||||||
|
|
||||||
|
module ClassMethods
|
||||||
|
@@side_bars = []
|
||||||
|
|
||||||
|
def add(var)
|
||||||
|
@@side_bars << var
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_by_key(key)
|
||||||
|
@@side_bars.each{|t|
|
||||||
|
return t if t.name == key
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
def all
|
||||||
|
return @@side_bars
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
extend ClassMethods
|
||||||
|
def self.included( other )
|
||||||
|
other.extend( ClassMethods )
|
||||||
|
end
|
||||||
|
|
||||||
|
class SideBar
|
||||||
|
# include ApplicationHelper
|
||||||
|
# include AdminHelper
|
||||||
|
include SideBarRenderer
|
||||||
|
# def is_admin?
|
||||||
|
# binding.pry
|
||||||
|
# end
|
||||||
|
# def is_manager?
|
||||||
|
# binding.pry
|
||||||
|
# end
|
||||||
|
def initialize( &block)
|
||||||
|
name = ''
|
||||||
|
@head_label = name
|
||||||
|
@context_links = []
|
||||||
|
@available_for = []
|
||||||
|
@active_for_controllers = []
|
||||||
|
@active_for_object_auth = []
|
||||||
|
@active_for_app_auth = []
|
||||||
|
@head_link = ""
|
||||||
|
@app_base_path = ''
|
||||||
|
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def module_app_key=(var)
|
||||||
|
@module_app_title = var
|
||||||
|
@module_app = ModuleApp.where(:title=>var).desc(:create_date).first
|
||||||
|
@module_app_key = @module_app.key
|
||||||
|
end
|
||||||
|
|
||||||
|
def head_label_i18n(var,optoins =nil)
|
||||||
|
@head_label = var
|
||||||
|
@icon_class = optoins[:icon_class]
|
||||||
|
end
|
||||||
|
|
||||||
|
def available_for(var)
|
||||||
|
@available_for = var
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_for_controllers(var)
|
||||||
|
@active_for_controllers = var
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_for_object_auth(var)
|
||||||
|
@active_for_object_auth = var
|
||||||
|
end
|
||||||
|
|
||||||
|
def head_link_path(var)
|
||||||
|
@head_link = var
|
||||||
|
end
|
||||||
|
|
||||||
|
def context_link(*var)
|
||||||
|
new_context_link = ContextLink.new(*var)
|
||||||
|
@context_links << new_context_link
|
||||||
|
end
|
||||||
|
|
||||||
|
def finalize!
|
||||||
|
set_controllers_scope
|
||||||
|
set_default_active_app_auth
|
||||||
|
@context_links.each do |t|
|
||||||
|
t.set_module_app = @module_app
|
||||||
|
t.finalize!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
def set_default_active_app_auth
|
||||||
|
@active_for_app_auth = @module_app.title
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_controllers_scope
|
||||||
|
var = @active_for_controllers
|
||||||
|
@active_for_controllers = []
|
||||||
|
var[:private].each do |controller|
|
||||||
|
@active_for_controllers << "panel/#{@module_app_key}/back_end/"+controller
|
||||||
|
end unless var[:private].nil?
|
||||||
|
var[:public].each do |controller|
|
||||||
|
@active_for_controllers << controller
|
||||||
|
end unless var[:public].nil?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class ContextLink
|
||||||
|
include ContextLinkRenderer
|
||||||
|
attr_reader :label_i18n,:available_for,:priority,:path,:active_for_action
|
||||||
|
|
||||||
|
def initialize(label_i18n="NoNameLink",options={})
|
||||||
|
@label_i18n = label_i18n
|
||||||
|
@available_for = options[:available_for]
|
||||||
|
@priority = options[:priority] || 0
|
||||||
|
@path = options[:link_path] || ""
|
||||||
|
@active_for_action = options[:active_for_action] || []
|
||||||
|
@active_for_object_auth = options[:active_for_object_auth] || []
|
||||||
|
@active_for_app_auth = options[:active_for_app_auth] || []
|
||||||
|
end
|
||||||
|
|
||||||
|
def active?
|
||||||
|
active_for_action? || active_for_app_auth? || active_for_ob_auths?
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_for_action?
|
||||||
|
@active_for_action[controller] == action
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_module_app=(var)
|
||||||
|
@module_app = var
|
||||||
|
@module_app_key = var.key
|
||||||
|
end
|
||||||
|
|
||||||
|
def finalize!
|
||||||
|
set_active_actions
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
def set_active_actions
|
||||||
|
controller_action_hash = @active_for_action
|
||||||
|
@active_for_action = Hash[controller_action_hash.map{|controller,action| ["panel/#{@module_app_key}/back_end/"+controller.to_s,action.to_s]}]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -10,8 +10,8 @@ module OrbitApp
|
||||||
@@registrations << DataSheet.new(name,&block)
|
@@registrations << DataSheet.new(name,&block)
|
||||||
end
|
end
|
||||||
|
|
||||||
def new_from_module_app(name,base_path,arg)
|
def new_from_module_app(name,base_path,*args)
|
||||||
@@registrations << DataSheet.new(name,arg,:base_path=>base_path)
|
@@registrations << DataSheet.new(name,args,:base_path=>base_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_by_key(key)
|
def find_by_key(key)
|
||||||
|
@ -35,14 +35,21 @@ module OrbitApp
|
||||||
attr_reader :name
|
attr_reader :name
|
||||||
attr_reader :base_path
|
attr_reader :base_path
|
||||||
|
|
||||||
|
def name
|
||||||
|
if @name.is_a? Proc
|
||||||
|
@name.call
|
||||||
|
else
|
||||||
|
@name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def initialize(name,partial=nil,*args ,&block)
|
def initialize(name,partial=nil,*args ,&block)
|
||||||
@base_path = args[0][:base_path]
|
@base_path = args[0][:base_path]
|
||||||
@name = name
|
@name = partial[0][:i18n].nil? ? name : lambda{ I18n.t(partial[0][:i18n]) }
|
||||||
@partial_path = ''
|
@partial_path = ''
|
||||||
|
|
||||||
unless partial.nil?
|
unless partial.nil?
|
||||||
@partial_path = partial[:path]
|
@partial_path = partial[0][:path]
|
||||||
end
|
end
|
||||||
|
|
||||||
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
||||||
|
|
|
@ -7,7 +7,7 @@ module OrbitApp
|
||||||
|
|
||||||
def new( name ,&block)
|
def new( name ,&block)
|
||||||
@@summaries << Item.new(name,&block)
|
@@summaries << Item.new(name,&block)
|
||||||
binding.pry
|
# binding.pry
|
||||||
end
|
end
|
||||||
|
|
||||||
def all
|
def all
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendController
|
class Panel::Announcement::BackEnd::BulletinCategorysController < OrbitBackendController
|
||||||
include OrbitControllerLib::DivisionForDisable
|
include OrbitControllerLib::DivisionForDisable
|
||||||
before_filter :for_app_manager,:except => [:index]
|
before_filter :for_app_manager,:except => [:index]
|
||||||
|
before_filter :set_module_app
|
||||||
|
|
||||||
|
def set_module_app
|
||||||
|
@module_app = ModuleApp.where(:title=>'Announcement').first
|
||||||
|
end
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@bulletin_categorys = get_categories_for_index("BulletinCategory")
|
@bulletin_categorys = get_categories_for_index("BulletinCategory")
|
||||||
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
#TODO 需要做 manager ,admin 才可以 all. 其他 available就好
|
||||||
|
|
|
@ -2,24 +2,50 @@ module Announcement
|
||||||
OrbitApp.registration "Announcement",:type=> 'ModuleApp' do
|
OrbitApp.registration "Announcement",:type=> 'ModuleApp' do
|
||||||
|
|
||||||
base_url File.expand_path File.dirname(__FILE__)
|
base_url File.expand_path File.dirname(__FILE__)
|
||||||
personal_plugin :enable => true,:path=>"panel/announcement/plugin/profile"
|
personal_plugin :enable => true,:path=>"panel/announcement/plugin/profile",:i18n=>'admin.announcement'
|
||||||
|
|
||||||
|
side_bar do
|
||||||
|
head_label_i18n 'admin.announcement',:icon_class=>"icons-announcement"
|
||||||
|
available_for [:admin,:guest,:manager,:sub_manager]
|
||||||
|
active_for_controllers ({:private=>['bulletins', 'bulletin_categorys', 'approvals','tags']})
|
||||||
|
active_for_object_auth ['BulletinCategory']
|
||||||
|
|
||||||
|
head_link_path "panel_announcement_back_end_bulletins_path"
|
||||||
|
|
||||||
|
context_link 'announcement.all_articles',
|
||||||
|
:link_path=>"panel_announcement_back_end_bulletins_path" ,
|
||||||
|
:priority=>1,
|
||||||
|
:active_for_action=>{:bulletins=>:index}
|
||||||
|
|
||||||
|
context_link 'announcement.add_new',
|
||||||
|
:link_path=>"new_panel_announcement_back_end_bulletin_path" ,
|
||||||
|
:priority=>2,
|
||||||
|
:active_for_action=>{:bulletins=>:new},
|
||||||
|
:available_for => [:manager]
|
||||||
|
|
||||||
|
context_link 'announcement.categories',
|
||||||
|
:link_path=>"panel_announcement_back_end_bulletin_categorys_path" ,
|
||||||
|
:priority=>3,
|
||||||
|
:active_for_action=>{:bulletin_categorys=>:index},
|
||||||
|
:available_for => [:manager]
|
||||||
|
|
||||||
|
context_link 'announcement.tags',
|
||||||
|
:link_path=>"panel_announcement_back_end_tags_path" ,
|
||||||
|
:priority=>4,
|
||||||
|
:active_for_action=>{:bulletin_categorys=>:index},
|
||||||
|
:available_for => [:manager]
|
||||||
|
|
||||||
|
context_link 'announcement.approval_setting',
|
||||||
|
:link_path=>"panel_announcement_back_end_approval_setting_path" ,
|
||||||
|
:priority=>5,
|
||||||
|
:active_for_object_auth => 'BulletinCategory',
|
||||||
|
:available_for => [:manager]
|
||||||
|
|
||||||
|
context_link 'admin.module.authorization',
|
||||||
|
:link_path=>"admin_module_app_manager_auth_proc_path(ModuleApp.first(conditions: {title: 'Announcement'}))",
|
||||||
|
:priority=>6,
|
||||||
|
:active_for_app_auth => 'Announcement',
|
||||||
|
:available_for => [:manager]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# OrbitApp.backend_side_bar 'News' do
|
|
||||||
|
|
||||||
# block :available_for => [:admin,:guest,:manager,:sub_manager],
|
|
||||||
# :active_for_controllers=> ['news_bulletins', '/panel/news/back_end/tags', 'news_bulletin_categorys', 'news_approvals'],
|
|
||||||
# :active_for_ob_auths_object => ['NewsBulletinCategory'],
|
|
||||||
# :head_link => panel_news_back_end_news_bulletins_path ,
|
|
||||||
# :head_label=> I18n.t('admin.news')
|
|
||||||
|
|
||||||
# context_link :link=>new_panel_news_back_end_news_bulletin_path ,
|
|
||||||
# :priority=>1,:label=>I18n.t('announcement.add_new'),
|
|
||||||
# :active_for_action=>{:news_bulletins=>:new}
|
|
||||||
|
|
||||||
# end
|
|
Reference in New Issue