Sha256: a570463ef666d42a87ab6ab41915c8d29d62d096971f281d47cdb3640d62ccdc

Contents?: true

Size: 1.39 KB

Versions: 23

Compression:

Stored size: 1.39 KB

Contents

module Pageflow
  ActiveAdmin.register Folder, :as => 'Folder' do
    menu false

    # TODO
    actions :new, :create, :edit, :update, :destroy

    form do |f|
      f.inputs do
        if authorized?(:read, Account) && f.object.new_record?
          f.input :account, :include_blank => false
        end
        f.input :name
      end
      f.actions do
        f.action(:submit)
        f.action(:cancel, :wrapper_html => {:class => 'cancel'})
      end
    end

    controller do
      def build_new_resource
        super.tap do |folder|
          folder.account ||= current_user.account
        end
      end

      def create
        super do |success, failure|
          success.html { redirect_to(admin_entries_path) }
        end
      end

      def update
        super do |success, failure|
          success.html { redirect_to(admin_entries_path(:folder_id => resource.id)) }
        end
      end

      def destroy
        super do |success, failure|
          success.html { redirect_to(admin_entries_path) }
        end
      end

      def permitted_params
        result = params.permit(:folder => [:name, :account_id])
        restrict_attributes(params[:id], result[:folder]) if result[:folder]
        result
      end

      private

      def restrict_attributes(id, attributes)
        attributes.except!(:account_id) if !authorized?(:read, Account) || id.present?
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
pageflow-0.11.4 admins/pageflow/folder.rb
pageflow-0.11.3 admins/pageflow/folder.rb
pageflow-0.11.2 admins/pageflow/folder.rb
pageflow-0.11.1 admins/pageflow/folder.rb
pageflow-0.11.0 admins/pageflow/folder.rb
pageflow-0.10.0 admins/pageflow/folder.rb
pageflow-0.9.2 admins/pageflow/folder.rb
pageflow-0.9.1 admins/pageflow/folder.rb
pageflow-0.9.0 admins/pageflow/folder.rb
pageflow-0.8.2 admins/pageflow/folder.rb
pageflow-0.8.1 admins/pageflow/folder.rb
pageflow-0.8.0 admins/pageflow/folder.rb
pageflow-0.7.2 admins/pageflow/folder.rb
pageflow-0.7.1 admins/pageflow/folder.rb
pageflow-0.7.0 admins/pageflow/folder.rb
pageflow-0.6.0 admins/pageflow/folder.rb
pageflow-0.5.0 admins/pageflow/folder.rb
pageflow-0.4.0 admins/pageflow/folder.rb
pageflow-0.3.0 admins/pageflow/folder.rb
pageflow-0.2.1 admins/pageflow/folder.rb