module Public class ContactsController < WebBaseController def show @inquiry = empty_inquiry end def create result = Contacts::SubmitInquiry.call(params: inquiry_params, ip: request.remote_ip) if result.ok? redirect_to public_contatti_path, notice: t("flash.contacts.sent") return end @inquiry = inquiry_params flash.now[:alert] = t("flash.contacts.#{result.error}") render :show, status: result.error == :throttled ? :too_many_requests : :unprocessable_entity end private def inquiry_params { name: params[:name].to_s, email: params[:email].to_s, club_name: params[:club_name].to_s, topic: params[:topic].to_s, message: params[:message].to_s, website: params[:website].to_s, accept_privacy: params[:accept_privacy].to_s } end def empty_inquiry { name: "", email: "", club_name: "", topic: "commercial", message: "", website: "", accept_privacy: "" } end end end