fix: ensure that the role exists

Some setups can have broken links here, resulting in a KeyError

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
Akhil Narang 2024-10-08 16:52:57 +05:30
parent 5324431fc0
commit 84bee76aba
No known key found for this signature in database
GPG key ID: 9DCC61E211BF645F

View file

@ -11,10 +11,10 @@ def execute():
for user in frappe.get_list("User"):
user_desk_settings = {}
for role_name in frappe.get_roles(username=user.name):
role = roles[role_name]
for key in desk_properties:
if role.get(key) is None:
role[key] = 1
user_desk_settings[key] = user_desk_settings.get(key) or role.get(key)
if role := roles.get(role_name):
for key in desk_properties:
if role.get(key) is None:
role[key] = 1
user_desk_settings[key] = user_desk_settings.get(key) or role.get(key)
frappe.db.set_value("User", user.name, user_desk_settings)