This commit is contained in:
Nicolas Bally 2020-02-27 17:36:50 +01:00
parent ce2ae3a70c
commit 1b82c04734
9 changed files with 236 additions and 11 deletions

View File

@ -21,7 +21,7 @@ class Public::MOdrRepsController < ApplicationController
if @m_odr_rep.save if @m_odr_rep.save
if mail_type = @m_odr.mail_types.where(:slug => "confirmation-inscription").first 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 mail.deliver
end end

View File

@ -8,6 +8,10 @@ class GeneralMails < ActionMailer::Base
def general(lang_slug, mail_type, email, options = {}) def general(lang_slug, mail_type, email, options = {})
@m_odr = @options[:m_odr]
@m_odr_rep = @options[:m_odr_rep]
@options = options @options = options
@mail_type = mail_type @mail_type = mail_type
@ -22,9 +26,11 @@ class GeneralMails < ActionMailer::Base
@ccis = @options[:ccis] || [] @ccis = @options[:ccis] || []
if @options[:from]
@from = @options[:from]
@from = @options[:from] if @options[:from] elsif @m_odr and @m_odr.email_from?
@from = @m_odr.email_from
end
if @from if @from
mail(:to => email, :subject => subject, :bcc => @ccis.join(";"), :from => @from) mail(:to => email, :subject => subject, :bcc => @ccis.join(";"), :from => @from)

View File

@ -1,6 +1,7 @@
class MOdrProduct < ApplicationRecord class MOdrProduct < ApplicationRecord
belongs_to :m_odr_brand belongs_to :m_odr_brand
belongs_to :m_odr
has_many :m_odr_product_remises, :dependent => :destroy has_many :m_odr_product_remises, :dependent => :destroy
accepts_nested_attributes_for :m_odr_product_remises, :allow_destroy => true accepts_nested_attributes_for :m_odr_product_remises, :allow_destroy => true

View File

@ -1,7 +1,7 @@
.m_odr_product_form.field .m_odr_product_form.field
= form.input :name, :label => "Nom :" = 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 %table.m_odr_product_remises_form

View File

@ -1,9 +1,83 @@
-if @m_odr
-@title = @m_odr.name
-@description = @m_odr.description
!!! !!!
%html{:lang => "fr" } %html{:lang => "fr" }
%head %head
%meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" } %meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" }
%body %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
-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

View File

@ -47,7 +47,7 @@
-else -else
-if !@m_odr_rep -if !@m_odr_rep
-@m_odr_rep = @m_odr.m_odr_reps.new(:t => params[:t]) -@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_rep.m_odr_rep_ribs.build()
- @m_odr.m_odr_file_types.each do |ft| - @m_odr.m_odr_file_types.each do |ft|
@ -94,6 +94,7 @@
=f.input :email, :label => "Email :" =f.input :email, :label => "Email :"
=f.input :tel, :label => "Tel :" =f.input :tel, :label => "Tel :"
Nous ne vous contacterons par téléphone quen cas de problème avec votre dossier
.form_pannel .form_pannel
%h3 Vos coordonnées bancaires %h3 Vos coordonnées bancaires
@ -132,7 +133,19 @@
=f.input :file, :label => f.object.m_odr_file_type.name =f.input :file, :label => f.object.m_odr_file_type.name
=f.hidden_field :m_odr_file_type_id =f.hidden_field :m_odr_file_type_id
%br
%center=f.submit "Envoyer", :class => "btn btn-primary btn-lg" %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;
}
}

View File

@ -0,0 +1,5 @@
class AddEmailFromToMOdrs < ActiveRecord::Migration[6.0]
def change
add_column :m_odrs, :email_from, :string
end
end

View File

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # 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| create_table "accounting_zones", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4", force: :cascade do |t|
t.string "name" t.string "name"
@ -669,6 +669,7 @@ ActiveRecord::Schema.define(version: 2020_02_27_095045) do
t.integer "data_file_id" t.integer "data_file_id"
t.string "thank_title" t.string "thank_title"
t.text "thank_text" t.text "thank_text"
t.string "email_from"
t.index ["p_customer_id"], name: "index_m_odrs_on_p_customer_id" t.index ["p_customer_id"], name: "index_m_odrs_on_p_customer_id"
end end

View File

