Fix allow_mail_archived_partner causing system notifications to send emails

This commit is contained in:
Kristof Bernaert
2026-01-26 00:44:43 +01:00
commit f64fbb5e06
25 changed files with 453 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
from . import models
+18
View File
@@ -0,0 +1,18 @@
{
"name": "Archived Contact Warning",
"version": "1.0",
"category": "Sales",
"summary": "Show warning when using archived contacts",
"depends": ["sale", "account"],
"data": [
"views/sale_order_views.xml",
"views/account_move_views.xml",
],
"assets": {
"web.assets_backend": [
"archived_partner_show_warning/static/src/css/style.css",
],
},
"installable": True,
"application": False,
}
+50
View File
@@ -0,0 +1,50 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * archived_partner_show_warning
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-15 18:10+0000\n"
"PO-Revision-Date: 2026-01-15 19:15+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.6\n"
#. module: archived_partner_show_warning
#: model_terms:ir.ui.view,arch_db:archived_partner_show_warning.view_move_form_archived_warning
#: model_terms:ir.ui.view,arch_db:archived_partner_show_warning.view_order_form_archived_warning
msgid "<span>This customer is archived.</span>"
msgstr ""
"<span>De klant is gearchiveerd (geïmporteerd van vorige Odoo). Ga na of dit "
"aangepast moet worden naar een nieuwe klantenfiche.</span>"
#. module: archived_partner_show_warning
#: model_terms:ir.ui.view,arch_db:archived_partner_show_warning.view_move_form_archived_warning
#: model_terms:ir.ui.view,arch_db:archived_partner_show_warning.view_order_form_archived_warning
msgid "<strong>Warning: </strong>"
msgstr "<strong>Opgelet: </strong>"
#. module: archived_partner_show_warning
#: model:ir.model,name:archived_partner_show_warning.model_account_move
msgid "Journal Entry"
msgstr "Boeking"
#. module: archived_partner_show_warning
#: model:ir.model.fields,field_description:archived_partner_show_warning.field_account_bank_statement_line__partner_is_archived
#: model:ir.model.fields,field_description:archived_partner_show_warning.field_account_move__partner_is_archived
#: model:ir.model.fields,field_description:archived_partner_show_warning.field_account_payment__partner_is_archived
#: model:ir.model.fields,field_description:archived_partner_show_warning.field_sale_order__partner_is_archived
msgid "Partner Archived"
msgstr ""
#. module: archived_partner_show_warning
#: model:ir.model,name:archived_partner_show_warning.model_sale_order
msgid "Sales Order"
msgstr "Verkooporder"
+2
View File
@@ -0,0 +1,2 @@
from . import sale_order
from . import account_move
+15
View File
@@ -0,0 +1,15 @@
from odoo import models, fields, api
class AccountMove(models.Model):
_inherit = 'account.move'
partner_is_archived = fields.Boolean(
string='Partner Archived',
compute='_compute_partner_is_archived',
store=False
)
@api.depends('partner_id', 'partner_id.active')
def _compute_partner_is_archived(self):
for invoice in self:
invoice.partner_is_archived = invoice.partner_id and not invoice.partner_id.active
+15
View File
@@ -0,0 +1,15 @@
from odoo import models, fields, api
class SaleOrder(models.Model):
_inherit = 'sale.order'
partner_is_archived = fields.Boolean(
string='Partner Archived',
compute='_compute_partner_is_archived',
store=False
)
@api.depends('partner_id', 'partner_id.active')
def _compute_partner_is_archived(self):
for order in self:
order.partner_is_archived = order.partner_id and not order.partner_id.active
+18
View File
@@ -0,0 +1,18 @@
/* Custom styling for archived partner warning */
.archived-warning-custom {
margin: -20px 00 5px 0;
padding-top: 13px;
border-left: 4px solid #f0ad4e;
background: linear-gradient(135deg, #fcf8e3 0%, #faf2cc 100%);
}
.archived-warning-custom i {
font-size: 18px;
margin-right: 5px;
}
.archived-warning-custom strong {
font-size: 14px;
}
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_move_form_archived_warning" model="ir.ui.view">
<field name="name">account.move.form.archived.warning</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
<!-- Add field somewhere in the view first -->
<xpath expr="//field[@name='partner_id']" position="before">
<field name="partner_is_archived" invisible="1"/>
</xpath>
<!-- Warning after oe_title -->
<xpath expr="//div[@class='oe_title']" position="after">
<div class="row" attrs="{'invisible': [('partner_is_archived', '=', False)]}" >
<div class="col-12">
<div class="alert alert-warning archived-warning-custom">
<i class="fa fa-exclamation-triangle mr-2"></i>
<!-- TRANSLATORS: Warning label for archived customers -->
<strong>Warning: </strong>
<!-- TRANSLATORS: Warning message for archived customers -->
<span>This customer is archived.</span>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_order_form_archived_warning" model="ir.ui.view">
<field name="name">sale.order.form.archived.warning</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<!-- Add field somewhere in the view first -->
<xpath expr="//field[@name='partner_id']" position="before">
<field name="partner_is_archived" invisible="1"/>
</xpath>
<!-- Warning after oe_title -->
<xpath expr="//div[@class='oe_title']" position="after">
<div class="row" attrs="{'invisible': [('partner_is_archived', '=', False)]}" >
<div class="col-12">
<div class="alert alert-warning archived-warning-custom">
<i class="fa fa-exclamation-triangle mr-2"></i>
<!-- TRANSLATORS: Warning label for archived customers -->
<strong>Warning: </strong>
<!-- TRANSLATORS: Warning message for archived customers -->
<span>This customer is archived.</span>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>