Merge branch 'ldap' of github.com:Rulingcom/orbit into ldap
This commit is contained in:
		
						commit
						f8baa9e26c
					
				|  | @ -1,4 +1,4 @@ | |||
| class Admin::ObjectAuthsNewInterfaceController < ApplicationController | ||||
| class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController | ||||
|   include OrbitCoreLib::PermissionUnility | ||||
|   layout "new_admin" | ||||
|   before_filter :force_order | ||||
|  | @ -33,8 +33,9 @@ class Admin::ObjectAuthsNewInterfaceController < ApplicationController | |||
| 
 | ||||
|   protected | ||||
|   def update_setting_by_params | ||||
|     user_sat = [] | ||||
|     oa = ObjectAuth.find params[:ob_auth][:id] | ||||
|     user_sat = User.find params[:users].keys | ||||
|     user_sat += User.find params[:users].keys if params.has_key? :users | ||||
|     users_to_new = user_sat - oa.auth_users | ||||
|     users_to_remove = oa.auth_users - user_sat | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,6 +8,10 @@ class ApplicationController < ActionController::Base | |||
|   helper :all | ||||
|   before_filter :set_locale, :set_site | ||||
| 
 | ||||
|   def set_current_user | ||||
|     User.current = current_user | ||||
|   end | ||||
| 
 | ||||
|   def front_end_available(module_app_title='') | ||||
|     app_controller = ModuleApp.first(conditions: {:key => module_app_title} ) | ||||
|     unless app_controller.enable_frontend?  | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ class OrbitBackendController< ApplicationController | |||
|    | ||||
|   def setup_vars | ||||
|     @app_title = request.fullpath.split('/')[2] | ||||
|     @app_title = request.fullpath.split('/')[1] if(@app_title == "back_end")  | ||||
|     @module_app = ModuleApp.first(conditions: {:key => @app_title} ) | ||||
|   end | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,18 @@ | |||
| module Admin::PageContentHelper | ||||
| include ActionView::Helpers::UrlHelper | ||||
| 
 | ||||
|    | ||||
|   def show_page_context_edit_auth_link(page_context) | ||||
|     type = 'Edit' | ||||
| # debugger | ||||
| #     a=1 | ||||
|     oa = page_context.get_object_auth_by_title(type) | ||||
|     if oa.nil? | ||||
|       page_context.object_auths.new(title: type ).save rescue | ||||
|       oa = page_context.get_object_auth_by_title(type) | ||||
|     end | ||||
| #    link_to t('announcement.bulletin.cate_auth'), edit_admin_object_auth_path(oa) | ||||
|      link_to t('admin.page_context.ob_auth.edit'),admin_object_auth_ob_auth_path(oa) | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | @ -1,4 +1,5 @@ | |||
| class AdBanner | ||||
|   include OrbitCoreLib::ObjectAuthable | ||||
|   include Mongoid::Document | ||||
|   include Mongoid::Timestamps | ||||
|   include Mongoid::MultiParameterAttributes | ||||
|  | @ -14,6 +15,15 @@ class AdBanner | |||
|    | ||||
|   FX_TYPES = ["blindX","blindY","blindZ","cover","curtainX","curtainY","fade","fadeZoom","growX","growY","scrollUp","scrollDown","scrollLeft","scrollRight","scrollHorz","scrollVert","shuffle","slideX","slideY","toss","turnUp","turnDown","turnLeft","turnRight","uncover","wipe","zoom"] | ||||
| attr_writer :transition_sec | ||||
| 
 | ||||
|   AfterObjectAuthUrl = '/panel/page_content/back_end/page_contexts' | ||||
|   APP_NAME = 'ad_banners' | ||||
|   ObjectAuthTitlesOptions = %W{edit} | ||||
|    | ||||
|   def pp_object | ||||
|     title | ||||
|   end | ||||
| 
 | ||||
|   def transition_sec | ||||
|     self.transition_msec/1000 rescue nil | ||||
|   end | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ class ObjectAuth  < PrototypeAuth | |||
|   include OrbitCoreLib::ObjectTokenUnility | ||||
|   validates_uniqueness_of :title ,:scope => [:obj_authable_type,:obj_authable_id]  #{ |c| } | ||||
|   belongs_to :obj_authable, polymorphic: true | ||||
|   after_save :check_user_has_app_auth | ||||
|   # > - Something.find_with_auth(query) | ||||
|   # > - or Something.find(query).auth | ||||
|   def auth_obj | ||||
|  | @ -9,4 +10,15 @@ class ObjectAuth  < PrototypeAuth | |||
|     class_obj.find self.obj_authable_id | ||||
|   end | ||||
| 
 | ||||
|   def check_user_has_app_auth | ||||
|     sub_managing_users = auth_obj.app_auth.sub_managing_users | ||||
|     app_auth =  auth_obj.app_auth | ||||
|     self.auth_users.each do |auth_user| | ||||
|       if !sub_managing_users.include? auth_user && !auth_user.admin? | ||||
|          app_auth.assign_sub_manager(auth_user,User.current) | ||||
|          app_auth.save! | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | @ -22,6 +22,14 @@ class User | |||
|   has_and_belongs_to_many :sub_roles | ||||
|   accepts_nested_attributes_for :attribute_values, :allow_destroy => true | ||||
| 
 | ||||
|   def self.current | ||||
|     Thread.current[:user] | ||||
|   end | ||||
| 
 | ||||
