diff --git a/vendor_portal_odoo/__manifest__.py b/vendor_portal_odoo/__manifest__.py
index 72b0ad05c..9035a4888 100755
--- a/vendor_portal_odoo/__manifest__.py
+++ b/vendor_portal_odoo/__manifest__.py
@@ -21,7 +21,7 @@
#############################################################################
{
'name': 'Odoo Vendor Portal',
- 'version': '17.0.1.0.0',
+ 'version': '17.0.1.0.1',
'category': 'Purchases',
'summary': """Vendor Portal Management in Odoo""",
'description': """This module helps to sent quotations for a product
diff --git a/vendor_portal_odoo/controllers/vendor_portal_odoo.py b/vendor_portal_odoo/controllers/vendor_portal_odoo.py
index b0f62b709..61680aaf3 100755
--- a/vendor_portal_odoo/controllers/vendor_portal_odoo.py
+++ b/vendor_portal_odoo/controllers/vendor_portal_odoo.py
@@ -77,7 +77,6 @@ class RFQCustomerPortal(CustomerPortal):
'In Progress': {'label': _('In Progress'),
'domain': [('state', '=', 'in_progress')]},
}
- # default filter by value
if not filterby:
filterby = 'all'
domain += searchbar_filters[filterby]['domain']
@@ -129,11 +128,20 @@ class RFQCustomerPortal(CustomerPortal):
@http.route(['/quote/details'], type='http', auth="public", website=True)
def quote_details(self, **post):
"""Quote details"""
- request.env['vendor.quote.history'].sudo().create({
- 'vendor_id': request.env.user.partner_id.id,
- 'quoted_price': float(post.get('price')),
- 'estimate_date': post.get('delivery_date'),
- 'note': post.get('additional_note'),
- 'quote_id': post.get('rfq_id'),
- })
+ vendor_quote_history_id = request.env['vendor.quote.history'].sudo().search(
+ [('quote_id', '=', int(post.get('rfq_id'))),
+ ('vendor_id', '=', request.env.user.partner_id.id)])
+ if vendor_quote_history_id:
+ vendor_quote_history_id.write({
+ 'quoted_price': post.get('price'),
+ 'estimate_date': post.get('delivery_date')
+ })
+ else:
+ request.env['vendor.quote.history'].sudo().create({
+ 'vendor_id': request.env.user.partner_id.id,
+ 'quoted_price': float(post.get('price')),
+ 'estimate_date': post.get('delivery_date'),
+ 'note': post.get('additional_note'),
+ 'quote_id': post.get('rfq_id'),
+ })
return request.redirect('/my/vendor_rfq/%s' % (post.get('rfq_id')))
diff --git a/vendor_portal_odoo/doc/RELEASE_NOTES.md b/vendor_portal_odoo/doc/RELEASE_NOTES.md
index 19e8076d8..e49c7ea16 100644
--- a/vendor_portal_odoo/doc/RELEASE_NOTES.md
+++ b/vendor_portal_odoo/doc/RELEASE_NOTES.md
@@ -4,3 +4,8 @@
#### Version 17.0.1.0.0
##### ADD
-Initial Commit for Odoo Vendor Portal
+
+#### 01.02.2024
+#### Version 17.0.1.0.1
+##### ADD
+-Bug Fix
diff --git a/vendor_portal_odoo/models/vendor_rfq.py b/vendor_portal_odoo/models/vendor_rfq.py
index 2693c6783..c940dd121 100755
--- a/vendor_portal_odoo/models/vendor_rfq.py
+++ b/vendor_portal_odoo/models/vendor_rfq.py
@@ -19,7 +19,9 @@
# If not, see .
#
#############################################################################
+
from odoo import api, fields, models, _
+from odoo.exceptions import ValidationError
class VendorRFQ(models.Model):
@@ -50,7 +52,8 @@ class VendorRFQ(models.Model):
help="Quotation closing date")
vendor_ids = fields.Many2many('res.partner',
domain="[('is_registered', '=', True)]",
- help="Vendors you want to send quotations")
+ help="Vendors you want to send quotations",
+ required=True)
vendor_quote_history_ids = fields.One2many('vendor.quote.history',
'quote_id',
string="Vendor Quote History",
@@ -71,6 +74,18 @@ class VendorRFQ(models.Model):
default=lambda self: self.env.company, help="Select Company"
)
+ @api.constrains('vendor_quote_history_ids')
+ def _check_vendor_id(self):
+ vendor_count = {}
+ for rec in self.vendor_quote_history_ids:
+ vendor_id = rec.vendor_id.id
+ vendor_name = rec.vendor_id.name
+ if vendor_id in vendor_count:
+ raise ValidationError(
+ _("Vendor '%s' has already submitted a quotation.") % vendor_name)
+ else:
+ vendor_count[vendor_id] = vendor_name
+
@api.model
def create(self, vals):
"""Create function"""
diff --git a/vendor_portal_odoo/views/vendor_rfq_views.xml b/vendor_portal_odoo/views/vendor_rfq_views.xml
index 626fa2ea1..8c3140ab0 100755
--- a/vendor_portal_odoo/views/vendor_rfq_views.xml
+++ b/vendor_portal_odoo/views/vendor_rfq_views.xml
@@ -62,7 +62,7 @@
-
+