Sha256: 5cbeb9b210dd16ac68d500c89751dfaf0828ecff6c7665b09c85b21f7c9330a8

Contents?: true

Size: 1.74 KB

Versions: 5

Compression:

Stored size: 1.74 KB

Contents

class Skyline::PublishedPublicationsController < Skyline::ApplicationController
  before_filter :find_article

  def create
    return handle_unauthorized_user unless @article.editable_by?(current_user)

    variant = @article.variants.find_by_id(params[:variant_id])
    if !variant || !variant.editable_by?(current_user)
      return redirect_to(skyline_page_path(@article)) 
    end
    
    if variant.publish
      messages[:success] = t(:success, :scope => [:published_publication, @article.class, :create, :flashes])
    else
      notifications[:error] = t(:error, :scope => [:published_publication, @article.class, :create, :flashes])
      flash[:show_errors_for_publication] = true
    end    
    redirect_to edit_skyline_article_path(@article, :variant_id => variant.id)
  end
  
  def destroy
    return handle_unauthorized_user unless @article.editable_by?(current_user)

    if @article.depublishable?
      @article.depublish
      messages[:success] = t(:success, :scope => [:published_publication, @article.class, :destroy, :flashes])
    else
      if @article.persistent?
        notifications[:error] = t(:error_persistent, :scope => [:published_publication, @article.class, :destroy, :flashes])
      else
        notifications[:error] = t(:error, :scope => [:published_publication, @article.class, :destroy, :flashes])
      end
    end
    
    redirect_to edit_skyline_article_path(@article, :variant_id => params[:variant_id])
  end
  
  protected
  def find_article
    @article = Skyline::Article.find_by_id(params[:article_id])
    return redirect_to(skyline_articles_path(:type => params[:article_type])) unless @article
    return handle_unauthorized_user unless @article.editable_by?(current_user)
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
skylinecms-3.1.0 app/controllers/skyline/published_publications_controller.rb
westarete-skylinecms-3.0.8.20100329 app/controllers/skyline/published_publications_controller.rb
westarete-skylinecms-3.0.8.20100330 app/controllers/skyline/published_publications_controller.rb
skylinecms-3.0.8 app/controllers/skyline/published_publications_controller.rb
skylinecms-3.0.7 app/controllers/skyline/published_publications_controller.rb