Sha256: e02b064dd51e0285fdd3f80aa0c8f1ef29f493e7dbd70b7cc6a82a7863e74aaf

Contents?: true

Size: 1.85 KB

Versions: 7

Compression:

Stored size: 1.85 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_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_main = Scriptcdn::Main.find(params[:main_id])
			@scriptcdn_author = @scriptcdn_main.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

7 entries across 7 versions & 1 rubygems

Version Path
phcscriptcdnpro-1.5.5 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.5.4 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.5.3 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.5.2 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.5.1 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.5.0 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb
phcscriptcdnpro-1.4.4 app/controllers/phcscriptcdnpro/scriptcdn/authors_controller.rb