fixing for app_auth

This commit is contained in:
Matthew Fu committed 2012-01-05 16:20:51 +08:00
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
View File
@@ -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
+4
View File
@@ -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
+4 -1
View File
@@ -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
+1 -1
View File
@@ -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 -1
View File
@@ -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 } %>