85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| class Admin::ModuleAppsNewInterfaceController < OrbitBackendController
 | |
|   before_filter :check_auth
 | |
|   # before_filter :authenticate_user!
 | |
|   # before_filter :is_admin?
 | |
|   include AdminHelper
 | |
| 
 | |
|   def index
 | |
|     @module_app = ModuleApp.find params[:module_app_id]
 | |
|     @managers = @module_app.managing_users
 | |
|   end
 | |
|   
 | |
|   def check_auth
 | |
| 
 | |
|     unless is_admin? and is_manager?
 | |
|       flash[:error] = "unauthorized access"
 | |
|       if request.env["HTTP_REFERER"]
 | |
|         redirect_to :back
 | |
|       else
 | |
|         render(:file => File.join(Rails.root, 'public/403.html'), :status => 403, :layout => false)
 | |
|       end
 | |
|       false
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def setting
 | |
|     @sys_users = User.all(conditions: {admin: false}).includes(:avatar).not_guest_user
 | |
|     @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] = t('update.success_')
 | |
|     else
 | |
|       flash[:notice] = t('update.fail')
 | |
|     end
 | |
|   end
 | |
|   
 | |
|   def user_list
 | |
|     @module_app = ModuleApp.find params[:module_app][:id]
 | |
|   end
 | |
| 
 | |
|   protected
 | |
|   def update_setting_by_params
 | |
|     user_sat = []
 | |
|     ma = ModuleApp.find params[:module_app][:id]
 | |
|     user_sat += User.find params[:users].keys if params.has_key?('users')
 | |
|     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.all)
 | |
|     elsif is_sub_manager?
 | |
|       @bulletin_categorys = BulletinCategory.authed_for_user(current_user,'submit_new')
 | |
|     end
 | |
|   end
 | |
| 
 | |
| 
 | |
| 
 | |
| end
 |