fixing for app_auth
This commit is contained in:
1 parent
d3ca1647be
commit
7b40706aed
9 files changed
+225
-112
No files matched your search
@@ -4,7 +4,7 @@ class Admin::AppAuthsController < ApplicationController
|
||||
before_filter :is_admin?
|
||||
|
||||
def index
|
||||
@user_roles = UserRole.all.entries
|
||||
@roles = Role.all.entries
|
||||
apps = Purchase.where(:type =>"App")
|
||||
@app_auth_data = apps.entries.map do |app|
|
||||
app_c = eval(app.app_controller)
|
||||
|
||||
@@ -5,6 +5,13 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
helper :all
|
||||
before_filter :set_locale, :set_site
|
||||
|
||||
def front_end_available(module_app_title='')
|
||||
app_controller = ModuleApp.first(conditions: {:title => module_app_title} )
|
||||
unless app_controller.enable_frontend?
|
||||
render :text => 'View not available'
|
||||
end
|
||||
end
|
||||
|
||||
def get_all_app_engines
|
||||
ary = ["vender/plugins/NewBlog"]
|
||||
|
||||
+44
-27
@@ -15,55 +15,72 @@ class AppAuth
|
||||
|
||||
|
||||
has_and_belongs_to_many :roles
|
||||
has_and_belongs_to_many :sub_roles
|
||||
|
||||
attr_protected :roles,:sub_roles,:privilege_users,:blocked_users,:users
|
||||
|
||||
def add_role role
|
||||
add_operation(:roles,role)
|
||||
end
|
||||
|
||||
def add_sub_role role
|
||||
add_operation(:sub_roles,role)
|
||||
end
|
||||
|
||||
def remove_role role
|
||||
remove_operation(:roles,role)
|
||||
end
|
||||
|
||||
def remove_sub_role role
|
||||
remove_operation(:sub_roles,role)
|
||||
end
|
||||
|
||||
def add_user_to_black_list user
|
||||
unless self.blocked_users.include?(user)
|
||||
self.blocked_users << user
|
||||
self.save!
|
||||
else
|
||||
false #should put error message for user existed in list already
|
||||
end
|
||||
add_operation(:blocked_users,user)
|
||||
end
|
||||
|
||||
|
||||
def remove_user_from_black_list user
|
||||
if self.blocked_users.include? user
|
||||
self.blocked_users.delete user
|
||||
remove_operation(:blocked_users,user)
|
||||
end
|
||||
|
||||
def add_user_to_privilege_list user
|
||||
add_operation(:privilege_users,user)
|
||||
end
|
||||
|
||||
def remove_user_from_privilege_list user
|
||||
remove_operation(:privilege_users,user)
|
||||
end
|
||||
|
||||
def remove_operation(item,obj)
|
||||
if (self.send item).include? obj
|
||||
(self.send item).delete obj
|
||||
self.save!
|
||||
else
|
||||
false #should put error message for user not existed in list
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def add_user_to_privilege_list user
|
||||
unless self.privilege_users.include? user
|
||||
self.privilege_users << user
|
||||
def add_operation(item,obj)
|
||||
unless (self.send item).include?(obj)
|
||||
(self.send item) << obj
|
||||
self.save!
|
||||
else
|
||||
false #should put error message for user existed in list already
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def remove_user_from_privilege_list user
|
||||
if self.privilege_users.include? user
|
||||
self.privilege_users.delete user
|
||||
self.save!
|
||||
else
|
||||
false #should put error message for user not existed in list
|
||||
end
|
||||
end
|
||||
|
||||
def auth_users
|
||||
if self.all?
|
||||
User.all.entries
|
||||
else
|
||||
ary= self.roles.collect do |role|
|
||||
role.users
|
||||
ary=[]
|
||||
[:roles,:sub_roles].each do |t_role|
|
||||
ary += (self.send t_role).collect do |role|
|
||||
role.users
|
||||
end
|
||||
end
|
||||
ary << self.privilege_users
|
||||
ary.flatten!
|
||||
ary.flatten!.uniq
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -9,9 +9,13 @@ class ModuleApp
|
||||
field :intro
|
||||
field :update_info
|
||||
field :create_date
|
||||
field :enable_frontend,type: Boolean
|
||||
|
||||
field :app_pages ,type: Array
|
||||
field :widgets ,type: Array
|
||||
|
||||
has_one :app_auth,dependent: :delete
|
||||
|
||||
|
||||
|
||||
end
|
||||
@@ -19,7 +19,10 @@ class User
|
||||
accepts_nested_attributes_for :attribute_values, :allow_destroy => true
|
||||
|
||||
def avb_apps
|
||||
query = AppAuth.any_of({all: true},{privilege_user_ids: self.id},{roles: self.role.id}).excludes(blocked_user_ids: self.id)
|
||||
sub_role_ids_ary=self.sub_roles.collect{|t| t.id}
|
||||
query1 = AppAuth.any_in({sub_role_ids: sub_role_ids_ary}).excludes(blocked_user_ids: self.id)
|
||||
query2 = AppAuth.any_of({all: true},{privilege_user_ids: self.id},{role_ids: self.role.id}).excludes(blocked_user_ids: self.id)
|
||||
(query1 + query2).uniq
|
||||
end
|
||||
|
||||
def name
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<%= f.hidden_field :to_save, :value => true %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= File.basename (@design.default_css.file.url) %>
|
||||
<%= File.basename (@design.default_css.file.url) rescue "" %>
|
||||
<% end %>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<h1><%= t('admin.new_design') %></h1>
|
||||
|
||||
<%= form_for :design, :url => admin_designs_path do |f| %>
|
||||
<%= form_for @design, :url => admin_design_path(@design),:html => {:multipart => true} do |f| %>
|
||||
<%= f.error_messages %>
|
||||
<%= render :partial => "form", :locals => { :f => f } %>
|
||||
|
||||
|
||||
Reference in new issue
Block a user