Sha256: 4c8a928b8d1357512d9b82a09eb402d7c8212e8eedb085ebd77010168a46b99d
Contents?: true
Size: 1.09 KB
Versions: 62
Compression:
Stored size: 1.09 KB
Contents
module Workarea module Admin module Publishing extend ActiveSupport::Concern included do around_action :set_publishing_options helper_method :allow_publishing? end def allow_publishing? @allow_publishing ||= current_user && current_user.can_publish_now? end def allow_publishing! @allow_publishing = true end def set_publishing_options return yield if request.get? || params[:publishing].blank? release = Release.find(params[:publishing]) rescue nil self.current_release = release if current_release != release yield ensure Release.current = nil end private def check_publishing_authorization return if current_user.blank? return if request.get? || current_release.present? unauthorized_publish && (return false) unless allow_publishing? end def unauthorized_publish flash[:error] = t('workarea.admin.publish_authorization.unauthorized') redirect_back fallback_location: root_path end end end end
Version data entries
62 entries across 62 versions & 1 rubygems