56 lines
1.4 KiB
Ruby
Executable File
56 lines
1.4 KiB
Ruby
Executable File
class Public::ContactMessagesController < ApplicationController
|
|
layout "public"
|
|
|
|
def index
|
|
ContactMessage.update_all(read_by_customer: true)
|
|
@contact_message = ContactMessage.new
|
|
@contact_messages = ContactMessage.where("customer_id = ? OR contact_id = ?", current_customer.id,current_customer.id )
|
|
.order(created_at: :desc)
|
|
.page params[:page]
|
|
|
|
|
|
end
|
|
|
|
def create
|
|
|
|
@contact_message = ContactMessage.new
|
|
@contact_message.assign_attributes(message_params)
|
|
@contact_message.customer = current_customer
|
|
@contact_message.contact = current_customer
|
|
@contact_message.read_by_customer = true
|
|
|
|
if @contact_message.save
|
|
flash[:notice] = "Message envoyé."
|
|
|
|
admins = Admin.where.not(email: nil)
|
|
admins.each do |admin|
|
|
AdminMailer.customer_send_contact_message(admin, @contact_message).deliver
|
|
end
|
|
|
|
return redirect_to :back
|
|
else
|
|
flash[:error] = "Votre message n'a pas pu être envoyé."
|
|
return render 'index'
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
def destroy
|
|
@message = ContactMessage.find(params['id'])
|
|
if @message.destroy
|
|
flash[:notice] = "message supprimé"
|
|
else
|
|
flash[:error] = "Impossible de supprimer ce message"
|
|
end
|
|
|
|
redirect_to :back
|
|
end
|
|
|
|
def message_params
|
|
params.require(:contact_message).permit(:content)
|
|
end
|
|
end
|