forked from Mapan/odoo17e
37 lines
1.6 KiB
Python
37 lines
1.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import models
|
|
|
|
|
|
class PosSession(models.Model):
|
|
_inherit = 'pos.session'
|
|
|
|
def _loader_params_res_partner(self):
|
|
result = super()._loader_params_res_partner()
|
|
if self.user_has_groups('account.group_account_readonly'):
|
|
result['search_params']['fields'].extend(['credit_limit', 'total_due', 'use_partner_credit_limit'])
|
|
return result
|
|
|
|
def _loader_params_res_company(self):
|
|
result = super()._loader_params_res_company()
|
|
if self.user_has_groups('account.group_account_readonly'):
|
|
result['search_params']['fields'].extend(['account_use_credit_limit'])
|
|
return result
|
|
|
|
def _get_pos_ui_res_partner(self, params):
|
|
partners_list = super()._get_pos_ui_res_partner(params)
|
|
self._set_partner_due(partners_list)
|
|
return partners_list
|
|
|
|
def _set_partner_due(self, partners_list):
|
|
if self.config_id.currency_id != self.env.company.currency_id and self.user_has_groups('account.group_account_readonly') or self.env.ref('point_of_sale.group_pos_user') in self.env.user.groups_id:
|
|
for partner in partners_list:
|
|
partner_id = self.env['res.partner'].browse(partner['id'])
|
|
partner['total_due'] = partner_id.get_total_due(self.config_id.currency_id.id)
|
|
|
|
def get_pos_ui_res_partner_by_params(self, custom_search_params):
|
|
partners = super().get_pos_ui_res_partner_by_params(custom_search_params)
|
|
self._set_partner_due(partners)
|
|
return partners
|