diff --git a/vendor_portal_odoo/data/rfq_mail_templates.xml b/vendor_portal_odoo/data/rfq_mail_templates.xml index ed31bd079..4a3f647c9 100644 --- a/vendor_portal_odoo/data/rfq_mail_templates.xml +++ b/vendor_portal_odoo/data/rfq_mail_templates.xml @@ -21,7 +21,8 @@ Quantity from you.

- If you are interested, please check and let us know the quote + If you are interested, please check and let us know the + quote

Best regards, @@ -45,26 +46,27 @@ Dear,

- We want to let you know that we accept your quoted price of + We want to let you know that we accept your quoted + price of for the within your specified delivery date - from you. + from you

We'd like to buy units of - from you by the estimated date. + from you by the estimated date
- We will send you a purchase order as soon as possible. + We will send you a purchase order as soon as possible

- Best regards, + Best regards

diff --git a/vendor_portal_odoo/data/rfq_sequence.xml b/vendor_portal_odoo/data/rfq_sequence.xml index 56f40e905..e3f5441a5 100644 --- a/vendor_portal_odoo/data/rfq_sequence.xml +++ b/vendor_portal_odoo/data/rfq_sequence.xml @@ -1,6 +1,5 @@ - RFQ Sequence @@ -9,5 +8,4 @@ 5 - \ No newline at end of file diff --git a/vendor_portal_odoo/models/vendor_rfq.py b/vendor_portal_odoo/models/vendor_rfq.py index 0552e0af4..f9e0adf59 100644 --- a/vendor_portal_odoo/models/vendor_rfq.py +++ b/vendor_portal_odoo/models/vendor_rfq.py @@ -22,7 +22,7 @@ from odoo import api, fields, models, _ -class VendorRFQ(models.Model): +class VendorRfq(models.Model): """Vendor RFQ model""" _name = 'vendor.rfq' _inherit = ['mail.thread', 'mail.activity.mixin'] @@ -33,18 +33,22 @@ class VendorRFQ(models.Model): product_id = fields.Many2one('product.product', string='Product') quantity = fields.Float("Quantity") uom_id = fields.Many2one('uom.uom', string='UoM') - estimated_quote = fields.Monetary("Estimated Quote", currency_field='currency_id', + estimated_quote = fields.Monetary("Estimated Quote", + currency_field='currency_id', help="Estimated Quote Price") currency_id = fields.Many2one('res.currency', string='Currency', required=True, default=lambda self: self.env.user.company_id.currency_id) notes = fields.Html('Notes') - estimated_delivery_date = fields.Date(string="Delivery date", help="Vendor's delivery date") + estimated_delivery_date = fields.Date(string="Delivery date", + help="Vendor's delivery date") quote_date = fields.Datetime(default=fields.Datetime.now(), readonly=1) - closing_date = fields.Date(string="Closing date", help="Quotation closing date") + closing_date = fields.Date(string="Closing date", + help="Quotation closing date") vendor_ids = fields.Many2many('res.partner', - domain="[('is_registered', '=', True)]", help="Vendors you want to send quotations") + domain="[('is_registered', '=', True)]", + help="Vendors you want to send quotations") vendor_quote_history_ids = fields.One2many('vendor.quote.history', 'quote_id') user_id = fields.Many2one('res.users', default=lambda self: self.env.user, @@ -63,14 +67,14 @@ class VendorRFQ(models.Model): default=lambda self: self.env.company, ) - @api.model - def create(self, vals): + @api.model_create_multi + def create(self, vals_list): """Create function""" - if vals.get('name', 'New') == 'New': - vals['name'] = self.env['ir.sequence'].next_by_code( - 'vendor.rfq') or '/' - res = super(VendorRFQ, self).create(vals) - return res + for vals in vals_list: + if vals.get('name', 'New') == 'New': + vals['name'] = self.env['ir.sequence'].next_by_code( + 'vendor.rfq') or 'New' + return super(VendorRfq, self).create(vals_list) def action_send_by_mail(self): """For sending email to vendors""" @@ -124,7 +128,8 @@ class VendorRFQ(models.Model): 'product_uom': self.product_id.uom_po_id.id, 'price_unit': price, 'date_planned': rfq_quote.estimate_date, - 'taxes_id': [(6, 0, self.product_id.supplier_taxes_id.ids)], + 'taxes_id': [ + (6, 0, self.product_id.supplier_taxes_id.ids)], })], }) self.write({ @@ -177,7 +182,8 @@ class VendorQuoteHistory(models.Model): _rec_name = 'vendor_id' vendor_id = fields.Many2one('res.partner', - domain="[('is_registered', '=', True)]", string="Vendor") + domain="[('is_registered', '=', True)]", + string="Vendor") quoted_price = fields.Monetary(currency_field='currency_id') currency_id = fields.Many2one('res.currency', string='Currency', required=True, diff --git a/vendor_portal_odoo/wizard/rfq_done.py b/vendor_portal_odoo/wizard/rfq_done.py index ada6a9e39..c2ccba201 100644 --- a/vendor_portal_odoo/wizard/rfq_done.py +++ b/vendor_portal_odoo/wizard/rfq_done.py @@ -36,8 +36,6 @@ class RfqDone(models.TransientModel): related='vendor_id.quoted_price', string='Quoted Price') currency_id = fields.Many2one('res.currency', string='Currency', required=True, - default=lambda - self: self.env.user.company_id.currency_id, related='vendor_id.currency_id') estimate_date = fields.Date(related='vendor_id.estimate_date', string='Estimate Date') @@ -58,7 +56,8 @@ class RfqDone(models.TransientModel): 'email_from': self.env.user.partner_id.email, } self.env['mail.template'].browse(template_id).with_context( - context).send_mail(self.vendor_id.quote_id.id, email_values=email_values, + context).send_mail(self.vendor_id.quote_id.id, + email_values=email_values, force_send=True) rfq.write({ 'approved_vendor_id': self.vendor_id.vendor_id.id,