changeset 21b942b741f0 in modules/authentication_sms:5.2 details: https://hg.tryton.org/modules/authentication_sms?cmd=changeset;node=21b942b741f0 description: Show password field if password_sms is an authentication method
issue9255 review289921108 (grafted from 7fca1baab0c0f8181d12e2f93091a6088f97bfbe) diffstat: res.py | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diffs (29 lines): diff -r ba2af1030f5a -r 21b942b741f0 res.py --- a/res.py Sat Apr 04 17:04:19 2020 +0200 +++ b/res.py Sat Apr 25 09:44:32 2020 +0200 @@ -9,10 +9,13 @@ from trytond.i18n import gettext from trytond.model import ModelSQL, fields from trytond.pool import PoolMeta, Pool +from trytond.pyson import Eval from trytond.tools import resolve __all__ = ['User', 'SMSCode'] logger = logging.getLogger(__name__) +_has_password_sms = 'password_sms' in config.get( + 'session', 'authentications', default='password').split(',') def send_sms(text, to): @@ -34,6 +37,11 @@ def __setup__(cls): super(User, cls).__setup__() cls._preferences_fields.append('mobile') + cls._buttons['reset_password']['invisible'] &= ( + ~Eval('email', True) | (not _has_password_sms)) + cls.password.states['invisible'] &= not _has_password_sms + cls.password_reset.states['invisible'] &= not _has_password_sms + cls.password_reset_expire.states['invisible'] &= not _has_password_sms @classmethod def _login_sms(cls, login, parameters):