New Interface for App Auth and Object Auth

This commit is contained in:
Matthew K. Fu JuYuan committed 2012-05-11 16:44:40 +08:00
1 parent cb25cf60a9
commit 20a1a6e30f
23 files changed
+442 -14

No files matched your search

@@ -0,0 +1,66 @@
class Admin::ModuleAppsNewInterfaceController < ApplicationController
before_filter :authenticate_user!
before_filter :is_admin?
include AdminHelper
layout "new_admin"
def setting
@sys_users = User.all(conditions: {admin: false})
@module_app = ModuleApp.find(params[:module_app_id])
@options_from_collection_for_select_bulletin_categorys = [@module_app].collect{|ma| [ma.title,ma.id] }
# if params.has_key? :category
# @bulletin_category = BulletinCategory.find params[:category][:id]
# else
# @bulletin_category = @bulletin_categorys.first
# end
@users_array = @module_app.managing_users rescue []
respond_to do |format|
format.html
format.js
end
end
def update_setting
module_app = update_setting_by_params
if module_app.save!
flash[:notice] = "Update Done"
else
flash[:notice] = "Update Failed"
end
end
def user_list
@module_app = ModuleApp.find params[:module_app][:id]
end
protected
def update_setting_by_params
ma = ModuleApp.find params[:module_app][:id]
user_sat = User.find params[:users].keys
users_to_new = user_sat - ma.managing_users
users_to_remove = ma.managing_users - user_sat
users_to_new.each do |new_user|
ma.assign_manager(new_user,current_user)
end
users_to_remove.each do |remove_user|
ma.remove_manager(remove_user)
end
ma
end
def get_categorys(id = nil)
@bulletin_categorys = []
if(is_manager? || is_admin?)
@bulletin_categorys = (id ? BulletinCategory.find(id).to_a : BulletinCategory.excludes('disabled' => true))
elsif is_sub_manager?
@bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
end
end
end
@@ -0,0 +1,71 @@
class Admin::ObjectAuthsNewInterfaceController < ApplicationController
include OrbitCoreLib::PermissionUnility
layout "new_admin"
before_filter :force_order
layout "new_admin"
def setting
@sys_users = User.all(conditions: {admin: false})
@ob_auth = ObjectAuth.find params[:object_auth_id]
@options_from_collection_for_select_ob_auth = [@ob_auth].collect{|oa| [oa.auth_obj.pp_object,oa.id] }
@users_array = @ob_auth.privilege_users rescue []
respond_to do |format|
format.html
format.js
end
end
def update_setting
ob_auth = update_setting_by_params
if ob_auth.save!
flash[:notice] = t("admin.object_auth.update_done")
else
flash[:notice] = t("admin.object_auth.update_failed")
end
end
def user_list
@ob_auth = ObjectAuth.find params[:ob_auth][:id]
end
protected
def update_setting_by_params
oa = ObjectAuth.find params[:ob_auth][:id]
user_sat = User.find params[:users].keys
users_to_new = user_sat - oa.auth_users
users_to_remove = oa.auth_users - user_sat
users_to_new.each do |new_user|
oa.add_user_to_privilege_list(new_user)
end
users_to_remove.each do |remove_user|
oa.remove_user_from_privilege_list(remove_user)
end
oa
end
# def get_categorys(id = nil)
# @bulletin_categorys = []
# if(is_manager? || is_admin?)
# @bulletin_categorys = (id ? BulletinCategory.find(id).to_a : BulletinCategory.excludes('disabled' => true))
# elsif is_sub_manager?
# @bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
# end
# end
def force_order
authenticate_user!
check_if_user_can_do_object_auth
end
def check_if_user_can_do_object_auth
unless check_permission(:manager)
render :nothing => true, :status => 403
end
end
end