Merge pull request #1738 from selfhoster1312/faster-user-option-form

Don't make so many queries for user info when building UserOption form
This commit is contained in:
Alexandre Aubin 2023-11-20 19:00:25 +01:00 committed by GitHub
commit 38469accee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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