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.4.27 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.4 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.26 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.3 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.25 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.2 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.24 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.1 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.23 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.22 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.0 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.21 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.5.0.beta.1 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.20 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.19 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.18 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.17 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.16 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.15 app/controllers/workarea/admin/publishing.rb
workarea-admin-3.4.14 app/controllers/workarea/admin/publishing.rb