|
@ -22,21 +22,19 @@ |
|
|
from collections import OrderedDict |
|
|
from collections import OrderedDict |
|
|
from odoo import http, _ |
|
|
from odoo import http, _ |
|
|
from odoo.http import request |
|
|
from odoo.http import request |
|
|
from odoo.addons.portal.controllers.portal import pager as portal_pager, CustomerPortal |
|
|
from odoo.addons.portal.controllers.portal import pager as portal_pager, \ |
|
|
|
|
|
CustomerPortal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RFQCustomerPortal(CustomerPortal): |
|
|
class RFQCustomerPortal(CustomerPortal): |
|
|
|
|
|
|
|
|
def _prepare_home_portal_values(self, counters): |
|
|
def _prepare_home_portal_values(self, counter): |
|
|
"""RFQs in home portal""" |
|
|
"""RFQs in home portal""" |
|
|
user_partner = request.env.user.partner_id |
|
|
values = super()._prepare_home_portal_values(counter) |
|
|
values = super()._prepare_home_portal_values(counters) |
|
|
partner_id = request.env.user.partner_id |
|
|
if 'my_rfq_count' in counters: |
|
|
values['my_rfq_count'] = request.env['vendor.rfq'].sudo().search_count( |
|
|
values['my_rfq_count'] = request.env[ |
|
|
[('vendor_ids', 'in', partner_id.ids), |
|
|
'vendor.rfq'].search_count( |
|
|
('state', 'not in', ['draft'])]) |
|
|
[('vendor_ids', 'in', user_partner.ids)]) if request.env[ |
|
|
|
|
|
'vendor.rfq'].check_access_rights( |
|
|
|
|
|
'read', raise_exception=False) else 0 |
|
|
|
|
|
return values |
|
|
return values |
|
|
|
|
|
|
|
|
def _rfq_get_page_view_values(self, vendor_rfq, access_token, **kwargs): |
|
|
def _rfq_get_page_view_values(self, vendor_rfq, access_token, **kwargs): |
|
@ -55,9 +53,10 @@ class RFQCustomerPortal(CustomerPortal): |
|
|
"""Portal vendor RFQs""" |
|
|
"""Portal vendor RFQs""" |
|
|
values = self._prepare_portal_layout_values() |
|
|
values = self._prepare_portal_layout_values() |
|
|
user_partner = request.env.user.partner_id |
|
|
user_partner = request.env.user.partner_id |
|
|
vendor_rfq = request.env['vendor.rfq'].search([]) |
|
|
vendor_rfq = request.env['vendor.rfq'].sudo().search([]) |
|
|
domain = [ |
|
|
domain = [ |
|
|
('vendor_ids', 'in', user_partner.ids), ('state', 'not in', ['draft'])] |
|
|
('vendor_ids', 'in', user_partner.ids), |
|
|
|
|
|
('state', 'not in', ['draft'])] |
|
|
if date_begin and date_end: |
|
|
if date_begin and date_end: |
|
|
domain += [('create_date', '>', date_begin), |
|
|
domain += [('create_date', '>', date_begin), |
|
|
('create_date', '<=', date_end)] |
|
|
('create_date', '<=', date_end)] |
|
@ -117,7 +116,7 @@ class RFQCustomerPortal(CustomerPortal): |
|
|
website=True) |
|
|
website=True) |
|
|
def portal_my_vendor_rfq(self, rfq_id, access_token=None, **kw): |
|
|
def portal_my_vendor_rfq(self, rfq_id, access_token=None, **kw): |
|
|
"""displaying the RFQ details""" |
|
|
"""displaying the RFQ details""" |
|
|
rfq_details = request.env['vendor.rfq'].browse(int(rfq_id)) |
|
|
rfq_details = request.env['vendor.rfq'].sudo().browse(int(rfq_id)) |
|
|
vendor_quote = rfq_details.vendor_quote_history_ids.filtered( |
|
|
vendor_quote = rfq_details.vendor_quote_history_ids.filtered( |
|
|
lambda x: x.vendor_id.id == request.env.user.partner_id.id) |
|
|
lambda x: x.vendor_id.id == request.env.user.partner_id.id) |
|
|
quoted_price = vendor_quote.quoted_price |
|
|
quoted_price = vendor_quote.quoted_price |
|
|