Sha256: 8c9c1032df53bd716b1069d7d18a17cf7302314708d1e5cf6557b2eba82e0f62

Contents?: true

Size: 1.81 KB

Versions: 7

Compression:

Stored size: 1.81 KB

Contents

require_dependency "phcpress/application_controller"

module Phcpress
  class Article::PostsController < ApplicationController

    # Include Core Helpers, Security & Action Filters
    include Phccorehelpers::PhcpluginsproHelper
    before_action :authenticate_user!
    before_action :set_paper_trail_whodunnit
    before_action :set_article_post, only: [:edit, :update, :destroy]

    # INDEX
    def index
      @article_posts = Phcpress::Article::Post.all
    end

    # SHOW
    def show
      @article_post = Phcpress::Article::Post.friendly.find(params[:id])
      @versions = Phcpress::PostVersions.where(item_id: params[:id], item_type: 'Phcpress::Article::Post')
    end

    # NEW
    def new
      @article_post = Phcpress::Article::Post.new
    end

    # EDIT
    def edit
    end

    # CREATE
    def create
      @article_post = Phcpress::Article::Post.new(article_post_params)
      @article_post.user_id = current_user.id
      if @article_post.save
        redirect_to article_posts_url, :flash => { :success => 'Post was successfully created.' }
      else
        render :new
      end
    end

    # UPDATE
    def update
      if @article_post.update(article_post_params)
        redirect_to article_posts_url, :flash => { :success => 'Post was successfully updated.' }
      else
        render :edit
      end
    end

    # DELETE
    def destroy
      @article_post.destroy
      redirect_to article_posts_url, :flash => { :error => 'Post was successfully destroyed.' }
    end

    private

    # Common Callbacks
    def set_article_post
      @article_post = Phcpress::Article::Post.find(params[:id])
    end

    # Whitelist
    def article_post_params
      params.require(:article_post).permit(:post_title, :post_text, :post_status, :post_image, :remove_post_image, :slug, :user_id, category_ids: [])
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
phcpress-56.4.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-56.3.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-56.2.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-56.1.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-56.0.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-55.0.0 app/controllers/phcpress/article/posts_controller.rb
phcpress-54.0.0 app/controllers/phcpress/article/posts_controller.rb