diff options
Diffstat (limited to 'addons/auth_password_policy_portal')
5 files changed, 43 insertions, 0 deletions
diff --git a/addons/auth_password_policy_portal/__init__.py b/addons/auth_password_policy_portal/__init__.py new file mode 100644 index 00000000..153a9e31 --- /dev/null +++ b/addons/auth_password_policy_portal/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import controllers diff --git a/addons/auth_password_policy_portal/__manifest__.py b/addons/auth_password_policy_portal/__manifest__.py new file mode 100644 index 00000000..40ebdb6d --- /dev/null +++ b/addons/auth_password_policy_portal/__manifest__.py @@ -0,0 +1,8 @@ +{ + 'name': "Password Policy support for Signup", + 'depends': ['auth_password_policy', 'portal'], + 'category': 'Tools', + 'auto_install': True, + 'data': ['views/templates.xml'], + 'license': 'LGPL-3', +} diff --git a/addons/auth_password_policy_portal/controllers.py b/addons/auth_password_policy_portal/controllers.py new file mode 100644 index 00000000..89678520 --- /dev/null +++ b/addons/auth_password_policy_portal/controllers.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- + +from odoo.http import request +from odoo.addons.portal.controllers.portal import CustomerPortal + +class CustomerPortalPasswordPolicy(CustomerPortal): + def _prepare_portal_layout_values(self): + d = super()._prepare_portal_layout_values() + d['password_minimum_length'] = request.env['ir.config_parameter'].sudo().get_param('auth_password_policy.minlength') + return d diff --git a/addons/auth_password_policy_portal/static/src/scss/portal_policy.scss b/addons/auth_password_policy_portal/static/src/scss/portal_policy.scss new file mode 100644 index 00000000..8a3cb187 --- /dev/null +++ b/addons/auth_password_policy_portal/static/src/scss/portal_policy.scss @@ -0,0 +1,6 @@ +.o_portal_security_body #new-password-group { + position: relative; + meter { + bottom: calc(#{$input-height-sm} / 2 - 7px); + } +} diff --git a/addons/auth_password_policy_portal/views/templates.xml b/addons/auth_password_policy_portal/views/templates.xml new file mode 100644 index 00000000..427ee055 --- /dev/null +++ b/addons/auth_password_policy_portal/views/templates.xml @@ -0,0 +1,17 @@ +<odoo> + <template id="assets_frontend" inherit_id="web.assets_frontend" name="Portal Password Policy Assets"> + <xpath expr="." position="inside"> + <link rel="stylesheet" type="text/scss" href="/auth_password_policy_portal/static/src/scss/portal_policy.scss"/> + </xpath> + </template> + <template id="portal_my_security" inherit_id="portal.portal_my_security" + name="Password policy data for portal"> + <xpath expr="//div[hasclass('form-group')][input[@name='new1']]" position="attributes"> + <attribute name="id">new-password-group</attribute> + </xpath> + <!-- only put meter on first "new password" field since both must be identical --> + <xpath expr="//input[@name='new1']" position="attributes"> + <attribute name="t-att-minlength">password_minimum_length</attribute> + </xpath> + </template> +</odoo> |
