class AdminPanelController < AdminController before_filter :login_required protect 'view_environment_admin_panel', :environment def boxes_holder environment end def site_info if request.post? if @environment.update_attributes(params[:environment]) redirect_to :action => 'index' end end end def manage_templates @person_templates = environment.templates('person') @community_templates = environment.templates('community') @enterprise_templates = environment.templates('enterprise') @templates = @person_templates + @community_templates + @enterprise_templates end def set_template environment.person_template = Person.find(params[:environment][:person_template]) if params[:environment][:person_template] environment.enterprise_template = Enterprise.find(params[:environment][:enterprise_template]) if params[:environment][:enterprise_template] environment.community_template = Community.find(params[:environment][:community_template]) if params[:environment][:community_template] if environment.save! flash[:notice] = _('Template updated successfully') else flash[:error] = _('Could not update template') end redirect_to :action => 'manage_templates' end def set_portal_community env = environment @portal_community = env.portal_community || Community.new if request.post? portal_community = env.communities.find_by_identifier(params[:portal_community_identifier]) if portal_community env.portal_community = portal_community env.save redirect_to :action => 'set_portal_folders' else flash[:notice] = __('Community not found. You must insert the identifier of a community from this environment') end end end def set_portal_folders @portal_folders = environment.portal_community.folders if request.post? env = environment folders = params[:folders].map{|fid| Folder.find(:first, :conditions => {:profile_id => env.portal_community, :id => fid})} env.portal_folders = folders if env.save flash[:notice] = _('Saved the portal folders') redirect_to :action => 'index' end end @selected = (environment.portal_folders || []).map(&:id) end end