From 8ee5aade72d0845fcf98b2de42f3b7b1ccceca12 Mon Sep 17 00:00:00 2001 From: selfhoster1312 Date: Sat, 4 Nov 2023 14:36:32 +0100 Subject: [PATCH] Don't make so many queries for user info when building UserOption form --- src/utils/form.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/utils/form.py b/src/utils/form.py index 1ca03373e..d164fedf0 100644 --- a/src/utils/form.py +++ b/src/utils/form.py @@ -941,9 +941,11 @@ class UserOption(BaseChoicesOption): super().__init__(question) + users = user_list(fields = ["username", "fullname", "mail", "mail-alias"])["users"] + self.choices = { username: f"{infos['fullname']} ({infos['mail']})" - for username, infos in user_list()["users"].items() + for username, infos in users.items() } if not self.choices: @@ -958,7 +960,7 @@ class UserOption(BaseChoicesOption): # Should be replaced by something like "any first user we find in the admin group" root_mail = "root@%s" % _get_maindomain() for user in self.choices.keys(): - if root_mail in user_info(user).get("mail-aliases", []): + if root_mail in users[user].get("mail-aliases", []): self.default = user break