55 lines
1.2 KiB
Ruby
55 lines
1.2 KiB
Ruby
class OrbitBackendController < ApplicationController
|
|
include OrbitCategory::Categorizing
|
|
include OrbitCoreLib::AppBackendUtility
|
|
include OrbitCoreLib::PermissionUtility
|
|
include OrbitTag::Tagging
|
|
include AdminHelper
|
|
include ApplicationHelper
|
|
|
|
helper :default_index
|
|
|
|
layout "back_end"
|
|
|
|
def setup_vars
|
|
@app_title ||= controller_path.split('/')[1].singularize
|
|
@module_app ||= ModuleApp.first(conditions: {:key => @app_title} )
|
|
raise ModuleAppError, 'Can not find ModuleApp' if @module_app.nil?
|
|
end
|
|
|
|
def get_statuses
|
|
status = []
|
|
status << 'is_top'
|
|
status << 'is_hot'
|
|
status << 'is_hidden' unless is_guest?
|
|
if @module_app.is_approvable && is_manager?
|
|
status << 'is_pending'
|
|
status << 'is_checked'
|
|
status << 'is_rejected'
|
|
end
|
|
status
|
|
end
|
|
|
|
private
|
|
|
|
def force_order_for_visitor
|
|
check_backend_openness
|
|
setup_vars
|
|
set_current_user
|
|
end
|
|
|
|
|
|
def force_order_for_user
|
|
setup_vars
|
|
set_current_user
|
|
authenticate_user!
|
|
check_user_can_use
|
|
end
|
|
|
|
def check_user_can_use
|
|
unless check_permission
|
|
#redirect_to polymorphic_path(['panel',@app_title,'back_end','public'])
|
|
redirect_to root_url
|
|
end
|
|
end
|
|
end
|