diff --git a/project_average_acceptable_time/__manifest__.py b/project_average_acceptable_time/__manifest__.py index 51d373b..ac156a8 100644 --- a/project_average_acceptable_time/__manifest__.py +++ b/project_average_acceptable_time/__manifest__.py @@ -3,7 +3,7 @@ { "name": "project_average_acceptable_time", - "version": "18.0.1.0.0", + "version": "18.0.1.1.0", "author": "Elabore", "website": "https://git.elabore.coop/elabore/project-tools", "maintainer": "Clément Thomas", diff --git a/project_average_acceptable_time/controllers/custom_portal.py b/project_average_acceptable_time/controllers/custom_portal.py index ff484d5..5cfa014 100644 --- a/project_average_acceptable_time/controllers/custom_portal.py +++ b/project_average_acceptable_time/controllers/custom_portal.py @@ -17,9 +17,12 @@ class CustomCustomerPortal(CustomerPortal): if post and request.httprequest.method == "POST": error, error_message = self.details_form_validate(post) if not error: - user = request.env.user - if user.default_project_id and post["average_acceptable_time"]: - user.default_project_id.average_acceptable_time = post[ + # sudo: a portal user has no write access at all on + # project.project, and no read access on its default project + # unless it follows it + project_sudo = request.env.user.sudo().default_project_id + if project_sudo and post.get("average_acceptable_time"): + project_sudo.average_acceptable_time = post[ "average_acceptable_time" ] diff --git a/project_average_acceptable_time/views/portal_home_template.xml b/project_average_acceptable_time/views/portal_home_template.xml index 0e6152b..d8beeb2 100644 --- a/project_average_acceptable_time/views/portal_home_template.xml +++ b/project_average_acceptable_time/views/portal_home_template.xml @@ -8,11 +8,19 @@ priority="40" > -
- Average acceptable time: + + +
+ Average acceptable time: +
@@ -34,7 +42,7 @@ type="text" name="average_acceptable_time" t-attf-class="form-control #{error.get('average_acceptable_time') and 'is-invalid' or ''}" - t-att-value="average_acceptable_time or user_id.default_project_id.average_acceptable_time" + t-att-value="average_acceptable_time or user_id.sudo().default_project_id.average_acceptable_time" t-options="{'widget': 'float_time'}" />