ref: dockerize
app/controllers/admin/admin_panel_controller.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
class AdminPanelController < AdminController protect 'view_environment_admin_panel', :environment def boxes_holder environment end def site_info @no_design_blocks = true if request.post? if params[:environment][:languages] params[:environment][:languages] = params[:environment][:languages].map {|lang, value| lang if value=='true'}.compact end if @environment.update(params[:environment]) session[:notice] = _('Environment settings updated') redirect_to :action => 'index' end end end def manage_portal_community params[:activate] == '1' ? environment.enable('use_portal_community') : environment.disable('use_portal_community') environment.save redirect_to :action => 'set_portal_community' end def unset_portal_community environment.unset_portal_community! redirect_to :action => 'set_portal_community' end def set_portal_community env = environment @portal_community = env.portal_community || Community.new if request.post? portal_community = env.communities.where(identifier: params[:portal_community_identifier]).first if portal_community if (env.portal_community != portal_community) env.portal_community = portal_community env.portal_folders = [] env.save end redirect_to :action => 'set_portal_folders' else session[:notice] = _('Community not found. You must insert the identifier of a community from this environment') end end end def set_portal_folders @selected = (environment.portal_folders || []) @available_portal_folders = environment.portal_community.folders - @selected if request.post? env = environment folders = env.portal_community.folders.where(id: params[:folders]).order(params[:folders].reverse.map{ |f| "id=#{f}" }) if params[:folders] env.portal_folders = folders if env.save session[:notice] = _('Saved the portal folders') redirect_to :action => 'set_portal_news_amount' end end end def set_portal_news_amount if request.post? if @environment.update(params[:environment]) session[:notice] = _('Saved the number of news on folders') redirect_to :action => 'index' end end end end |