mirror of
https://gitlab.com/flectra-hq/flectra.git
synced 2026-08-19 01:34:43 -05:00
[PATCH] Upstream patch - 14022023
This commit is contained in:
@@ -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",""
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user