class NotesController < ApplicationController before_action :set_event, only: [:new, :create] before_filter :set_mailer_host, only: [:create] # GET /moderations/id/new def new @note = @moderation.notes.new end def create @note = @moderation.notes.new(note_params) @note.author = current_user respond_to do |format| if @note.save if params[:envoiParMail] == 'oui' # Send an update mail to its author NoteMailer.notify(@note).deliver @note.contents = t '.sendByMailWrap', contents: @note.contents @note.save end NoteMailer.create(@note).deliver format.html { redirect_to moderations_url, notice: t('.ok') } format.json { render action: 'show', status: :created, location: @event } else format.html { render action: 'new' } format.json { render json: @note.errors, status: :unprocessable_entity } end end end private # Use callbacks to share common setup or constraints between actions. def set_event @event = Event.find params[:moderation_id] @moderation = @event end # Never trust parameters from the scary internet, only allow the white list through. def note_params params.require(:note).permit :contents end # Useful to manage absolute url in mails def set_mailer_host ActionMailer::Base.default_url_options[:host] = request.host_with_port end end