Sha256: 9f3a5defd3655e8e85d6c17f0acd89d5b3f10bc6dfa664672ecac7a3d7942bd5

Contents?: true

Size: 624 Bytes

Versions: 11

Compression:

Stored size: 624 Bytes

Contents

module Cms
  # Can be added to controllers that allow for SaveDraft/Publish
  module PublishWorkflow

    def self.included(klass)
      klass.send(:include, AllowPublishing)
    end

    module AllowPublishing
      def self.included(klass)
        klass.before_action :only => [:create, :update] do
          params[resource_param][:publish_on_save] = false if save_draft?
          params[resource_param][:publish_on_save] = true if publish?
        end
      end

      def save_draft?
        params[:commit] == "Save Draft"
      end

      def publish?
        params[:commit] == "Publish"
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
browsercms-artirix-4.0.4 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.3.3 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.3.2 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.3.1 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.3 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.2 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.1.1 lib/cms/publish_workflow.rb
browsercms-artirix-4.0.0.rc1.art4 lib/cms/publish_workflow.rb
browsercms-4.0.0.rc1 lib/cms/publish_workflow.rb
browsercms-4.0.0.beta lib/cms/publish_workflow.rb
browsercms-4.0.0.alpha lib/cms/publish_workflow.rb