Sha256: 1ec3bc163f2944d21093cc6a851a8c518f6fdecf3e948ebc73d342229cf4fff7

Contents?: true

Size: 1.81 KB

Versions: 5

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 PhcdevworksCore::PhcdevPluginsHelper
    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

5 entries across 5 versions & 1 rubygems

Version Path
phcpress-57.0.4 app/controllers/phcpress/article/posts_controller.rb
phcpress-57.0.3 app/controllers/phcpress/article/posts_controller.rb
phcpress-57.0.2 app/controllers/phcpress/article/posts_controller.rb
phcpress-57.0.1 app/controllers/phcpress/article/posts_controller.rb
phcpress-57.0.0 app/controllers/phcpress/article/posts_controller.rb