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

Version Path
workarea-admin-3.5.27 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.26 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.45 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.25 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.23 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.44 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.22 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.43 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.21 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.42 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.20 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.41 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.19 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.40 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.18 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.39 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.17 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.38 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.16 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.37 app/controllers/workarea/admin/publishing.rb