Sha256: 47d0c3959412d1edb9d13aeb1623062b4925bb84b7ef0a65c6cb9dc03b8abd3a

Contents?: true

Size: 1.88 KB

Versions: 22

Compression:

Stored size: 1.88 KB

Contents

require_dependency "phcscriptcdnpro/application_controller"

module Phcscriptcdnpro
	class Scriptcdn::AuthorsController < ApplicationController

		# Security & Action Filters
		before_action :require_user
		layout '/layouts/phcscriptcdnpro/application.html.erb'
		before_action :set_scriptcdn_author, only: [:edit, :update, :destroy]

		# Author Index
		def index
			scriptcdn_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_authors = scriptcdn_main.authors
		end

		# New Author
		def new
			scriptcdn_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_author = scriptcdn_main.authors.build
		end

		# Edit Author
		def edit
			scriptcdn_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_author = scriptcdn_main.authors.find(params[:id])
		end

		# POST Author
		def create
			@scriptcdn_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_author = @scriptcdn_main.authors.create(scriptcdn_author_params)
			if @scriptcdn_author.save
				redirect_to scriptcdn_main_authors_url, notice: 'Author was successfully created.'
				else
					render :new
			end
		end

		# PATCH/PUT Author
		def update
			if @scriptcdn_author.update(scriptcdn_author_params)
				redirect_to scriptcdn_main_authors_url, notice: 'Author was successfully updated.'
				else
					render :edit
			end
		end

		# DELETE Author
		def destroy
			@scriptcdn_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_author = @scriptcdn_main.authors.find(params[:id])
			@scriptcdn_author.destroy
			redirect_to scriptcdn_main_authors_url, notice: 'Author was successfully destroyed.'
		end

		private

		# Common Callbacks
		def set_scriptcdn_author
			@scriptcdn_author = Scriptcdn::Author.find(params[:id])
		end

		# Whitelist
		def scriptcdn_author_params
			params.require(:scriptcdn_author).permit(:authorfirstname, :authorlastname, :authorwebsite, :authorgithub, :authortwitter, :main_id)
		end

	end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
phcscriptcdnpro-1.9.6 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.9.5 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb