Sha256: 9acd5fb8b59eae21e31dcb330e1d72f7cfcc46aa692203fc96d5b432c2fa7843

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

# Load General Controller for Engine
require_dependency "phcpress/application_controller"

# Code for News Posting
module Phcpress
	class News::PostsController < ApplicationController

		# Filters & Security
		layout 'layouts/phcpress/newspost/news_layout'
		before_action :authenticate_user!
		before_action :set_news_post, only: [:edit, :update, :destroy]

		# News Post Index (/news/posts)
		def index
			@news_posts = News::Post.all
		end

		# Single News Post (/news/posts/1)
		#def show
		#end

		# Create a New News Post (/news/posts/new)
		def new
			@news_post = current_user.News::Post.new
		end

		# Edit News Post /news/posts/1/edit
		def edit
		end

		# POST
		def create
			@news_post = current_user.News::Post.(news_post_params)

			if @news_post.save
				redirect_to news_posts_path, notice: 'News post was successfully created.'
			else
				render :new
			end
		end

		# PATCH/PUT
		def update
			if @news_post.update(news_post_params)
				redirect_to news_posts_path, notice: 'News post was successfully updated.'
			else
				render :edit
			end
		end

		# DELETE
		def destroy
			@news_post.destroy
			redirect_to news_posts_path, notice: 'News post was successfully destroyed.'
		end

		private

		# Common Callbacks
		def set_news_post
			@news_post = News::Post.find(params[:id])
		end

		# Whitelist on what can be posted
		def news_post_params
			params.require(:news_post).permit(:newspsttitle, :newspsttext, :newspstexcerpts, :pststatus, :pstimage)
		end

	end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
phcpress-2.8.6 app/controllers/phcpress/news/posts_controller.rb
phcpress-2.8.5 app/controllers/phcpress/news/posts_controller.rb
phcpress-2.8.1 app/controllers/phcpress/news/posts_controller.rb
phcpress-2.8.0 app/controllers/phcpress/news/posts_controller.rb