diff --git a/app/controllers/public/m_odr_reps_controller.rb b/app/controllers/public/m_odr_reps_controller.rb index fcce7ba..9985ef6 100644 --- a/app/controllers/public/m_odr_reps_controller.rb +++ b/app/controllers/public/m_odr_reps_controller.rb @@ -21,7 +21,7 @@ class Public::MOdrRepsController < ApplicationController if @m_odr_rep.save if mail_type = @m_odr.mail_types.where(:slug => "confirmation-inscription").first - mail = GeneralMails.general(:fr, mail_type, @m_odr_rep.particulars.first.email, {:arguments => {:numero_avoir => ""}}) + mail = GeneralMails.general(:fr, mail_type, @m_odr_rep.particulars.first.email, {:arguments => {:numero_avoir => ""}, :m_odr => @m_odr}) mail.deliver end diff --git a/app/mailers/general_mails.rb b/app/mailers/general_mails.rb index 624b64c..99d5619 100644 --- a/app/mailers/general_mails.rb +++ b/app/mailers/general_mails.rb @@ -8,6 +8,10 @@ class GeneralMails < ActionMailer::Base def general(lang_slug, mail_type, email, options = {}) + + @m_odr = @options[:m_odr] + @m_odr_rep = @options[:m_odr_rep] + @options = options @mail_type = mail_type @@ -22,9 +26,11 @@ class GeneralMails < ActionMailer::Base @ccis = @options[:ccis] || [] - - - @from = @options[:from] if @options[:from] + if @options[:from] + @from = @options[:from] + elsif @m_odr and @m_odr.email_from? + @from = @m_odr.email_from + end if @from mail(:to => email, :subject => subject, :bcc => @ccis.join(";"), :from => @from) diff --git a/app/models/m_odr_product.rb b/app/models/m_odr_product.rb index 17dbbf7..97c3ff4 100644 --- a/app/models/m_odr_product.rb +++ b/app/models/m_odr_product.rb @@ -1,6 +1,7 @@ class MOdrProduct < ApplicationRecord belongs_to :m_odr_brand + belongs_to :m_odr has_many :m_odr_product_remises, :dependent => :destroy accepts_nested_attributes_for :m_odr_product_remises, :allow_destroy => true diff --git a/app/views/admin/m_odr_products/_form.html.haml b/app/views/admin/m_odr_products/_form.html.haml index a670a2d..02ef68e 100644 --- a/app/views/admin/m_odr_products/_form.html.haml +++ b/app/views/admin/m_odr_products/_form.html.haml @@ -1,7 +1,7 @@ .m_odr_product_form.field = form.input :name, :label => "Nom :" - = form.input :m_odr_brand, :label => "Marque :" + = form.input :m_odr_brand, :label => "Marque :" , :collection => @m_odr.m_odr_brands, :include_blank => false %table.m_odr_product_remises_form diff --git a/app/views/layouts/mail.html.haml b/app/views/layouts/mail.html.haml index ac392f2..404e2ef 100755 --- a/app/views/layouts/mail.html.haml +++ b/app/views/layouts/mail.html.haml @@ -1,9 +1,83 @@ +-if @m_odr + -@title = @m_odr.name + -@description = @m_odr.description + !!! %html{:lang => "fr" } %head %meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" } %body + %br + %br + + -if @m_odr.logo_image_file + =image_tag "https://"+HOSTNAME+@m_odr.logo_image_file.file.url, :class => "odr_logo", :style => (@m_odr.logo_image_file_width? ? "max-width:#{@m_odr.logo_image_file_width}px;margin:auto;": "") + + + -if @m_odr.logo_image_file + =image_tag "https://"+HOSTNAME+@m_odr.banner_image_file.file.url, :class => "odr_banner", :style => (@m_odr.banner_image_file_width? ? "max-width:#{@m_odr.banner_image_file_width}px;margin:auto;margin-bottom:40px;": "") + + -background = (@m_odr.background_image_file ? "https://"+HOSTNAME+@m_odr.background_image_file.file.url : "") + :scss + body{ + background:url('#{background}') fixed; + background-size:100%; + background-size: cover; + font-family:arial, sans-serif; + } + .odr_logo,.odr_banner{ + width:90%; + display:block; + margin:auto; + } + + + #odr_form + .form_pannel= yield - = yield - \ No newline at end of file + + -if @m_odr + + + :scss + #odr_form{ + max-width:800px; + margin:auto; + width:90%; + + + } + p{ + margin:10px 0; + } + + .conditions{ + + max-width:800px; + margin:auto; + width:90%; + font-size:0.9em; + text-align:center; + margin-top:10px; + margin-bottom:100px; + } + + .form_pannel{ + background:rgba(white,0.8); + padding:10px 20px; + margin:10px 0; + box-shadow:0 0 15px rgba(0,0,0,0.1); + + } + + -if @m_odr.footer_image_file + -if @m_odr.footer_image_link? + =link_to image_tag("https://"+HOSTNAME+@m_odr.footer_image_file.file.url, :class => "odr_banner", :style => (@m_odr.footer_image_width? ? "max-width:#{@m_odr.footer_image_width}px;margin:auto;margin-top:50px;": "")), @m_odr.footer_image_link, :target => "_blank" + -else + =image_tag("https://"+HOSTNAME+@m_odr.footer_image_file.file.url, :class => "odr_banner", :style => (@m_odr.footer_image_width? ? "max-width:#{@m_odr.footer_image_width}px;margin:auto;": "")) + + -if @m_odr.conditions + .conditions=simple_format @m_odr.conditions + + \ No newline at end of file diff --git a/app/views/public/m_odrs/show.html.haml b/app/views/public/m_odrs/show.html.haml index 6daa9a6..d34f0f5 100644 --- a/app/views/public/m_odrs/show.html.haml +++ b/app/views/public/m_odrs/show.html.haml @@ -47,7 +47,7 @@ -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,:validate_tel => true ,:validate_email => true) + -@m_odr_rep.particulars.build(:skip_organisation => true, :validate_name => true,:validate_email => true) -@m_odr_rep.m_odr_rep_ribs.build() - @m_odr.m_odr_file_types.each do |ft| @@ -94,6 +94,7 @@ =f.input :email, :label => "Email :" =f.input :tel, :label => "Tel :" + Nous ne vous contacterons par téléphone qu’en cas de problème avec votre dossier .form_pannel %h3 Vos coordonnées bancaires @@ -132,7 +133,19 @@ =f.input :file, :label => f.object.m_odr_file_type.name =f.hidden_field :m_odr_file_type_id - + %br %center=f.submit "Envoyer", :class => "btn btn-primary btn-lg" + %br - \ No newline at end of file + :scss + abbr[title="required"] { + //display: none; + text-decoration:none; + border:0; + } + form{ + td{ + vertical-align:top; + } + + } \ No newline at end of file diff --git a/db/migrate/20200227162438_add_email_from_to_m_odrs.rb b/db/migrate/20200227162438_add_email_from_to_m_odrs.rb new file mode 100644 index 0000000..0247319 --- /dev/null +++ b/db/migrate/20200227162438_add_email_from_to_m_odrs.rb @@ -0,0 +1,5 @@ +class AddEmailFromToMOdrs < ActiveRecord::Migration[6.0] + def change + add_column :m_odrs, :email_from, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 7d69522..08d4b2c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_02_27_095045) do +ActiveRecord::Schema.define(version: 2020_02_27_162438) do create_table "accounting_zones", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t| t.string "name" @@ -669,6 +669,7 @@ ActiveRecord::Schema.define(version: 2020_02_27_095045) do t.integer "data_file_id" t.string "thank_title" t.text "thank_text" + t.string "email_from" t.index ["p_customer_id"], name: "index_m_odrs_on_p_customer_id" end diff --git a/public/uploads/tmp/1582820791-773489025153888-0001-9096/Abela_Sante_senior___3.csv b/public/uploads/tmp/1582820791-773489025153888-0001-9096/Abela_Sante_senior___3.csv new file mode 100644 index 0000000..b2805ac --- /dev/null +++ b/public/uploads/tmp/1582820791-773489025153888-0001-9096/Abela_Sante_senior___3.csv @@ -0,0 +1,125 @@ +zone_ids;formule;niveau;age;type;seul,0;couple,0 +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +;;;;;; +1;Senior + Santé;100;1;euro;85,80;171,60 +1;Senior + Santé;100;60;euro;98,67;197,34 +1;Senior + Santé;100;66;euro;113,46;226,92 +1;Senior + Santé;100;71;euro;136,15;272,31 +1;Senior + Santé;100;81;euro;177,00;354,00 +1;Senior + Santé;150;1;euro;102,62;205,25 +1;Senior + Santé;150;60;euro;118,02;236,04 +1;Senior + Santé;150;66;euro;135,72;271,43 +1;Senior + Santé;150;71;euro;162,85;325,71 +1;Senior + Santé;150;81;euro;187,28;374,55 +1;Senior + Santé;200;1;euro;117,77;235,53 +1;Senior + Santé;200;60;euro;135,43;270,86 +1;Senior + Santé;200;66;euro;155,74;311,47 +1;Senior + Santé;200;71;euro;186,89;373,79 +1;Senior + Santé;200;81;euro;214,93;429,86 +1;Senior + Santé;250;1;euro;137,95;275,91 +1;Senior + Santé;250;60;euro;158,65;317,30 +1;Senior + Santé;250;66;euro;182,44;364,87 +1;Senior + Santé;250;71;euro;209,80;419,60 +1;Senior + Santé;350;1;euro;222,07;444,15 +1;Senior + Santé;350;60;euro;255,38;510,77 +1;Senior + Santé;350;66;euro;293,69;587,38 +1;Senior + Santé;350;71;euro;311,24;622,48 +;;;;;; +2;Senior + Santé;100;1;euro;64,60;129,20 +2;Senior + Santé;100;60;euro;66,54;133,08 +2;Senior + Santé;100;61;euro;68,53;137,07 +2;Senior + Santé;100;62;euro;70,59;141,18 +2;Senior + Santé;100;63;euro;72,71;145,42 +2;Senior + Santé;100;64;euro;74,89;149,78 +2;Senior + Santé;100;65;euro;77,14;154,27 +2;Senior + Santé;100;66;euro;79,45;158,90 +2;Senior + Santé;100;67;euro;81,83;163,67 +2;Senior + Santé;100;68;euro;84,29;168,58 +2;Senior + Santé;100;69;euro;86,82;173,63 +2;Senior + Santé;100;70;euro;89,42;178,84 +2;Senior + Santé;100;71;euro;92,10;184,21 +2;Senior + Santé;100;72;euro;94,87;189,73 +2;Senior + Santé;100;73;euro;97,71;195,43 +2;Senior + Santé;100;74;euro;100,64;201,29 +2;Senior + Santé;100;75;euro;103,66;207,33 +2;Senior + Santé;100;77;euro;106,77;213,55 +2;Senior + Santé;100;78;euro;109,98;219,95 +2;Senior + Santé;100;79;euro;113,28;226,55 +2;Senior + Santé;100;84;euro;116,67;233,35 +2;Senior + Santé;100;85;euro;133,26;266,52 +2;Senior + Santé;150;1;euro;77,26;154,52 +2;Senior + Santé;150;60;euro;79,58;159,16 +2;Senior + Santé;150;61;euro;81,97;163,93 +2;Senior + Santé;150;62;euro;84,42;168,85 +2;Senior + Santé;150;63;euro;86,96;173,91 +2;Senior + Santé;150;64;euro;89,57;179,13 +2;Senior + Santé;150;65;euro;92,25;184,50 +2;Senior + Santé;150;66;euro;95,02;190,04 +2;Senior + Santé;150;67;euro;97,87;195,74 +2;Senior + Santé;150;68;euro;100,81;201,61 +2;Senior + Santé;150;69;euro;103,83;207,66 +2;Senior + Santé;150;70;euro;106,95;213,89 +2;Senior + Santé;150;71;euro;110,15;220,31 +2;Senior + Santé;150;72;euro;113,46;226,92 +2;Senior + Santé;150;73;euro;116,86;233,73 +2;Senior + Santé;150;74;euro;122,71;245,41 +2;Senior + Santé;150;75;euro;128,84;257,68 +2;Senior + Santé;150;76;euro;135,28;270,57 +2;Senior + Santé;150;77;euro;142,05;284,09 +2;Senior + Santé;150;78;euro;149,15;298,30 +2;Senior + Santé;150;79;euro;156,61;313,21 +2;Senior + Santé;150;84;euro;164,44;328,88 +2;Senior + Santé;150;85;euro;172,66;345,32 +2;Senior + Santé;200;1;euro;85,22;170,44 +2;Senior + Santé;200;60;euro;87,78;175,55 +2;Senior + Santé;200;61;euro;90,41;180,82 +2;Senior + Santé;200;62;euro;93,12;186,24 +2;Senior + Santé;200;63;euro;95,92;191,83 +2;Senior + Santé;200;64;euro;98,79;197,59 +2;Senior + Santé;200;65;euro;101,76;203,51 +2;Senior + Santé;200;66;euro;104,81;209,62 +2;Senior + Santé;200;67;euro;107,95;215,91 +2;Senior + Santé;200;68;euro;111,19;222,39 +2;Senior + Santé;200;69;euro;114,53;229,06 +2;Senior + Santé;200;70;euro;117,96;235,93 +2;Senior + Santé;200;71;euro;121,50;243,01 +2;Senior + Santé;200;72;euro;125,15;250,30 +2;Senior + Santé;200;73;euro;128,90;257,81 +2;Senior + Santé;200;74;euro;135,35;270,70 +2;Senior + Santé;200;75;euro;142,12;284,23 +2;Senior + Santé;200;76;euro;149,22;298,44 +2;Senior + Santé;200;77;euro;156,68;313,36 +2;Senior + Santé;200;78;euro;164,52;329,03 +2;Senior + Santé;200;79;euro;172,74;345,48 +2;Senior + Santé;200;84;euro;181,38;362,76 +2;Senior + Santé;200;85;euro;186,82;373,64 +2;Senior + Santé;250;1;euro;103,86;207,72 +2;Senior + Santé;250;64;euro;131,39;262,78 +2;Senior + Santé;250;69;euro;151,09;302,18 +2;Senior + Santé;250;78;euro;181,14;362,28 +2;Senior + Santé;350;1;euro;183,91;367,82 +2;Senior + Santé;350;64;euro;211,50;423,00 +2;Senior + Santé;350;69;euro;243,22;486,44 +2;Senior + Santé;350;78;euro;257,75;515,50 \ No newline at end of file