Sha256: 130741ace607625af8c727de12b62caeb351130091fdcd10d42bf3203f335c2f

Contents?: true

Size: 1.39 KB

Versions: 11

Compression:

Stored size: 1.39 KB

Contents

module Alchemy
  module Page::PageUsers
    extend ActiveSupport::Concern

    # Returns the creator of this page.
    #
    def creator
      get_page_user(creator_id)
    end

    # Returns the last updater of this page.
    #
    def updater
      get_page_user(updater_id)
    end

    # Returns the user currently editing this page.
    #
    def locker
      get_page_user(locked_by)
    end

    # Returns the name of the creator of this page.
    #
    # If no creator could be found or associated user model
    # does not respond to +#name+ it returns +'unknown'+
    #
    def creator_name
      (creator && creator.try(:name)) || I18n.t('unknown')
    end

    # Returns the name of the last updater of this page.
    #
    # If no updater could be found or associated user model
    # does not respond to +#name+ it returns +'unknown'+
    #
    def updater_name
      (updater && updater.try(:name)) || I18n.t('unknown')
    end

    # Returns the name of the user currently editing this page.
    #
    # If no locker could be found or associated user model
    # does not respond to +#name+ it returns +'unknown'+
    #
    def locker_name
      (locker && locker.try(:name)) || I18n.t('unknown')
    end

    private

    def get_page_user(id)
      if Alchemy.user_class.respond_to? :primary_key
        Alchemy.user_class.try(:find_by, {Alchemy.user_class.primary_key => id})
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
alchemy_cms-3.2.1 app/models/alchemy/page/page_users.rb
alchemy_cms-3.1.3 app/models/alchemy/page/page_users.rb
lc_alchemy_cms-3.2.1 app/models/alchemy/page/page_users.rb
lc_alchemy_cms-3.2.0 app/models/alchemy/page/page_users.rb
alchemy_cms-3.2.0 app/models/alchemy/page/page_users.rb
alchemy_cms-3.2.0.rc1 app/models/alchemy/page/page_users.rb
alchemy_cms-3.2.0.beta app/models/alchemy/page/page_users.rb
alchemy_cms-3.1.1 app/models/alchemy/page/page_users.rb
alchemy_cms-3.1.0 app/models/alchemy/page/page_users.rb
alchemy_cms-3.1.0.rc3 app/models/alchemy/page/page_users.rb
alchemy_cms-3.1.0.rc2 app/models/alchemy/page/page_users.rb