From bf992f24b29781f70221ab476ed74f08ca0a4d01 Mon Sep 17 00:00:00 2001 From: Patrick Hoste Date: Thu, 14 Apr 2022 14:02:22 +0000 Subject: [PATCH] [IMP] various: improves usage of partners SPECIFICATION Various change for the partner view: - Moved the activity widget to the bottom right of the kanban - Moved the informations badge to the bottom right next to the activity widget and made them clickable - Change the address options order and add a small help below - Change the 'Remove' button function from delete to remove from the company and add a delete button to the right end. - Correct some typo - Add an 'Archived' ribbon to the kanban card - Change various small things LINKS Task-2821356 closes odoo/odoo#89249 Related: odoo/enterprise#26442 Signed-off-by: Thibault Delavallee (tde) --- addons/base_geolocalize/models/res_partner.py | 2 +- .../views/res_partner_views.xml | 23 ++++--- addons/calendar/views/res_partner_views.xml | 13 ++-- addons/crm/views/res_partner_views.xml | 14 +++-- addons/mail/views/res_partner_views.xml | 2 +- addons/membership/views/partner_views.xml | 6 +- .../point_of_sale/views/res_partner_view.xml | 10 ++- addons/purchase/views/purchase_views.xml | 12 ++++ addons/purchase/views/res_partner_views.xml | 16 ++++- addons/sale/views/res_partner_views.xml | 15 +++-- addons/web/__manifest__.py | 1 + odoo/addons/base/models/res_partner.py | 8 ++- .../base/static/src/scss/res_partner.scss | 29 +++++++++ odoo/addons/base/views/res_partner_views.xml | 63 +++++++++++++------ 14 files changed, 157 insertions(+), 57 deletions(-) create mode 100644 odoo/addons/base/static/src/scss/res_partner.scss diff --git a/addons/base_geolocalize/models/res_partner.py b/addons/base_geolocalize/models/res_partner.py index 844e42bbe18..1f2cb8dc493 100644 --- a/addons/base_geolocalize/models/res_partner.py +++ b/addons/base_geolocalize/models/res_partner.py @@ -56,6 +56,6 @@ class ResPartner(models.Model): if partners_not_geo_localized: self.env['bus.bus']._sendone(self.env.user.partner_id, 'simple_notification', { 'title': _("Warning"), - 'message': _('No address found for %(partner_names)s.', partner_names=', '.join(partners_not_geo_localized.mapped('name'))) + 'message': _('No match found for %(partner_names)s address(es).', partner_names=', '.join(partners_not_geo_localized.mapped('name'))) }) return True diff --git a/addons/base_geolocalize/views/res_partner_views.xml b/addons/base_geolocalize/views/res_partner_views.xml index d85ec1a89d9..c031e180ce3 100644 --- a/addons/base_geolocalize/views/res_partner_views.xml +++ b/addons/base_geolocalize/views/res_partner_views.xml @@ -11,21 +11,20 @@ diff --git a/addons/calendar/views/res_partner_views.xml b/addons/calendar/views/res_partner_views.xml index 0542d010134..dc49f50a005 100644 --- a/addons/calendar/views/res_partner_views.xml +++ b/addons/calendar/views/res_partner_views.xml @@ -11,11 +11,14 @@ - - - - - + + + + + + + diff --git a/addons/crm/views/res_partner_views.xml b/addons/crm/views/res_partner_views.xml index ebc66f37908..187b51a49e2 100644 --- a/addons/crm/views/res_partner_views.xml +++ b/addons/crm/views/res_partner_views.xml @@ -12,10 +12,16 @@ - - - - + + + + + + + diff --git a/addons/mail/views/res_partner_views.xml b/addons/mail/views/res_partner_views.xml index 25a8f194baa..08e7835b610 100644 --- a/addons/mail/views/res_partner_views.xml +++ b/addons/mail/views/res_partner_views.xml @@ -36,7 +36,7 @@ - + diff --git a/addons/membership/views/partner_views.xml b/addons/membership/views/partner_views.xml index 38e45a0006c..538662c1a97 100644 --- a/addons/membership/views/partner_views.xml +++ b/addons/membership/views/partner_views.xml @@ -8,7 +8,8 @@ - + @@ -92,7 +93,8 @@ - + diff --git a/addons/point_of_sale/views/res_partner_view.xml b/addons/point_of_sale/views/res_partner_view.xml index ef2ebe9645f..e77a568ea21 100644 --- a/addons/point_of_sale/views/res_partner_view.xml +++ b/addons/point_of_sale/views/res_partner_view.xml @@ -32,8 +32,14 @@ - - + + + + + + + diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml index a36e36b547f..fc92482cec5 100644 --- a/addons/purchase/views/purchase_views.xml +++ b/addons/purchase/views/purchase_views.xml @@ -511,6 +511,18 @@ + + purchase.order.view.kanban.without.dashboard + purchase.order + + 20 + + + + + + + purchase.order.tree purchase.order diff --git a/addons/purchase/views/res_partner_views.xml b/addons/purchase/views/res_partner_views.xml index b564a6da137..27c41648410 100644 --- a/addons/purchase/views/res_partner_views.xml +++ b/addons/purchase/views/res_partner_views.xml @@ -24,7 +24,11 @@ RFQs and Purchases purchase.order - tree,form,graph + tree,kanban,form,graph + {'search_default_partner_id': active_id, 'default_partner_id': active_id} @@ -48,8 +52,14 @@ - - + + + + + + + diff --git a/addons/sale/views/res_partner_views.xml b/addons/sale/views/res_partner_views.xml index 85f56bea108..050ab768709 100644 --- a/addons/sale/views/res_partner_views.xml +++ b/addons/sale/views/res_partner_views.xml @@ -4,7 +4,7 @@ Quotations and Sales sale.order - tree,form,graph + tree,kanban,form,graph {'default_partner_id': active_id} @@ -26,11 +26,14 @@ - - - - - + + + + + + + diff --git a/addons/web/__manifest__.py b/addons/web/__manifest__.py index 73bddba641c..bd2bb28f119 100644 --- a/addons/web/__manifest__.py +++ b/addons/web/__manifest__.py @@ -139,6 +139,7 @@ This module provides the core of the Odoo Web Client. 'web/static/src/legacy/scss/form_view_extra.scss', 'web/static/src/legacy/scss/list_view_extra.scss', 'web/static/src/legacy/scss/profiling_qweb_view.scss', + 'base/static/src/scss/res_partner.scss', 'web/static/src/legacy/action_adapters.js', 'web/static/src/legacy/debug_manager.js', diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py index b599af374c4..305054aa961 100644 --- a/odoo/addons/base/models/res_partner.py +++ b/odoo/addons/base/models/res_partner.py @@ -185,11 +185,15 @@ class Partner(models.Model): [('contact', 'Contact'), ('invoice', 'Invoice Address'), ('delivery', 'Delivery Address'), + ('private', 'Private Address'), ('other', 'Other Address'), - ("private", "Private Address"), ], string='Address Type', default='contact', - help="Invoice & Delivery addresses are used in sales orders. Private addresses are only visible by authorized users.") + help="- Contact: Use this to organize the contact details of employees of a given company (e.g. CEO, CFO, ...).\n" + "- Invoice Address : Preferred address for all invoices. Selected by default when you invoice an order that belongs to this company.\n" + "- Delivery Address : Preferred address for all deliveries. Selected by default when you deliver an order that belongs to this company.\n" + "- Private: Private addresses are only visible by authorized users and contain sensitive data (employee home addresses, ...).\n" + "- Other: Other address for the company (e.g. subsidiary, ...)") # address fields street = fields.Char() street2 = fields.Char() diff --git a/odoo/addons/base/static/src/scss/res_partner.scss b/odoo/addons/base/static/src/scss/res_partner.scss new file mode 100644 index 00000000000..5f71dd08814 --- /dev/null +++ b/odoo/addons/base/static/src/scss/res_partner.scss @@ -0,0 +1,29 @@ +.o_kanban_view.o_res_partner_kanban { + + .ribbon { + &::before, &::after { + display: none; + } + + span { + padding: 5px; + font-size: x-small; + z-index: unset; + height: auto; + } + } + .ribbon-top-right { + margin-top: -$o-kanban-dashboard-vpadding; + + span { + top: 15px; + left: 10px; + } + } + + .oe_kanban_action_a:hover > .badge-pill { + background-color: $o-brand-primary; + color: white; + } + +} diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml index 1f2167f1adc..e3e304cdfe0 100644 --- a/odoo/addons/base/views/res_partner_views.xml +++ b/odoo/addons/base/views/res_partner_views.xml @@ -218,7 +218,8 @@ attrs="{'invisible': [('is_company', '=', True)]}"/> - + @@ -279,6 +280,23 @@ +
+

+ Use this to organize the contact details of employees of a given company (e.g. CEO, CFO, ...). +

+

+ Preferred address for all invoices. Selected by default when you invoice an order that belongs to this company. +

+

+ Preferred address for all deliveries. Selected by default when you deliver an order that belongs to this company. +

+

+ Private addresses are only visible by authorized users and contain sensitive data (employee home addresses, ...). +

+

+ Other address for the company (e.g. subsidiary, ...) +

+

@@ -307,7 +325,7 @@ - + @@ -318,7 +336,7 @@ - + @@ -330,7 +348,7 @@ - +
@@ -437,6 +455,7 @@ +
@@ -452,21 +471,27 @@