negos_app/app/controllers/public/offers_controller.rb
2017-05-18 01:21:04 +02:00

68 lines
1.7 KiB
Ruby
Executable File

class Public::OffersController < ApplicationController
layout "public"
before_filter :auth_customer, :check_enabled, :get_need, :check_interest, :get_offer
def accept
if @offer.customers.include?(current_customer)
flash[:error] = "Vous avez déjà accepter cette offre"
return redirect_back_or_default :root
end
@accepted_offer = AcceptedOffer.new
@accepted_offer.offer = @offer
end
def accept_save
if @offer.customers.include?(current_customer)
flash[:error] = "Vous avez déjà accepter cette offre"
return redirect_back_or_default :root
end
@accepted_offer = AcceptedOffer.new(params.require(:accepted_offer).permit(:qte))
@accepted_offer.customer = current_customer
@accepted_offer.offer = @offer
@document = Document.new
@document.title = "Offre"
@accepted_offer.documents << @document
if @accepted_offer.save
admins = Admin.where.not(email: nil)
admins.each do |admin|
AdminMailer.customer_accept_offer(admin, @accepted_offer).deliver
end
CustomerMailer.offer_accepted(current_customer, @accepted_offer).deliver
flash[:notice] = "Offre acceptée avec succès !"
redirect_to public_need_path(@need)
else
render :action => :accept
end
end
def get_need
@need = Need.find(params[:need_id])
end
def get_offer
@offer = @need.offers.find(params[:id])
end
def check_interest
if !@need.customers.include?(current_customer)
flash[:error] = "Impossible de réaliser cette action car vous n'êtes pas intéressé par ce besoin"
redirect_back_or_default :root
end
end
end