cache privilege user list.
This commit is contained in:
parent
75b67dddf5
commit
1f1868a75f
|
@ -4,7 +4,7 @@ class Admin::ObjectAuthsNewInterfaceController < OrbitBackendController
|
|||
|
||||
|
||||
def setting
|
||||
@sys_users = User.all(conditions: {admin: false})
|
||||
@sys_users = User.all(conditions: {admin: false}).includes(:avatar)
|
||||
@ob_auth = ObjectAuth.find params[:object_auth_id]
|
||||
@options_from_collection_for_select_ob_auth = [@ob_auth].collect{|oa| [oa.auth_obj.pp_object,oa.id] }
|
||||
@users_array = @ob_auth.privilege_users rescue []
|
||||
|
|
|
@ -2,7 +2,7 @@ class User
|
|||
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
|
||||
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :registerable
|
||||
|
||||
mount_uploader :avatar, AvatarUploader
|
||||
|
@ -10,6 +10,10 @@ class User
|
|||
field :admin, :type => Boolean, :default => true
|
||||
field :active_role
|
||||
|
||||
# field :cache_dept
|
||||
# has_one :cache_dept, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
field :cache_dept,type: Hash
|
||||
|
||||
has_many :attribute_values, :autosave => true, :dependent => :destroy
|
||||
has_many :app_auths,as: :privilege_apps,:inverse_of => :privilege_lists
|
||||
has_many :blocked_apps, :inverse_of => :blocked_users, :class_name => "AppAuth"
|
||||
|
@ -21,6 +25,22 @@ class User
|
|||
has_and_belongs_to_many :sub_roles
|
||||
accepts_nested_attributes_for :attribute_values, :allow_destroy => true
|
||||
|
||||
def create_dept_cache
|
||||
dept_hash = {}
|
||||
|
||||
VALID_LOCALES.each do |loc|
|
||||
locale = loc.to_sym
|
||||
# debugger
|
||||
# if(self.cache_dept.nil?)
|
||||
# self.build_cache_dept key: "dept_cache_user_#{self.id}"
|
||||
# end
|
||||
dept_hash[locale] = sub_roles.collect{|sr| sr.i18n_variable[locale]}.join(',')
|
||||
# self.cache_dept[locale] = sub_roles.collect{|sr| sr.i18n_variable[locale]}.join(',')
|
||||
end
|
||||
self.cache_dept = dept_hash
|
||||
self.save!
|
||||
end
|
||||
|
||||
def self.current
|
||||
Thread.current[:user]
|
||||
end
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
<%= content_tag :div ,:id => "users_checkbox_ary",:class => 'clear' do -%>
|
||||
<% @sys_users.each do |sys_user| -%>
|
||||
|
||||
<div class="checkblock">
|
||||
|
||||
<% sys_user.sub_roles.each do |sr| %>
|
||||
<div class="for_unit" style="display:none;"> <%= sr.key %></div>
|
||||
<% end %>
|
||||
<%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => "#{sys_user.sub_roles.collect{|sr| sr.i18n_variable[I18n.locale]}.join(',')}"},:class=>"checkbox clear" do %>
|
||||
<%= content_tag :div ,:id => "users_checkbox_ary",:class => 'clear' do %>
|
||||
<% @sys_users.each do |sys_user| %>
|
||||
<div class="checkblock">
|
||||
<div class="for_unit" style="display:none;"> <%= sys_user.cache_dept[I18n.locale.to_s] %></div>
|
||||
<%= content_tag :div,:data=>{'original-title'=>t('announcement.bulletin.approval_setting_window_title'),:content => sys_user.cache_dept[I18n.locale.to_s]},:class=>"checkbox clear" do %>
|
||||
<div class="check-icon">
|
||||
</div>
|
||||
<div class='member-avatar'>
|
||||
|
@ -18,8 +14,7 @@
|
|||
</div>
|
||||
<%= label_tag "lab-user-#{sys_user.id}", (sys_user.name rescue ''),:class=>"member-name",:id=>nil -%>
|
||||
<%= check_box_tag "[users][#{sys_user.id}]", 'true',users.include?(sys_user),:class => "check" -%>
|
||||
<%end -%>
|
||||
<%end %>
|
||||
</div>
|
||||
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% end %>
|
||||
<% end %>
|
Loading…
Reference in New Issue