Sha256: a4f22787b866bd8199a3600c7bf7e3272fa032c67bf1305ad8371a4410d89070
Contents?: true
Size: 1.21 KB
Versions: 8
Compression:
Stored size: 1.21 KB
Contents
module Hyrax class WorkflowPresenter def initialize(solr_document, current_ability) @solr_document = solr_document @current_ability = current_ability end attr_reader :solr_document, :current_ability def state sipity_entity.workflow_state_name if sipity_entity end def state_label return unless state I18n.t("hyrax.workflow.state.#{state}", default: state.humanize) end # Returns an array of tuples (key, label) appropriate for a radio group def actions return [] unless sipity_entity && current_ability actions = Hyrax::Workflow::PermissionQuery.scope_permitted_workflow_actions_available_for_current_state(entity: sipity_entity, user: current_ability.current_user) actions.map { |action| [action.name, action_label(action)] } end def comments return [] unless sipity_entity sipity_entity.comments end private def action_label(action) I18n.t("hyrax.workflow.#{action.workflow.name}.#{action.name}", default: action.name.titleize) end def sipity_entity PowerConverter.convert(solr_document, to: :sipity_entity) rescue PowerConverter::ConversionError nil end end end
Version data entries
8 entries across 8 versions & 1 rubygems