[PATCH] Upstream patch - 14022023

This commit is contained in:
Parthiv Patel
2023-02-14 08:40:58 +00:00
parent 42ebcac976
commit be3558204b
6 changed files with 13 additions and 21 deletions
+4 -3
View File
@@ -2596,9 +2596,11 @@ class AccountMove(models.Model):
if (custom_values or {}).get('move_type', 'entry') not in ('out_invoice', 'in_invoice'):
return super().message_new(msg_dict, custom_values=custom_values)
company = self.env['res.company'].browse(custom_values['company_id']) if custom_values.get('company_id') else self.env.company
def is_internal_partner(partner):
# Helper to know if the partner is an internal one.
return partner.user_ids and all(user.has_group('base.group_user') for user in partner.user_ids)
return partner == company.partner_id or (partner.user_ids and all(user.has_group('base.group_user') for user in partner.user_ids))
extra_domain = False
if custom_values.get('company_id'):
@@ -2621,11 +2623,10 @@ class AccountMove(models.Model):
if is_internal_partner(partners[0]):
# Search for partners in the mail's body.
body_mail_addresses = set(email_re.findall(msg_dict.get('body')))
company_id = custom_values.get('company_id', self.env.company.id)
partners = [
partner
for partner in self._mail_find_partner_from_emails(body_mail_addresses, extra_domain)
if not is_internal_partner(partner) and partner.company_id.id in (False, company_id)
if not is_internal_partner(partner) and partner.company_id.id in (False, company.id)
]
# Little hack: Inject the mail's subject in the body.
@@ -1199,3 +1199,5 @@
"chart_skr04_9008","9008","Saldenvorträge Debitoren","","account.data_account_type_other_income","l10n_de_skr04.l10n_chart_de_skr04",""
"chart_skr04_9009","9009","Saldenvorträge Kreditoren","","account.data_account_type_other_income","l10n_de_skr04.l10n_chart_de_skr04",""
"chart_skr04_9090","9090","Summenvortragskonto","","account.data_account_type_current_assets","l10n_de_skr04.l10n_chart_de_skr04",""
"chart_skr04_9991","9991","Einkommen aus Bardifferenz","account.account_tag_operating,l10n_de.tag_de_pl_04","account.data_account_type_revenue","l10n_de_skr04.l10n_chart_de_skr04",""
"chart_skr04_9994","9994","Verlust aus Bardifferenz","account.account_tag_operating,l10n_de.tag_de_pl_08_7","account.data_account_type_expenses","l10n_de_skr04.l10n_chart_de_skr04",""
1 id code name tag_ids/id user_type_id/id chart_template_id/id reconcile
1199 chart_skr04_9008 9008 Saldenvorträge Debitoren account.data_account_type_other_income l10n_de_skr04.l10n_chart_de_skr04
1200 chart_skr04_9009 9009 Saldenvorträge Kreditoren account.data_account_type_other_income l10n_de_skr04.l10n_chart_de_skr04
1201 chart_skr04_9090 9090 Summenvortragskonto account.data_account_type_current_assets l10n_de_skr04.l10n_chart_de_skr04
1202 chart_skr04_9991 9991 Einkommen aus Bardifferenz account.account_tag_operating,l10n_de.tag_de_pl_04 account.data_account_type_revenue l10n_de_skr04.l10n_chart_de_skr04
1203 chart_skr04_9994 9994 Verlust aus Bardifferenz account.account_tag_operating,l10n_de.tag_de_pl_08_7 account.data_account_type_expenses l10n_de_skr04.l10n_chart_de_skr04
@@ -12,5 +12,7 @@
<field name="income_currency_exchange_account_id" ref="l10n_de_skr04.chart_skr04_4840"/>
<field name="expense_currency_exchange_account_id" ref="l10n_de_skr04.chart_skr04_6880"/>
<field name="default_pos_receivable_account_id" ref="l10n_de_skr04.chart_skr04_1206" />
<field name="default_cash_difference_income_account_id" ref="l10n_de_skr04.chart_skr04_9991"/>
<field name="default_cash_difference_expense_account_id" ref="l10n_de_skr04.chart_skr04_9994"/>
</record>
</flectra>
+4 -1
View File
@@ -28,6 +28,9 @@ class ProductTemplate(models.Model):
# Deletion forbidden (at least through unlink)
return self.env.ref('uom.product_uom_unit')
def _get_default_uom_po_id(self):
return self.default_get(['uom_id']).get('uom_id') or self._get_default_uom_id()
def _read_group_categ_id(self, categories, domain, order):
category_ids = self.env.context.get('default_categ_id')
if not category_ids and self.env.context.get('group_expand'):
@@ -103,7 +106,7 @@ class ProductTemplate(models.Model):
uom_name = fields.Char(string='Unit of Measure Name', related='uom_id.name', readonly=True)
uom_po_id = fields.Many2one(
'uom.uom', 'Purchase Unit of Measure',
default=_get_default_uom_id, required=True,
default=_get_default_uom_po_id, required=True,
help="Default unit of measure used for purchase orders. It must be in the same category as the default unit of measure.")
company_id = fields.Many2one(
'res.company', 'Company', index=1)
+1 -1
View File
@@ -121,7 +121,7 @@
<field name="name">sale.order.calendar</field>
<field name="model">sale.order</field>
<field name="arch" type="xml">
<calendar string="Sales Orders" date_start="date_order" color="state" hide_time="true" event_limit="5">
<calendar string="Sales Orders" date_start="date_order" color="state" hide_time="true" event_limit="5" quick_add="False">
<field name="currency_id" invisible="1"/>
<field name="partner_id" avatar_field="image_128"/>
<field name="amount_total" widget="monetary"/>
-16
View File
@@ -1090,22 +1090,6 @@ class WebClient(http.Controller):
return request.render('web.benchmark_suite')
class Proxy(http.Controller):
@http.route('/web/proxy/post/<path:path>', type='http', auth='user', methods=['GET'])
def post(self, path):
"""Effectively execute a POST request that was hooked through user login"""
with request.session.load_request_data() as data:
if not data:
raise werkzeug.exceptions.BadRequest()
from werkzeug.test import Client
base_url = request.httprequest.base_url
query_string = request.httprequest.query_string
client = Client(http.root, werkzeug.wrappers.Response)
headers = {'X-Openerp-Session-Id': request.session.sid}
return client.post('/' + path, base_url=base_url, query_string=query_string,
headers=headers, data=data)
class Database(http.Controller):
def _render_template(self, **d):