sadem_app/app/views/public/m_odrs/show.html.haml
2025-06-12 11:26:19 +02:00

290 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-if @m_odr.public_end and @m_odr.public_end < Date.today and params[:force].to_s == ""
%div{:style => "margin-top:30px;font-weight:bold;font-weight:800;font-size:2em;text-transform:uppercase;font-family: 'Open Sans','Helvetica Neue', Helvetica, sans-serif;text-align:center;"}
%br
Cette opération est terminée
%br
%br
%br
-elsif @m_odr.ins_limit? and @m_odr.m_odr_reps.count >= @m_odr.ins_limit.to_i
%div{:style => "margin-top:30px;font-weight:bold;font-weight:800;font-size:2em;text-transform:uppercase;font-family: 'Open Sans','Helvetica Neue', Helvetica, sans-serif;text-align:center;"}
%br
Cette opération est maintenant terminée, nous vous remercions pour votre confiance !
%br
%br
%br
-elsif @m_odr.start_at > Date.today and params[:force].to_s == ""
%div{:style => "margin-top:30px;font-weight:bold;font-weight:800;font-size:2em;text-transform:uppercase;font-family: 'Open Sans','Helvetica Neue', Helvetica, sans-serif;text-align:center;"}
-count = ((@m_odr.start_at) - (Date.today))
-if @m_odr.landing_text?
=@m_odr.landing_text
-else
Démarrage
%div{:style => "font-weight:bold;font-weight:800;text-transform:uppercase;font-family: 'Open Sans','Helvetica Neue', Helvetica, sans-serif;text-align:center;line-height:200px;position:relative;top:-40px"}
dans
.clock{:style => "margin:2em;display:inline-block;width:auto;margin:0 auto;position:relative;top:35px"}
-if count > 1
jours !
-else
jour !
<script type="text/javascript">
=raw "var clock_max = #{count};"
</script>
:javascript
var countup;
var clock = $('.clock').FlipClock(0, {
clockFace: 'Counter',
minimumDigits: 1,
callbacks:{
init:function (){
}
}
});
if(clock_max > 0){
countup = setInterval(function() {
clock.increment();
if(clock.getTime().time >= clock_max) {
clock.stop();
clearInterval(countup);
}
}, 0);}
-if false
%p{:style => "font-weight:bold;font-size:2em;text-transform:uppercase;font-family:'Helvetica Neue', Helvetica, sans-serif;"}
jours avant l'ouverture
-else
-if !@m_odr_rep
-@m_odr_rep = @m_odr.m_odr_reps.new(:t => params[:t])
-@m_odr_rep.particulars.build(:skip_organisation => true, :validate_name => true,:skip_email => (true if !@m_odr.email_needed), :validate_email => (true if @m_odr.email_needed),:validate_tel => (true if @m_odr.tel_needed),:skip_validation => (true if !@m_odr.address_needed))
-@m_odr_rep.m_odr_rep_ribs.build() if @m_odr.rib_process
- @m_odr.m_odr_file_types.each do |ft|
-@m_odr_rep.m_odr_files.build(:m_odr_file_type_id => ft.id)
#odr_form
=semantic_form_for [:public, @m_odr_rep], html: { multipart: true } , :remote => false do |f|
=debug @m_odr_rep.errors.messages if current_admin
=f.hidden_field :m_odr_id
=hidden_field_tag :force, params[:force]
=f.hidden_field :t
-if @m_odr.ins_limit?
%center
%p
-nbr = @m_odr.ins_limit - @m_odr.m_odr_reps.count
=nbr
-if nbr > 1
participations restantes
-else
participation restante
.form_pannel
%h3 Vous
=f.inputs do
=f.semantic_fields_for :particulars do |f|
=f.hidden_field :validate_name
=f.hidden_field :skip_organisation
=f.hidden_field :validate_tel
=f.hidden_field :validate_email
=f.hidden_field :skip_email
=f.hidden_field :skip_validation
%table{:style => "width:100%;"}
%tr
%td{:style => "width:20%;padding-right:4px;"}
=f.input :civilite, :label => false, :placeholder => "Civilité", :as => :select, :collection => [[qit("don-particular-civilite-mme","Mme."), "Mme"], [qit("don-particular-civilite-m","M."), "M"]], :include_blank => true
%td{:style => "width:40%;padding-right:4px;"}
=f.input :name, :label => false, :placeholder => (@m_odr_rep.m_odr.name_label? ? @m_odr_rep.m_odr.name_label : "Nom")
%td{:style => "width:40%"}
=f.input :firstname, :label => false, :placeholder => (@m_odr_rep.m_odr.firstname_label? ? @m_odr_rep.m_odr.firstname_label : "Nom")
-if @m_odr_rep.m_odr.address_process
=f.input :address_2, :label => false, :placeholder => "Adresse"
=f.input :address_3, :label => false, :placeholder => "Adresse suite"
%table{:style => "width:100%;"}
%tr
%td{:style => "width:30%;padding-right:4px;"}
=f.input :cp, :label => false, :placeholder => "Code postal"
%td{:style => "width:70%"}
=f.input :city, :label => false, :placeholder => "Ville"
.select=f.input :country, :label => false, :placeholder => "Pays", :priority_countries => ["FR", "CH", "BE"], :include_blank => false, :locale => @lang.slug
-if @m_odr_rep.m_odr.email_process
=f.input :email, :label => (!@m_odr_rep.m_odr.placeholder? ? false : "Email :"), :placeholder => (@m_odr_rep.m_odr.placeholder? ? false : "Email")
-if @m_odr_rep.m_odr.tel_process
=f.input :tel, :label => (!@m_odr_rep.m_odr.placeholder? ? false : "Tel :"), :placeholder => (@m_odr_rep.m_odr.placeholder? ? false : "Tel")
Nous ne vous contacterons par téléphone quen cas de problème avec votre dossier
-if @m_odr_rep.m_odr_rep_ribs.size > 0
.form_pannel
%h3 Vos coordonnées bancaires
=f.inputs do
=f.semantic_fields_for :m_odr_rep_ribs do |f|
%table
%tr
%td{:style => "width:20%;padding-right:4px;"}
=f.input :bic, :label => "Bic : "
%td{:style => "width:40%;padding-right:4px;"}
=f.input :iban, :label => "Iban :", :input_html => {:class => "iban_input"}
:javascript
$('.iban_input').mask('SSAA AAAA AAAA AAAA AAAA AAAA AAAA AAAA AA', {
placeholder: '____ ____ ____ ____ ____ ____ ____ ____ __'
});
.form_pannel
%h3 Votre achat
-if @m_odr_rep.m_odr.buy_date_process
=f.input :buy_at, :label => "Date d'achat :", :as => :date
-if f.object.m_odr.m_odr_product_cats.count > 0
=f.inputs do
=f.input :m_odr_product_cat_id, :label => (!@m_odr_rep.m_odr.placeholder ? false :(@m_odr_rep.m_odr.product_cat_label? ? @m_odr_rep.m_odr.product_cat_label : "Types :")), :as => :select, :collection => f.object.m_odr.m_odr_product_cats.order("id ASC"), :member_label => :name, :include_blank => true, :prompt => (@m_odr_rep.m_odr.product_cat_label? ? @m_odr_rep.m_odr.product_cat_label : "Nombre de pneus")
-if @m_odr_rep.m_odr.product_process
=f.inputs do
=f.input :m_odr_product_id, :label => (!@m_odr_rep.m_odr.placeholder ? false :(@m_odr_rep.m_odr.product_label? ? @m_odr_rep.m_odr.product_label : "Pneu :")), :as => :select, :collection => f.object.m_odr.m_odr_products.where(:m_odr_brand_id => f.object.m_odr.m_odr_brands.where("(start_at is null or start_at <= ?) and (public_end is null or public_end >= ?)", Date.today,Date.today) ).order("m_odr_brand_id ASC, m_odr_products.name"), :member_label => :member_label, :include_blank => true, :prompt => (@m_odr_rep.m_odr.product_label? ? @m_odr_rep.m_odr.product_label : "Pneu")
=f.inputs do
=f.input :qte, :label => (!@m_odr_rep.m_odr.placeholder ? false :(@m_odr_rep.m_odr.qte_label? ? @m_odr_rep.m_odr.qte_label : "Nombre de pneus :")), :as => :select, :collection => f.object.m_odr.m_odr_product_remises.group(:qte).order("qte").map{|a| a.qte}, :include_blank => true, :prompt => (@m_odr_rep.m_odr.qte_label? ? @m_odr_rep.m_odr.qte_label : "Nombre de pneus")
=f.inputs do
=f.input :m_odr_place, :label => (!@m_odr_rep.m_odr.placeholder ? false :(@m_odr_rep.m_odr.place_label? ? @m_odr_rep.m_odr.place_label : "Point de vente :")), :as => :select, :collection => f.object.m_odr.m_odr_places.order(:name), :include_blank => true, :prompt => (@m_odr_rep.m_odr.place_label? ? @m_odr_rep.m_odr.place_label : "Point de vente :")
-if @m_odr_rep.m_odr.reduc_process
=f.input :reduc, :label => (!@m_odr_rep.m_odr.placeholder ? false :(@m_odr_rep.m_odr.reduc_label? ? @m_odr_rep.m_odr.reduc_label : "Réduction :")), :include_blank => true, :placeholder => (@m_odr_rep.m_odr.reduc_label? ? @m_odr_rep.m_odr.reduc_label : "Réduction (€)")
-if @m_odr_rep.m_odr.reduc_code_process
=f.input :reduc_code, :label => (!@m_odr_rep.m_odr.placeholder? ? false : "Code promotionnel :"), :placeholder => (@m_odr_rep.m_odr.placeholder? ? false : "Code promotionnel")
=f.inputs do
=f.semantic_fields_for :m_odr_files do |f|
=f.input :file, :label => f.object.m_odr_file_type.name
=f.hidden_field :m_odr_file_type_id
-if @m_odr_rep.m_odr.confirm_case_needed
=f.input :rgpd, :label => (@m_odr_rep.m_odr.confirm_case_label? ? @m_odr_rep.m_odr.confirm_case_label : "J'accepte les conditions générales")
-if @m_odr_rep.m_odr.custom_case
=f.input :custom_case, :label => (@m_odr_rep.m_odr.custom_case_label? ? @m_odr_rep.m_odr.custom_case_label : "")
-if @m_odr_rep.m_odr.buy_infos?
.buy_infos{:style => "text-align:center"}=simple_format @m_odr_rep.m_odr.buy_infos
%br
%center=f.submit "Envoyer", :class => "btn btn-primary btn-lg"
%br
:scss
abbr[title="required"] {
//display: none;
text-decoration:none;
border:0;
}
form{
td{
vertical-align:top;
}
}
-if [3,4].include?(@m_odr_rep.m_odr_id)
:scss
body{
color:#333}
h3{
text-transform:uppercase;
text-align:center;
font-weight:bold;
}
.form-control{
border-radius:0;
font-size:1.2em;
width:100%;
box-sizing:border-box;
border: 1px solid transparent;
border-radius: 0;
outline: 0;
background: #f6f6f6;
font-weight: 400;
font-size: 14px;
color: #333;
box-shadow:0 0 0 white !important;
padding: 25px 14px;
&:focus{
border-color: #fdda26;
}
}
.form_pannel{
box-shadow:0 0 0 white !important;
}
.select { position: relative; text-align: left; }
.select select {
display: inline-block;
width: 100%;
height: 52px;
padding:0 14px;
border: 1px solid transparent;
border-radius: 0; outline: 0; background: #f6f6f6; font-weight: normal; font-size: 14px; color: #333; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; }
select{
padding-right: 40px;
padding-left: 14px;
border-radius:0 !important;
-webkit-appearance: none;
color:#333;
}
.btn-primary{
background:#fdda26;
border:0;
color:black;
font-size:14px;
padding:15px 40px;border-radius:0;
}