From 755f48fbf7bf9cc1ab2a72e36bd95ff8cbbaf11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Fri, 2 Feb 2018 17:12:21 +0100 Subject: [PATCH 01/10] [ADD] website_portal: Restrict modif personal info On the website portal, users must only be able to modify their phone and postal address. --- beesdoo_website_portal/__init__.py | 2 ++ beesdoo_website_portal/__openerp__.py | 28 ++++++++++++++++ .../controllers/__init__.py | 2 ++ beesdoo_website_portal/controllers/main.py | 27 ++++++++++++++++ .../views/portal_website_templates.xml | 32 +++++++++++++++++++ 5 files changed, 91 insertions(+) create mode 100644 beesdoo_website_portal/__init__.py create mode 100644 beesdoo_website_portal/__openerp__.py create mode 100644 beesdoo_website_portal/controllers/__init__.py create mode 100644 beesdoo_website_portal/controllers/main.py create mode 100644 beesdoo_website_portal/views/portal_website_templates.xml diff --git a/beesdoo_website_portal/__init__.py b/beesdoo_website_portal/__init__.py new file mode 100644 index 0000000..2fa08e5 --- /dev/null +++ b/beesdoo_website_portal/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf8 -*- +import controllers diff --git a/beesdoo_website_portal/__openerp__.py b/beesdoo_website_portal/__openerp__.py new file mode 100644 index 0000000..248ab3a --- /dev/null +++ b/beesdoo_website_portal/__openerp__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018 Rémy Taymans +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'BEES coop Website Portal', + + 'description': """ + Extension of the Website Portal that prevent modification of sensible data by the users + """, + + 'author': 'Rémy Taymans', + 'license': 'AGPL-3', + 'version': '9.0.1.0', + 'website': "https://github.com/beescoop/Obeesdoo", + + 'category': 'Cooperative management', + + 'depends': [ + 'website', + 'website_portal_extend', + ], + + 'data': [ + 'views/portal_website_templates.xml', + ] +} diff --git a/beesdoo_website_portal/controllers/__init__.py b/beesdoo_website_portal/controllers/__init__.py new file mode 100644 index 0000000..757b12a --- /dev/null +++ b/beesdoo_website_portal/controllers/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import main diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py new file mode 100644 index 0000000..104f2a8 --- /dev/null +++ b/beesdoo_website_portal/controllers/main.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- + +# Copyright 2017-2018 Rémy Taymans +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from openerp.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController + + +class BeesdooAccountWebsiteController(ExtendWebsiteAccountController): + + mandatory_billing_fields = [ + "phone", + "city", + "country_id", + "street", + "zipcode", + ] + optional_billing_fields = [ + "state_id", + ] + + def _set_mandatory_fields(self, data): + """This is not useful as the field 'company_name' is not present + anymore. + """ + pass diff --git a/beesdoo_website_portal/views/portal_website_templates.xml b/beesdoo_website_portal/views/portal_website_templates.xml new file mode 100644 index 0000000..19b0d5a --- /dev/null +++ b/beesdoo_website_portal/views/portal_website_templates.xml @@ -0,0 +1,32 @@ + + + + + + + + From 39a5af482806acc96ea01a5ee4b867cc1dc77cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Mon, 23 Dec 2019 15:42:13 +0100 Subject: [PATCH 02/10] [ADD] b_w_portal: Total pos order amount for a user --- beesdoo_website_portal/controllers/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py index 104f2a8..21568a2 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/beesdoo_website_portal/controllers/main.py @@ -5,6 +5,7 @@ from openerp.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController +from openerp.http import request class BeesdooAccountWebsiteController(ExtendWebsiteAccountController): From 96e53b11c5a0d5cc8bc9affcb703a88fc8ef246a Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Mon, 8 Jun 2020 18:44:28 +0200 Subject: [PATCH 03/10] [MIG] beesdoo_website_portal: 9.0 -> 10.0 - followed main oca guidelines - not tested on odoo 10.0 --- beesdoo_website_portal/__init__.py | 2 +- .../{__openerp__.py => __manifest__.py} | 20 ++++++++----------- beesdoo_website_portal/controllers/main.py | 10 +++++----- .../views/portal_website_templates.xml | 4 ++-- 4 files changed, 16 insertions(+), 20 deletions(-) rename beesdoo_website_portal/{__openerp__.py => __manifest__.py} (54%) diff --git a/beesdoo_website_portal/__init__.py b/beesdoo_website_portal/__init__.py index 2fa08e5..35b969a 100644 --- a/beesdoo_website_portal/__init__.py +++ b/beesdoo_website_portal/__init__.py @@ -1,2 +1,2 @@ # -*- coding: utf8 -*- -import controllers +from . import controllers diff --git a/beesdoo_website_portal/__openerp__.py b/beesdoo_website_portal/__manifest__.py similarity index 54% rename from beesdoo_website_portal/__openerp__.py rename to beesdoo_website_portal/__manifest__.py index 248ab3a..9f7fa9f 100644 --- a/beesdoo_website_portal/__openerp__.py +++ b/beesdoo_website_portal/__manifest__.py @@ -1,28 +1,24 @@ # -*- coding: utf-8 -*- - -# Copyright 2018 Rémy Taymans -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# Copyright 2017 - Today Coop IT Easy SCRLfs () +# - Rémy Taymans +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { 'name': 'BEES coop Website Portal', - 'description': """ Extension of the Website Portal that prevent modification of sensible data by the users """, - - 'author': 'Rémy Taymans', + 'author': 'Coop IT Easy SCRLfs', 'license': 'AGPL-3', - 'version': '9.0.1.0', - 'website': "https://github.com/beescoop/Obeesdoo", - + 'version': '10.0.1.0.0', + 'website': "https://www.coopiteasy.be", 'category': 'Cooperative management', - 'depends': [ 'website', 'website_portal_extend', ], - 'data': [ 'views/portal_website_templates.xml', - ] + ], + 'installable': True, } diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py index 21568a2..aa67dfe 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/beesdoo_website_portal/controllers/main.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- +# Copyright 2017 - Today Coop IT Easy SCRLfs () +# - Rémy Taymans +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -# Copyright 2017-2018 Rémy Taymans -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from openerp.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController -from openerp.http import request +from odoo.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController +from odoo.http import request class BeesdooAccountWebsiteController(ExtendWebsiteAccountController): diff --git a/beesdoo_website_portal/views/portal_website_templates.xml b/beesdoo_website_portal/views/portal_website_templates.xml index 19b0d5a..2fa6201 100644 --- a/beesdoo_website_portal/views/portal_website_templates.xml +++ b/beesdoo_website_portal/views/portal_website_templates.xml @@ -3,7 +3,7 @@ Copyright 2018 Rémy Taymans License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> - + - + From 5d75b53dad3eff62a73dffd1d17c754555685a56 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Mon, 8 Jun 2020 18:46:28 +0200 Subject: [PATCH 04/10] [MIG] beesdoo_website_portal: 10.0 -> 11.0 - followed main oca guidelines - not tested on odoo 11.0 --- beesdoo_website_portal/__init__.py | 1 - beesdoo_website_portal/__manifest__.py | 3 +-- beesdoo_website_portal/controllers/__init__.py | 1 - beesdoo_website_portal/controllers/main.py | 1 - 4 files changed, 1 insertion(+), 5 deletions(-) diff --git a/beesdoo_website_portal/__init__.py b/beesdoo_website_portal/__init__.py index 35b969a..e046e49 100644 --- a/beesdoo_website_portal/__init__.py +++ b/beesdoo_website_portal/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf8 -*- from . import controllers diff --git a/beesdoo_website_portal/__manifest__.py b/beesdoo_website_portal/__manifest__.py index 9f7fa9f..d83276c 100644 --- a/beesdoo_website_portal/__manifest__.py +++ b/beesdoo_website_portal/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2017 - Today Coop IT Easy SCRLfs () # - Rémy Taymans # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). @@ -10,7 +9,7 @@ """, 'author': 'Coop IT Easy SCRLfs', 'license': 'AGPL-3', - 'version': '10.0.1.0.0', + 'version': '11.0.1.0.0', 'website': "https://www.coopiteasy.be", 'category': 'Cooperative management', 'depends': [ diff --git a/beesdoo_website_portal/controllers/__init__.py b/beesdoo_website_portal/controllers/__init__.py index 757b12a..12a7e52 100644 --- a/beesdoo_website_portal/controllers/__init__.py +++ b/beesdoo_website_portal/controllers/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- from . import main diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py index aa67dfe..3477f58 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/beesdoo_website_portal/controllers/main.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2017 - Today Coop IT Easy SCRLfs () # - Rémy Taymans # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). From 2fec347d8cd108638815e8a09e984d2e948e4b23 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Tue, 9 Jun 2020 09:44:41 +0200 Subject: [PATCH 05/10] [MIG] beesdoo_website_portal: 11.0 -> 12.0 --- beesdoo_website_portal/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beesdoo_website_portal/__manifest__.py b/beesdoo_website_portal/__manifest__.py index d83276c..f3e33ec 100644 --- a/beesdoo_website_portal/__manifest__.py +++ b/beesdoo_website_portal/__manifest__.py @@ -9,7 +9,7 @@ """, 'author': 'Coop IT Easy SCRLfs', 'license': 'AGPL-3', - 'version': '11.0.1.0.0', + 'version': '12.0.1.0.0', 'website': "https://www.coopiteasy.be", 'category': 'Cooperative management', 'depends': [ From a6bebc8cbd0c4cde1e312f04a61cd8a0152d2070 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Tue, 9 Jun 2020 11:36:15 +0200 Subject: [PATCH 06/10] [MIG] beesdoo_website_portal: adaptation to 12.0 --- beesdoo_website_portal/__manifest__.py | 8 +-- beesdoo_website_portal/controllers/main.py | 35 +++++++------ .../views/portal_website_templates.xml | 49 ++++++++++--------- 3 files changed, 51 insertions(+), 41 deletions(-) diff --git a/beesdoo_website_portal/__manifest__.py b/beesdoo_website_portal/__manifest__.py index f3e33ec..26e3d3a 100644 --- a/beesdoo_website_portal/__manifest__.py +++ b/beesdoo_website_portal/__manifest__.py @@ -4,8 +4,8 @@ { 'name': 'BEES coop Website Portal', - 'description': """ - Extension of the Website Portal that prevent modification of sensible data by the users + 'summary': """ + Extension of the Portal that prevent modification of sensible data by the users """, 'author': 'Coop IT Easy SCRLfs', 'license': 'AGPL-3', @@ -13,8 +13,8 @@ 'website': "https://www.coopiteasy.be", 'category': 'Cooperative management', 'depends': [ - 'website', - 'website_portal_extend', + 'portal', + 'website' ], 'data': [ 'views/portal_website_templates.xml', diff --git a/beesdoo_website_portal/controllers/main.py b/beesdoo_website_portal/controllers/main.py index 3477f58..c221bb3 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/beesdoo_website_portal/controllers/main.py @@ -3,25 +3,32 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from odoo.addons.website_portal_extend.controllers.main import ExtendWebsiteAccountController -from odoo.http import request +from odoo.addons.portal.controllers.portal import CustomerPortal -class BeesdooAccountWebsiteController(ExtendWebsiteAccountController): - - mandatory_billing_fields = [ - "phone", +class BeesdooAccountWebsiteController(CustomerPortal): + # override from `portal` module + CustomerPortal.MANDATORY_BILLING_FIELDS = [ "city", "country_id", + "phone", "street", "zipcode", ] - optional_billing_fields = [ - "state_id", - ] + CustomerPortal.OPTIONAL_BILLING_FIELDS = ["state_id"] + + def details_form_validate(self, data): + error, error_message = super().details_form_validate(data) + + # since we override mandatory and optional billing fields, + # parent method will insert the following key/value in `error` dict and `error_message` list, + # preventing from saving the form. Workaround is to clear both dict and list. + if ( + error.get("common") + and error["common"] == "Unknown field" + and "Unknown field 'name,email,company_name,vat'" in error_message + ): + error.pop("common") + error_message.remove("Unknown field 'name,email,company_name,vat'") - def _set_mandatory_fields(self, data): - """This is not useful as the field 'company_name' is not present - anymore. - """ - pass + return error, error_message diff --git a/beesdoo_website_portal/views/portal_website_templates.xml b/beesdoo_website_portal/views/portal_website_templates.xml index 2fa6201..721235d 100644 --- a/beesdoo_website_portal/views/portal_website_templates.xml +++ b/beesdoo_website_portal/views/portal_website_templates.xml @@ -5,28 +5,31 @@ --> - - + + From 748e198ba0ef2865b641fc9febfd0b15a5595ee4 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Tue, 9 Jun 2020 11:36:47 +0200 Subject: [PATCH 07/10] [IMP] beesdoo_website_portal: black formatter --- beesdoo_website_portal/__manifest__.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/beesdoo_website_portal/__manifest__.py b/beesdoo_website_portal/__manifest__.py index 26e3d3a..bbfae4a 100644 --- a/beesdoo_website_portal/__manifest__.py +++ b/beesdoo_website_portal/__manifest__.py @@ -3,21 +3,16 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { - 'name': 'BEES coop Website Portal', - 'summary': """ + "name": "BEES coop Website Portal", + "summary": """ Extension of the Portal that prevent modification of sensible data by the users """, - 'author': 'Coop IT Easy SCRLfs', - 'license': 'AGPL-3', - 'version': '12.0.1.0.0', - 'website': "https://www.coopiteasy.be", - 'category': 'Cooperative management', - 'depends': [ - 'portal', - 'website' - ], - 'data': [ - 'views/portal_website_templates.xml', - ], - 'installable': True, + "author": "Coop IT Easy SCRLfs", + "license": "AGPL-3", + "version": "12.0.1.0.0", + "website": "https://www.coopiteasy.be", + "category": "Cooperative management", + "depends": ["portal", "website"], + "data": ["views/portal_website_templates.xml",], + "installable": True, } From 687417d44e441647843e2b6dc702775bc7fd4345 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Tue, 9 Jun 2020 11:44:36 +0200 Subject: [PATCH 08/10] [REF] beesdoo_website_portal -> website_portal_restrict_modification --- .../__init__.py | 0 .../__manifest__.py | 14 +++++++------- .../controllers/__init__.py | 0 .../controllers/main.py | 2 +- .../views/portal_website_templates.xml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) rename {beesdoo_website_portal => website_portal_restrict_modification}/__init__.py (100%) rename {beesdoo_website_portal => website_portal_restrict_modification}/__manifest__.py (58%) rename {beesdoo_website_portal => website_portal_restrict_modification}/controllers/__init__.py (100%) rename {beesdoo_website_portal => website_portal_restrict_modification}/controllers/main.py (95%) rename {beesdoo_website_portal => website_portal_restrict_modification}/views/portal_website_templates.xml (91%) diff --git a/beesdoo_website_portal/__init__.py b/website_portal_restrict_modification/__init__.py similarity index 100% rename from beesdoo_website_portal/__init__.py rename to website_portal_restrict_modification/__init__.py diff --git a/beesdoo_website_portal/__manifest__.py b/website_portal_restrict_modification/__manifest__.py similarity index 58% rename from beesdoo_website_portal/__manifest__.py rename to website_portal_restrict_modification/__manifest__.py index bbfae4a..5ffe4fb 100644 --- a/beesdoo_website_portal/__manifest__.py +++ b/website_portal_restrict_modification/__manifest__.py @@ -3,16 +3,16 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { - "name": "BEES coop Website Portal", + "name": "Website Portal Restrict Modification", + "version": "12.0.1.0.0", + "depends": ["portal", "website"], "summary": """ - Extension of the Portal that prevent modification of sensible data by the users + Portal extension preventing modification of sensible data by the users """, "author": "Coop IT Easy SCRLfs", "license": "AGPL-3", - "version": "12.0.1.0.0", - "website": "https://www.coopiteasy.be", - "category": "Cooperative management", - "depends": ["portal", "website"], - "data": ["views/portal_website_templates.xml",], + "website": "https://coopiteasy.be/", + "category": "Cooperative Management", + "data": ["views/portal_website_templates.xml"], "installable": True, } diff --git a/beesdoo_website_portal/controllers/__init__.py b/website_portal_restrict_modification/controllers/__init__.py similarity index 100% rename from beesdoo_website_portal/controllers/__init__.py rename to website_portal_restrict_modification/controllers/__init__.py diff --git a/beesdoo_website_portal/controllers/main.py b/website_portal_restrict_modification/controllers/main.py similarity index 95% rename from beesdoo_website_portal/controllers/main.py rename to website_portal_restrict_modification/controllers/main.py index c221bb3..68da976 100644 --- a/beesdoo_website_portal/controllers/main.py +++ b/website_portal_restrict_modification/controllers/main.py @@ -6,7 +6,7 @@ from odoo.addons.portal.controllers.portal import CustomerPortal -class BeesdooAccountWebsiteController(CustomerPortal): +class CustomerPortalRestrictModification(CustomerPortal): # override from `portal` module CustomerPortal.MANDATORY_BILLING_FIELDS = [ "city", diff --git a/beesdoo_website_portal/views/portal_website_templates.xml b/website_portal_restrict_modification/views/portal_website_templates.xml similarity index 91% rename from beesdoo_website_portal/views/portal_website_templates.xml rename to website_portal_restrict_modification/views/portal_website_templates.xml index 721235d..0810362 100644 --- a/beesdoo_website_portal/views/portal_website_templates.xml +++ b/website_portal_restrict_modification/views/portal_website_templates.xml @@ -6,8 +6,8 @@ -