Browse Source

May 31 [UPDT] : Bug Fixed 'vendor_portal_odoo'

pull/257/head
AjmalCybro 2 years ago
parent
commit
ac7d13ae9b
  1. 14
      vendor_portal_odoo/data/rfq_mail_templates.xml
  2. 2
      vendor_portal_odoo/data/rfq_sequence.xml
  3. 30
      vendor_portal_odoo/models/vendor_rfq.py
  4. 5
      vendor_portal_odoo/wizard/rfq_done.py

14
vendor_portal_odoo/data/rfq_mail_templates.xml

@ -21,7 +21,8 @@
Quantity from you.
<br/>
<br/>
If you are interested, please check and let us know the quote
If you are interested, please check and let us know the
quote
<br/>
<br/>
Best regards,
@ -45,26 +46,27 @@
Dear<t t-out="ctx.get('name') or ''"/>,
<br/>
<br/>
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
<strong t-esc="ctx.get('price') or ''"
t-options='{"widget": "monetary", "display_currency": ctx.get("currency_id")}'/>
for the
<strong t-out="object.product_id.name or ''"/>
within your specified delivery date
<strong t-out="ctx.get('delivery_date') or ''"/>
from you.
from you
<br/>
<br/>
We'd like to buy
<strong t-out="object.quantity or ''"/>
units of
<strong t-out="object.product_id.name or ''"/>
from you by the estimated date.
from you by the estimated date
<br/>
We will send you a purchase order as soon as possible.
We will send you a purchase order as soon as possible
<br/>
<br/>
Best regards,
Best regards
<br/>
<t t-out="object.user_id.name"/>
</p>

2
vendor_portal_odoo/data/rfq_sequence.xml

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data noupdate="1">
<!-- Sequence of vendor RFQ-->
<record id="seq_vendor_rfq" model="ir.sequence">
<field name="name">RFQ Sequence</field>
@ -9,5 +8,4 @@
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
</data>
</odoo>

30
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"""
for vals in vals_list:
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
'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,

5
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,

Loading…
Cancel
Save