diff --git a/app/mailers/product_orders_mails.rb b/app/mailers/product_orders_mails.rb index b49d0a9..8b2d2c1 100755 --- a/app/mailers/product_orders_mails.rb +++ b/app/mailers/product_orders_mails.rb @@ -3,7 +3,15 @@ class ProductOrdersMails < ActionMailer::Base layout 'mail' default from: "Negos " - + def fournisseur(product_order, fournisseur) + @product_order = product_order + @fournisseur = fournisseur + @email = @fournisseur.email + @title = "Commande achat via Négos" + if @fournisseur.send_email + mail(:to => @email, :bcc => "info@nicolasbally.com", :subject => @title) + end + end def confirmation_cheque(product_order, options = {}) @options = options diff --git a/app/models/product_order.rb b/app/models/product_order.rb index 3ace153..c6b6522 100755 --- a/app/models/product_order.rb +++ b/app/models/product_order.rb @@ -5,6 +5,8 @@ class ProductOrder < ActiveRecord::Base has_many :product_order_products + + has_many :sub_products, :through => :product_order_products has_many :fournisseurs, :through => :sub_products @@ -256,6 +258,11 @@ class ProductOrder < ActiveRecord::Base self.bl_index = last_number+1 self.bl_number = self.bl_ap+self.bl_year.to_s+('%05d' % self.bl_index) self.save(:validate => false) + + + self.fournisseurs.each do |fournisseur| + ProductOrdersMails.fournisseur(self, fournisseur).deliver + end end end diff --git a/app/views/admin/product_orders/subs.html.haml b/app/views/admin/product_orders/subs.html.haml index 140e9da..55e08e2 100644 --- a/app/views/admin/product_orders/subs.html.haml +++ b/app/views/admin/product_orders/subs.html.haml @@ -116,6 +116,7 @@ %br %hr + %h3 Détail des sous produits %table.table %tr diff --git a/app/views/product_orders_mails/confirmation_cheque.html.haml b/app/views/product_orders_mails/confirmation_cheque.html.haml index 0a1a4b7..8559595 100755 --- a/app/views/product_orders_mails/confirmation_cheque.html.haml +++ b/app/views/product_orders_mails/confirmation_cheque.html.haml @@ -4,15 +4,15 @@ %p Bonjour, - %p Nous vous remercions pour votre pré-commande. + %p Nous vous remercions pour votre commande. + -if @product_order.reseaux_id != 19 + %p Nous vous confirmerons prochainement la date de livraison. - %p Nous vous confirmerons prochainement la date de livraison. + %p Par ailleurs, celle-ci vous sera expédiée dès que nous aurons reçu votre règlement. - %p Par ailleurs, celle-ci vous sera expédiée dès que nous aurons reçu votre règlement. - - %p - Pour cela, vous pouvez contacter LA VOUISIENNE au 04 76 55 30 94 ou par mail: - =link_to "contact@lavouisienne.fr.", "mailto:contact@lavouisienne.fr" + %p + Pour cela, vous pouvez contacter LA VOUISIENNE au 04 76 55 30 94 ou par mail: + =link_to "contact@lavouisienne.fr.", "mailto:contact@lavouisienne.fr" %p Vous trouverez ci-dessous le récapitulatif de votre commande : diff --git a/app/views/product_orders_mails/fournisseur.html.haml b/app/views/product_orders_mails/fournisseur.html.haml new file mode 100644 index 0000000..b3f3927 --- /dev/null +++ b/app/views/product_orders_mails/fournisseur.html.haml @@ -0,0 +1,58 @@ +:scss + .table{ + width:100%; + border-collapse:collapse; + td, th{ + border:1px solid rgba(0,0,0,0.4); + + } + } + + +%p + Pour information, et suite à l’accord avec l’association Vouis’star veuillez trouver ci-joint le récapitulatif de la commande établie ce jour : + + +%table.table + %tr + %th Fournisseur + %th Prix HT + + -fournisseur = @fournisseur + %tr + %td=fournisseur.name + %td + -i = 0.0 + -@product_order.sub_products.where(:fournisseur_id => fournisseur.id).each do |sub_product| + -i += sub_product.price_tot_with_qte + =number_to_currency i + +%br +%br + +%table.table + %tr + %th Fournisseur + %th Référence + %th Nom + %th Nbr + + + -@product_order.sub_products.group(:reference).where(:fournisseur_id => @fournisseur.id).each do |sub_product_group| + %tr + %td + = sub_product_group.fournisseur.name if sub_product_group.fournisseur + %td= sub_product_group.reference + %td= sub_product_group.name + + -sub_products = @product_order.sub_products.where(:reference => sub_product_group.reference) + + + %td + -i = 0.0 + -sub_products.each do |sub_product| + -i += sub_product.qte_tot + =i + + + \ No newline at end of file diff --git a/app/views/public/products/show.html.haml b/app/views/public/products/show.html.haml index c275435..2dea692 100755 --- a/app/views/public/products/show.html.haml +++ b/app/views/public/products/show.html.haml @@ -106,10 +106,12 @@ clearInterval(countup); } }, 0);} - %div{:style => "padding:10px 15px;display:inline-block;text-transform:uppercase;font-weight:bold;font-size:30px;line-height:35px;position:relative;top:-10px;padding-left:3px;"} + %div{:style => "padding:10px 15px;display:inline-block;text-transform:uppercase;font-weight:bold;font-size:25px;line-height:30px;position:relative;top:-10px;padding-left:3px;"} déjà %br commandés + %br + depuis 2018 :coffeescript diff --git a/db/migrate/20180326193718_add_email_to_fournisseurs.rb b/db/migrate/20180326193718_add_email_to_fournisseurs.rb new file mode 100644 index 0000000..e6ed223 --- /dev/null +++ b/db/migrate/20180326193718_add_email_to_fournisseurs.rb @@ -0,0 +1,6 @@ +class AddEmailToFournisseurs < ActiveRecord::Migration + def change + add_column :fournisseurs, :email, :string + add_column :fournisseurs, :send_email, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index 3253e13..a3bc795 100755 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180325210006) do +ActiveRecord::Schema.define(version: 20180326193718) do create_table "abonnements", force: :cascade do |t| t.integer "abonnement_type_id", limit: 4 @@ -378,6 +378,8 @@ ActiveRecord::Schema.define(version: 20180325210006) do t.string "bic", limit: 255 t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "email", limit: 255 + t.boolean "send_email", limit: 1 end create_table "gallery_contents", force: :cascade do |t|