From 561f0c4b18a56b9dd42e56eaa50537ad669b13b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Lodeiros?= Date: Thu, 26 Oct 2023 10:00:24 +0200 Subject: [PATCH] [IMP]pms_api_rest: reset-password public auth PATCH by POST --- pms_api_rest/services/pms_user_service.py | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pms_api_rest/services/pms_user_service.py b/pms_api_rest/services/pms_user_service.py index 9eb67efcd..9d550076a 100644 --- a/pms_api_rest/services/pms_user_service.py +++ b/pms_api_rest/services/pms_user_service.py @@ -1,18 +1,16 @@ import base64 -import tempfile import os +import tempfile +from datetime import datetime, timedelta + import werkzeug.exceptions +from odoo import _ +from odoo.exceptions import AccessDenied, MissingError + from odoo.addons.base_rest import restapi from odoo.addons.base_rest_datamodel.restapi import Datamodel from odoo.addons.component.core import Component -from odoo.exceptions import AccessDenied -from datetime import datetime, timedelta - - - -from odoo import _ -from odoo.exceptions import MissingError class PmsRoomTypeClassService(Component): @@ -33,7 +31,6 @@ class PmsRoomTypeClassService(Component): output_param=Datamodel("pms.api.rest.user.output", is_list=False), auth="jwt_api_pms", ) - def get_user(self, user_id): user = self.env["res.users"].sudo().search([("id", "=", user_id)]) if user: @@ -96,7 +93,7 @@ class PmsRoomTypeClassService(Component): else: user.write( { - "image_1024": '', + "image_1024": "", } ) return True @@ -122,7 +119,6 @@ class PmsRoomTypeClassService(Component): except AccessDenied: raise werkzeug.exceptions.Unauthorized(_("Wrong password")) - user.change_password(input_data.password, input_data.newPassword) PmsUserInfo = self.env.datamodels["pms.api.rest.user.login.output"] @@ -136,7 +132,7 @@ class PmsRoomTypeClassService(Component): [ "/p/reset-password", ], - "PATCH", + "POST", ) ], input_param=Datamodel("pms.api.rest.user.input", is_list=False), @@ -150,7 +146,6 @@ class PmsRoomTypeClassService(Component): self.env["res.users"].sudo().signup(values, input_data.resetToken) return True - @restapi.method( [ ( @@ -165,19 +160,22 @@ class PmsRoomTypeClassService(Component): cors="*", ) def send_mail_to_reset_password(self, input_data): - user = self.env["res.users"].sudo().search([("email", "=", input_data.userEmail)]) + user = ( + self.env["res.users"].sudo().search([("email", "=", input_data.userEmail)]) + ) if user: template_id = self.env.ref("pms_api_rest.pms_reset_password_email").id - template = self.env['mail.template'].sudo().browse(template_id) + template = self.env["mail.template"].sudo().browse(template_id) if not template: return False expiration_datetime = datetime.now() + timedelta(minutes=15) user.partner_id.sudo().signup_prepare(expiration=expiration_datetime) - template.with_context({'app_url': input_data.url}).send_mail(user.id, force_send=True) + template.with_context({"app_url": input_data.url}).send_mail( + user.id, force_send=True + ) return True return False - @restapi.method( [ ( @@ -191,7 +189,9 @@ class PmsRoomTypeClassService(Component): cors="*", ) def check_reset_password_token(self, reset_token): - user = self.env["res.partner"].sudo().search([("signup_token", "=", reset_token)]) + user = ( + self.env["res.partner"].sudo().search([("signup_token", "=", reset_token)]) + ) is_token_expired = False if not user: return True