Sha256: a94aaddfdf5120a6784402b5f4ce5f30ff42aadcba545ffb4778910fcdf3a74c

Contents?: true

Size: 1.61 KB

Versions: 5

Compression:

Stored size: 1.61 KB

Contents

module Pageflow
  module Admin
    class MembersTab < ViewComponent
      def build(entry)
        embedded_index_table(entry.memberships.includes(:user).references(:users),
                             blank_slate_text: I18n.t('pageflow.admin.entries.no_members')) do
          table_for_collection class: 'memberships', sortable: true, i18n: Pageflow::Membership do
            column :user, sortable: 'users.last_name', class: 'name' do |membership|
              if authorized? :manage, User
                link_to(membership.user.formal_name, admin_user_path(membership.user),
                        class: 'view_creator')
              else
                membership.user.full_name
              end
            end
            column :created_at, sortable: 'pageflow_memberships.created_at'
            column do |membership|
              if authorized?(:destroy, membership)
                link_to(I18n.t('pageflow.admin.entries.remove'),
                        admin_entry_membership_path(membership.entry, membership),
                        method: :delete,
                        data: {
                          confirm: I18n.t('active_admin.delete_confirmation'),
                          rel: 'delete_membership'
                        })
              end
            end
          end
        end

        if authorized? :manage, Pageflow::Entry
          span do
            link_to(I18n.t('pageflow.admin.users.add'),
                    new_admin_entry_membership_path(entry),
                    class: 'button',
                    data: {rel: 'add_member'})
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pageflow-0.11.4 app/views/components/pageflow/admin/members_tab.rb
pageflow-0.11.3 app/views/components/pageflow/admin/members_tab.rb
pageflow-0.11.2 app/views/components/pageflow/admin/members_tab.rb
pageflow-0.11.1 app/views/components/pageflow/admin/members_tab.rb
pageflow-0.11.0 app/views/components/pageflow/admin/members_tab.rb