merge with november_presentation

This commit is contained in:
chris2tof committed 2011-12-20 16:47:17 +08:00
1 parent afbffe37d5
commit a09f8e4551
101 files changed
+891 -10632

No files matched your search

+77
View File
@@ -0,0 +1,77 @@
class AppAuth
include Mongoid::Document
include Mongoid::Timestamps
# after_save :update_block_list,:update_privilage_list
field :title
field :token
field :all ,type: Boolean,default: false
belongs_to :module_app
belongs_to :users
# belongs_to :users,as: :block_users, :inverse_of => :privilege_apps
has_and_belongs_to_many :blocked_users, :inverse_of => nil, :class_name => "User"
has_and_belongs_to_many :privilege_users, :inverse_of => nil, :class_name => "User"
has_and_belongs_to_many :roles
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
end
def remove_user_from_black_list user
if self.blocked_users.include? user
self.blocked_users.delete user
self.save!
else
false #should put error message for user not existed in list
end
end
def add_user_to_privilege_list user
unless self.privilege_users.include? user
self.privilege_users << user
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
end
ary << self.privilege_users
ary.flatten!
end
end
def auth_users_after_block_list
auth_users - self.blocked_users
end
# protected
end
+5 -1
View File
@@ -2,7 +2,7 @@ class ModuleApp
include Mongoid::Document
include Mongoid::Timestamps
field :name_of_app
field :title
field :version
field :organization
field :author
@@ -10,4 +10,8 @@ class ModuleApp
field :update_info
field :create_date
field :app_pages ,type: Array
has_one :app_auth,dependent: :delete
end
+2
View File
@@ -1,10 +1,12 @@
class Page < Item
field :content
field :app_frontend_url
field :theme_id, :type => BSON::ObjectId, :default => nil
belongs_to :design
has_many :page_parts
belongs_to :module_app
embeds_many :custom_images, as: :design_image
+4
View File
@@ -9,4 +9,8 @@ class Purchase
field :downloaded, :type => Boolean
field :download_date, :type => Date
field :type
field :app_controller
has_many :app_auths
end
+7
View File
@@ -11,10 +11,17 @@ class User
field :active_role
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"
has_many :privilege_apps, :inverse_of => :privilege_users, :class_name => "AppAuth"
belongs_to :role
has_and_belongs_to_many :sub_roles
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)
end
def name
info = Class::Info.first(:conditions => {:key => 'profile'})
if info