ModuleApp registration frontend enable and data count

This commit is contained in:
manson 2014-05-13 18:41:29 +08:00
parent 9987e4290b
commit 64197e29da
3 changed files with 29 additions and 3 deletions

View File

@ -131,14 +131,14 @@ class PagesController < ApplicationController
def new
@page = Page.new
@pages = Page.where(:page_id.ne => "" , :page_id.exists => true)
@modules = ModuleApp.all
@modules = ModuleApp.all.frontend_enabled
end
def edit
@page = Page.find(params[:id])
@pages = Page.where(:page_id.ne => "" , :page_id.exists => true)
@modules = ModuleApp.all
@modules = ModuleApp.all.frontend_enabled
module_app = ModuleApp.find_by_key(@page.module);
@categories = module_app.categories
end

View File

@ -7,6 +7,7 @@ class ModuleApp
field :taggable, type: Boolean, default: false
field :categorizable, type: Boolean, default: false
field :authorizable, type: Boolean, default: false
field :frontend_enable, type: Boolean, default: false
field :sidebar_order,type: Integer,default: 0
field :authorizable_models, type: Array
@ -14,11 +15,14 @@ class ModuleApp
has_and_belongs_to_many :tags, dependent: :destroy, :autosave => true
has_many :authorizations
scope :frontend_enabled, ->{ where(:frontend_enable => true)}
def refetch_setting!(reg)
self[:taggable] = reg.is_taggable
self[:categorizable] = reg.is_categorizable
self[:authorizable] = reg.is_authorizable
self[:authorizable_models] = reg.get_authorizable_models
self[:frontend_enable] = reg.is_frontend_enabled
end
def get_registration
@ -77,4 +81,8 @@ class ModuleApp
users_authorized_by_role = authorized_members.map {|u| u.user} rescue []
authorized_users.inject(users_authorized_by_role, :<<) rescue []
end
def data_count
get_registration.get_data_count
end
end

View File

@ -31,7 +31,7 @@ module OrbitApp
end
class RegisteredModule
attr_reader :name,:key,:module_label,:widget_methods,:authorizable_models,:is_authorizable
attr_reader :name,:key,:module_label,:widget_methods,:authorizable_models,:is_authorizable, :data_count
def initialize(name,&block)
@name = name
@ -44,6 +44,8 @@ module OrbitApp
@is_authorizable = false
@taggable_model = nil
@is_categorizable = false
@is_frontend_enabled = false
@data_count = nil
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
setup_module_app
end
@ -127,6 +129,22 @@ module OrbitApp
def get_authorizable_models
@authorizable_models
end
def frontend_enabled
@is_frontend_enabled = true
end
def is_frontend_enabled
@is_frontend_enabled
end
def data_count(range)
@data_count = range
end
def get_data_count
@data_count
end
end
end
end