module Alchemy::Permissions::EditorUser

Editor rules

Includes author rules

Public Instance Methods

alchemy_editor_rules() click to toggle source
# File lib/alchemy/permissions.rb, line 124
def alchemy_editor_rules
  alchemy_author_rules

  # Navigation
  can :index, [
    :alchemy_admin_languages,
    :alchemy_admin_users
  ]

  # Resources
  can [
    :copy,
    :copy_language_tree,
    :flush,
    :order,
    :switch_language
  ], Alchemy::Page

  # Resources which may be locked via template permissions
  #
  #     # config/alchemy/page_layouts.yml
  #     - name: contact
  #       editable_by:
  #         - freelancer
  #         - admin
  #
  can([
    :create,
    :destroy
  ], Alchemy::Page) { |p| p.editable_by?(@user) }

  can(:publish, Alchemy::Page) do |page|
    page.language.public? && page.editable_by?(@user)
  end

  can :manage, Alchemy::Picture
  can :manage, Alchemy::PictureDescription
  can :manage, Alchemy::Attachment
  can :manage, Alchemy::Tag
  can :index, Alchemy::Language
  can :switch, Alchemy::Language
end