Sha256: a1088a3829e4077e35da14c14da83d83c15ea25f041f4925079396539e2c07bf

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 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_script = Scriptcdn::Script.find(params[:script_id])
			@scriptcdn_authors = scriptcdn_script.authors
		end

		# New Author
		def new
			scriptcdn_script = Scriptcdn::Script.find(params[:script_id])
			@scriptcdn_author = scriptcdn_script.authors.build
		end

		# Edit Author
		def edit
			scriptcdn_script = Scriptcdn::Script.find(params[:script_id])
			@scriptcdn_author = scriptcdn_script.authors.find(params[:id])
		end

		# POST Author
		def create
			@scriptcdn_script = Scriptcdn::Script.find(params[:script_id])
			@scriptcdn_author = @scriptcdn_script.authors.create(scriptcdn_author_params)
			if @scriptcdn_author.save
				redirect_to @scriptcdn_author, 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_author, notice: 'Author was successfully updated.'
				else
					render :edit
			end
		end

		# DELETE Author
		def destroy
			@scriptcdn_script = Scriptcdn::Script.find(params[:script_id])
			@scriptcdn_author = @scriptcdn_script.authors.find(params[:id])
			@scriptcdn_author.destroy
			redirect_to scriptcdn_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, :authoremail, :authorgithub, :authortwitter, :script_id)
		end

	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
phcscriptcdnpro-1.4.2 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb