class PageCollectionSubmissionsController < ApplicationController before_action :set_page_collection, only: [:index] before_action :set_page_collection_submission, only: [:show, :edit, :update, :destroy, :approve, :pass] # GET /page_collection_submissions def index @page_collection_submissions = @page_collection.page_collection_submissions.where(accepted_at: nil) end # GET /page_collection_submissions/1 def show end # GET /page_collection_submissions/new def new @page_collection_submission = PageCollectionSubmission.new end # GET /page_collection_submissions/1/edit def edit end # POST /page_collection_submissions def create @page_collection_submission = PageCollectionSubmission.new(page_collection_submission_params) if @page_collection_submission.save @page_collection_submission.content.update(privacy: 'public') redirect_to @page_collection_submission.page_collection, notice: 'Page submitted!' else raise "failed create" # render :new end end # PATCH/PUT /page_collection_submissions/1 def update if @page_collection_submission.update(page_collection_submission_params) redirect_to @page_collection_submission, notice: 'Page collection submission was successfully updated.' else raise "failed edit" # render :edit end end # DELETE /page_collection_submissions/1 def destroy @page_collection_submission.destroy redirect_to page_collection_submissions_url, notice: 'Page collection submission was successfully destroyed.' end def approve return raise "Not allowed: approve" unless user_signed_in? && current_user == @page_collection_submission.page_collection.user @page_collection_submission.accept! # Create a notification for the submitter to let them know it's been accepted @page_collection_submission.user.notifications.create( message_html: "