|   def self.current=(user) | ||||
|      Thread.current[:user] = user | ||||
|   end | ||||
|    | ||||
|   scope :remote_account, where(:nccu_id.ne => nil) | ||||
|    | ||||
|    | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ | |||
| <div class="clear"> | ||||
| <%= content_tag :div do -%> | ||||
| 	<% form_tag admin_object_auth_ob_auth_path  do %> | ||||
| 		<%#= render :partial => "privilege_user", :locals => {:users => @users_array} %> | ||||
| 		<%= render :partial => "privilege_user", :locals => {:users => @users_array} %> | ||||
| 	<div class="form-actions form-fixed pagination-right"> | ||||
| 	<%= submit_tag "Update", :class => 'btn btn-primary' %> | ||||
| 	</div> | ||||
|  |  | |||
|  | @ -205,6 +205,10 @@ zh_tw: | |||
|     options: 選項 | ||||
|     orig_upload_file: 原上傳檔名 | ||||
|     page: 頁面管理 | ||||
|     page_context: | ||||
|       edit: 編輯 | ||||
|       ob_auth: | ||||
|         edit: 分類授權 | ||||
|     page_part_kinds: | ||||
|       text: 文字區塊 | ||||
|       public_r_tag: 系統模塊 | ||||
|  |  | |||
|  | @ -19,6 +19,10 @@ module  OrbitCoreLib | |||
|          | ||||
|     end | ||||
|      | ||||
|     def app_auth | ||||
|        ModuleApp.first(conditions: {:title => self.class::APP_NAME} ) | ||||
|     end | ||||
| 
 | ||||
|     def pp_object | ||||
|       "Object Auth method 'pp_object' need to be defined for class #{self.class}" | ||||
|     end | ||||
|  | @ -67,6 +71,7 @@ module  OrbitCoreLib | |||
|   module PermissionUnility | ||||
|   private | ||||
|     def check_permission(type = :use) | ||||
|       setup_vars | ||||
|       permission_grant =  current_user.admin?? true : false | ||||
|       module_app = @module_app.nil?? find_module_app_by_token(params[:token]) : @module_app | ||||
|       unless permission_grant | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ class BulletinCategory | |||
|   # include Mongoid::MultiParameterAttributes | ||||
|    | ||||
|   PAYMENT_TYPES = [ "List", "Picture" ] | ||||
|    | ||||
|   APP_NAME = 'Announcement' | ||||
|   field :key | ||||
|   field :display | ||||
|    | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ class NewsBulletinCategory | |||
|   # include Mongoid::MultiParameterAttributes | ||||
|    | ||||
|   PAYMENT_TYPES = [ "List", "Picture" ] | ||||
|   APP_NAME = 'news' | ||||
| 
 | ||||
|   field :key | ||||
|   field :display | ||||
|  |  | |||
|  | @ -1,7 +1,8 @@ | |||
| class Panel::PageContent::BackEnd::PageContextsController < OrbitBackendController | ||||
|    | ||||
|   before_filter :authenticate_user! | ||||
|   before_filter :is_admin? | ||||
|   before_filter :for_app_manager,:except => [:index,:edit,:update,:view,:show]  | ||||
|   before_filter :for_app_sub_manager,:only => [:edit,:update,:view,:show] | ||||
|    :authenticate_user! | ||||
|   #before_filter :is_admin? | ||||
| 
 | ||||
|   def index | ||||
| 	 | ||||
|  |  | |||
|  | @ -5,6 +5,8 @@ class PageContext | |||
|   include Mongoid::Timestamps | ||||
|   include Mongoid::MultiParameterAttributes | ||||
| 
 | ||||
|   include OrbitCoreLib::ObjectAuthable | ||||
| 
 | ||||
|    | ||||
|   has_one :context, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy | ||||
| 
 | ||||
|  | @ -17,6 +19,14 @@ class PageContext | |||
|    | ||||
|   belongs_to :page | ||||
| 
 | ||||
|   AfterObjectAuthUrl = '/panel/page_content/back_end/page_contexts' | ||||
|   APP_NAME = 'page_content' | ||||
|   ObjectAuthTitlesOptions = %W{Edit} | ||||
|    | ||||
|   def pp_object | ||||
|     page.i18n_variable[I18n.locale] | ||||
|   end | ||||
| 
 | ||||
|   def is_top? | ||||
|     self.is_top | ||||
|   end | ||||
|  |  | |||
|  | @ -4,11 +4,20 @@ | |||
| 					<%= page_context.page.path %> | ||||
| 					<div class="quick-edit"> | ||||
| 						<ul class="nav nav-pills hide"> | ||||
| 							<li><%= link_to t('page_context.edit'), edit_panel_page_content_back_end_page_context_path(page_context) %></li> | ||||
| 							<%if is_manager? || is_admin? ||  page_context.authed_users(:edit).include?(current_user)%> | ||||
| 							<li><%= link_to t('admin.page_context.edit'), edit_panel_page_content_back_end_page_context_path(page_context) %></li> | ||||
| 							<%if (is_manager? || is_admin?) %> | ||||
| 								<li><%=show_page_context_edit_auth_link page_context%></li> | ||||
| 							<% end%> | ||||
| 							<% end -%> | ||||
| 						</ul> | ||||
| 					</div> | ||||
| 				</td> | ||||
| 				<td><%= link_to page_context.version, panel_page_content_back_end_view_path(page_context.page_id) %></td> | ||||
| 				<td> | ||||
| 					<%if is_manager? || is_admin? ||  page_context.authed_users(:edit).include?(current_user)%> | ||||
| 						<%= link_to page_context.version, panel_page_content_back_end_view_path(page_context.page_id) %> | ||||
| 					<%end -%> | ||||
| 				</td> | ||||
| 				<td><%= page_context.updated_at.strftime("%Y-%m-%d %H:%I:%S") %></td> | ||||
| 				<td><%= User.find(page_context.create_user_id).name %></td> | ||||
| 			</tr> | ||||
		Loading…
	
		Reference in New Issue