Skip to content

Commit

Permalink
[IMP] auth_admin_passkey: Add possibility of using system environment…
Browse files Browse the repository at this point in the history
… variables
  • Loading branch information
marcelsavegnago committed Jan 23, 2024
1 parent 3209739 commit f7e4ffb
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions auth_admin_passkey/models/res_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html

import logging
import os
from datetime import datetime

from odoo import SUPERUSER_ID, _, api, exceptions, models
Expand All @@ -22,12 +23,24 @@ def _send_email_passkey(self, login_user):

admin_user = self.with_user(SUPERUSER_ID).browse(SUPERUSER_ID)

send_to_user = config.get("auth_admin_passkey_send_to_user", True)
sysadmin_email = config.get("auth_admin_passkey_sysadmin_email", False)
send_to_user = (
config.get("auth_admin_passkey_send_to_user")
or os.environ.get("AUTH_ADMIN_PASSKEY_SEND_TO_USER")
or True
)
sysadmin_email = (
config.get("auth_admin_passkey_sysadmin_email")
or os.environ.get("AUTH_ADMIN_PASSKEY_SYSADMIN_EMAIL")
or False
)

mails = []
if sysadmin_email:
lang = config.get("auth_admin_passkey_sysadmin_lang", admin_user.lang)
lang = (

Check warning on line 39 in auth_admin_passkey/models/res_users.py

View check run for this annotation

Codecov / codecov/patch

auth_admin_passkey/models/res_users.py#L39

Added line #L39 was not covered by tests
config.get("auth_admin_passkey_sysadmin_lang")
or os.environ.get("AUTH_ADMIN_PASSKEY_SYSADMIN_LANG")
or admin_user.lang
)
mails.append({"email": sysadmin_email, "lang": lang})
if send_to_user and login_user.email:
mails.append({"email": login_user.email, "lang": login_user.lang})
Expand Down Expand Up @@ -63,7 +76,11 @@ def _check_credentials(self, password, env):
if not users:
raise

file_password = config.get("auth_admin_passkey_password", False)
file_password = (
config.get("auth_admin_passkey_password")
or os.environ.get("AUTH_ADMIN_PASSKEY_PASSWORD")
or False
)
if password and file_password == password:
self._send_email_passkey(users[0])
else:
Expand Down

0 comments on commit f7e4ffb

Please sign in to comment.