@ -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
1 zone_ids formule niveau age type seul,0 couple,0
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 1 Senior + Santé 100 1 euro 85,80 171,60
27 1 Senior + Santé 100 60 euro 98,67 197,34
28 1 Senior + Santé 100 66 euro 113,46 226,92
29 1 Senior + Santé 100 71 euro 136,15 272,31
30 1 Senior + Santé 100 81 euro 177,00 354,00
31 1 Senior + Santé 150 1 euro 102,62 205,25
32 1 Senior + Santé 150 60 euro 118,02 236,04
33 1 Senior + Santé 150 66 euro 135,72 271,43
34 1 Senior + Santé 150 71 euro 162,85 325,71
35 1 Senior + Santé 150 81 euro 187,28 374,55
36 1 Senior + Santé 200 1 euro 117,77 235,53
37 1 Senior + Santé 200 60 euro 135,43 270,86
38 1 Senior + Santé 200 66 euro 155,74 311,47
39 1 Senior + Santé 200 71 euro 186,89 373,79
40 1 Senior + Santé 200 81 euro 214,93 429,86
41 1 Senior + Santé 250 1 euro 137,95 275,91
42 1 Senior + Santé 250 60 euro 158,65 317,30
43 1 Senior + Santé 250 66 euro 182,44 364,87
44 1 Senior + Santé 250 71 euro 209,80 419,60
45 1 Senior + Santé 350 1 euro 222,07 444,15
46 1 Senior + Santé 350 60 euro 255,38 510,77
47 1 Senior + Santé 350 66 euro 293,69 587,38
48 1 Senior + Santé 350 71 euro 311,24 622,48
49
50 2 Senior + Santé 100 1 euro 64,60 129,20
51 2 Senior + Santé 100 60 euro 66,54 133,08
52 2 Senior + Santé 100 61 euro 68,53 137,07
53 2 Senior + Santé 100 62 euro 70,59 141,18
54 2 Senior + Santé 100 63 euro 72,71 145,42
55 2 Senior + Santé 100 64 euro 74,89 149,78
56 2 Senior + Santé 100 65 euro 77,14 154,27
57 2 Senior + Santé 100 66 euro 79,45 158,90
58 2 Senior + Santé 100 67 euro 81,83 163,67
59 2 Senior + Santé 100 68 euro 84,29 168,58
60 2 Senior + Santé 100 69 euro 86,82 173,63
61 2 Senior + Santé 100 70 euro 89,42 178,84
62 2 Senior + Santé 100 71 euro 92,10 184,21
63 2 Senior + Santé 100 72 euro 94,87 189,73
64 2 Senior + Santé 100 73 euro 97,71 195,43
65 2 Senior + Santé 100 74 euro 100,64 201,29
66 2 Senior + Santé 100 75 euro 103,66 207,33
67 2 Senior + Santé 100 77 euro 106,77 213,55
68 2 Senior + Santé 100 78 euro 109,98 219,95
69 2 Senior + Santé 100 79 euro 113,28 226,55
70 2 Senior + Santé 100 84 euro 116,67 233,35
71 2 Senior + Santé 100 85 euro 133,26 266,52
72 2 Senior + Santé 150 1 euro 77,26 154,52
73 2 Senior + Santé 150 60 euro 79,58 159,16
74 2 Senior + Santé 150 61 euro 81,97 163,93
75 2 Senior + Santé 150 62 euro 84,42 168,85
76 2 Senior + Santé 150 63 euro 86,96 173,91
77 2 Senior + Santé 150 64 euro 89,57 179,13
78 2 Senior + Santé 150 65 euro 92,25 184,50
79 2 Senior + Santé 150 66 euro 95,02 190,04
80 2 Senior + Santé 150 67 euro 97,87 195,74
81 2 Senior + Santé 150 68 euro 100,81 201,61
82 2 Senior + Santé 150 69 euro 103,83 207,66
83 2 Senior + Santé 150 70 euro 106,95 213,89
84 2 Senior + Santé 150 71 euro 110,15 220,31
85 2 Senior + Santé 150 72 euro 113,46 226,92
86 2 Senior + Santé 150 73 euro 116,86 233,73
87 2 Senior + Santé 150 74 euro 122,71 245,41
88 2 Senior + Santé 150 75 euro 128,84 257,68
89 2 Senior + Santé 150 76 euro 135,28 270,57
90 2 Senior + Santé 150 77 euro 142,05 284,09
91 2 Senior + Santé 150 78 euro 149,15 298,30
92 2 Senior + Santé 150 79 euro 156,61 313,21
93 2 Senior + Santé 150 84 euro 164,44 328,88
94 2 Senior + Santé 150 85 euro 172,66 345,32
95 2 Senior + Santé 200 1 euro 85,22 170,44
96 2 Senior + Santé 200 60 euro 87,78 175,55
97 2 Senior + Santé 200 61 euro 90,41 180,82
98 2 Senior + Santé 200 62 euro 93,12 186,24
99 2 Senior + Santé 200 63 euro 95,92 191,83
100 2 Senior + Santé 200 64 euro 98,79 197,59
101 2 Senior + Santé 200 65 euro 101,76 203,51
102 2 Senior + Santé 200 66 euro 104,81 209,62
103 2 Senior + Santé 200 67 euro 107,95 215,91
104 2 Senior + Santé 200 68 euro 111,19 222,39
105 2 Senior + Santé 200 69 euro 114,53 229,06
106 2 Senior + Santé 200 70 euro 117,96 235,93
107 2 Senior + Santé 200 71 euro 121,50 243,01
108 2 Senior + Santé 200 72 euro 125,15 250,30
109 2 Senior + Santé 200 73 euro 128,90 257,81
110 2 Senior + Santé 200 74 euro 135,35 270,70
111 2 Senior + Santé 200 75 euro 142,12 284,23
112 2 Senior + Santé 200 76 euro 149,22 298,44
113 2 Senior + Santé 200 77 euro 156,68 313,36
114 2 Senior + Santé 200 78 euro 164,52 329,03
115 2 Senior + Santé 200 79 euro 172,74 345,48
116 2 Senior + Santé 200 84 euro 181,38 362,76
117 2 Senior + Santé 200 85 euro 186,82 373,64
118 2 Senior + Santé 250 1 euro 103,86 207,72
119 2 Senior + Santé 250 64 euro 131,39 262,78
120 2 Senior + Santé 250 69 euro 151,09 302,18
121 2 Senior + Santé 250 78 euro 181,14 362,28
122 2 Senior + Santé 350 1 euro 183,91 367,82
123 2 Senior + Santé 350 64 euro 211,50 423,00
124 2 Senior + Santé 350 69 euro 243,22 486,44
125 2 Senior + Santé 350 78 euro 257,75 515,50