diff --git a/mo/users.py b/mo/users.py
index 0754725cac8bc947e871b91f55e936fa6bdfb9a7..ef89b1ae49b0224fbfc7360b1ac8e782f0438c58 100644
--- a/mo/users.py
+++ b/mo/users.py
@@ -467,12 +467,3 @@ def request_reset_password(user: db.User, client: Optional[str]) -> Optional[db.
details={'action': 'ask-reset'},
)
return rr
-
-
-def reset_user_dsn(user: db.User) -> None:
- if user.dsn_id:
- logger.info(f'Uživatel #{user.user_id}: Reset DSN')
- user.dsn_id = None
- conn = db.get_session().connection()
- dsn_table = db.EmailDSN.__table__
- conn.execute(dsn_table.delete().where(dsn_table.c.user_id == user.user_id))
diff --git a/mo/util_dsn.py b/mo/util_dsn.py
index 64fe8cd7a760abf451e64ad5a44fa09947c9c4f4..165530f055f47fee780bcfe5bc2f9dc5bbcf8e33 100644
--- a/mo/util_dsn.py
+++ b/mo/util_dsn.py
@@ -7,6 +7,7 @@ from typing import Optional
import mo
import mo.config as config
import mo.db as db
+from mo.util import logger
dsn_explanation = {
@@ -48,3 +49,12 @@ def expire_dsns() -> None:
.where(dsn_table.c.dsn_id.not_in(select(user_table.c.dsn_id))))
sess.commit()
+
+
+def reset_user_dsn(user: db.User) -> None:
+ if user.dsn_id:
+ logger.info(f'Uživatel #{user.user_id}: Reset DSN')
+ user.dsn_id = None
+ conn = db.get_session().connection()
+ dsn_table = db.EmailDSN.__table__
+ conn.execute(dsn_table.delete().where(dsn_table.c.user_id == user.user_id))
diff --git a/mo/web/acct.py b/mo/web/acct.py
index deefa8cc564a10e922596e9942bb5df773bfb6d0..a90723018688e1c4e0b4aa3e198997534b970646 100644
--- a/mo/web/acct.py
+++ b/mo/web/acct.py
@@ -555,14 +555,14 @@ class Reg2:
},
)
- mo.users.reset_user_dsn(user)
+ mo.util_dsn.reset_user_dsn(user)
self.spend_request_and_commit()
return True
def validate_email(self) -> None:
user = self.rr.user
app.logger.info(f'Reg2: Uživatel #{user.user_id} potvrzuje email <{user.email}>')
- mo.users.reset_user_dsn(user)
+ mo.util_dsn.reset_user_dsn(user)
self.spend_request_and_commit()
def change_passwd(self, new_passwd: str):
@@ -572,7 +572,7 @@ class Reg2:
app.logger.info(f'Reg2: Uživatel #{user.user_id} si resetoval heslo')
mo.users.set_password(user, new_passwd, reset=True)
mo.users.login(user)
- mo.users.reset_user_dsn(user)
+ mo.util_dsn.reset_user_dsn(user)
self.spend_request_and_commit()
def spend_request_and_commit(self):
diff --git a/mo/web/org_users.py b/mo/web/org_users.py
index 43f104b0b3c1b082b66767fca301d78c10e9fe18..be60c783a6446dca3effc800f4cd187d2d354be0 100644
--- a/mo/web/org_users.py
+++ b/mo/web/org_users.py
@@ -21,6 +21,7 @@ from mo.imports import GlobalOrgsImport
import mo.rights
from mo.rights import Right, Rights
import mo.util
+import mo.util_dsn
import mo.users
from mo.web import app
import mo.web.fields as mo_fields
@@ -525,7 +526,7 @@ def org_user_edit(id: int):
if sess.is_modified(user):
changes = db.get_object_changes(user)
if 'email' in changes:
- mo.users.reset_user_dsn(user)
+ mo.util_dsn.reset_user_dsn(user)
app.logger.info(f"Uživatel #{id} změněn: {changes}")
mo.util.log(
type=db.LogType.user,