Sha256: f15ba69287bcfa38f740fff2f7014b457048ced71dd4953823cb83dfb0e26d52

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

module Elabs
  module MemberContentHelper
    def member_action_links(singular_model, entity)
      out = []
      out.push member_show_link(entity)
      out.push member_edit_link(singular_model, entity)
      out.push member_publish_link(singular_model, entity)
      out.push member_destroy_link(singular_model, entity)

      raw out.join('')
    end

    def member_show_link(entity)
      link_to entity,
              title: _('View online'),
              class: 'btn btn--small btn--show' do
        icon('eye', ['fw'])
      end
    end

    def member_edit_link(singular_model, entity)
      link_to send("edit_member_#{singular_model}_path", entity),
              title: _('Edit'),
              class: 'btn btn--small btn--edit' do
        icon('pencil-alt', ['fw'])
      end
    end

    def member_publish_link(singular_model, entity)
      link_to send("member_#{singular_model}_toggle_publication_path", entity),
              title:  entity.published? ? _('Unpublish') : _('Publish'),
              method: :put,
              class:  'btn btn--small btn--' do
        icon(entity.published? ? 'calendar-times' : 'calendar-check', ['fw'])
      end
    end

    def member_destroy_link(singular_model, entity)
      link_to send("member_#{singular_model}_path".to_sym, entity),
              title:  _('Destroy'),
              method: :delete, data: { confirm: _('Are you sure?') },
              class:  'btn btn--small btn--destroy' do
        icon('trash', ['fw'])
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
elabs-2.0.0 app/helpers/elabs/member_content_helper.rb
elabs-2.0.0.pre app/helpers/elabs/member_content_helper.rb