feat: added default app selector in system settings

This commit is contained in:
Shariq Ansari 2024-08-08 20:18:40 +05:30
parent 3f5d6d2c7f
commit 50325727df
5 changed files with 26 additions and 5 deletions

View file

@ -27,9 +27,12 @@ def get_route(app_name):
def get_default_path():
default_app = frappe.db.get_value("User", frappe.session.user, "default_app")
if default_app:
return get_route(default_app)
system_default_app = frappe.get_system_settings("default_app")
user_default_app = frappe.db.get_value("User", frappe.session.user, "default_app")
if system_default_app and not user_default_app:
return get_route(system_default_app)
elif user_default_app:
return get_route(user_default_app)
apps = get_apps()
if len(apps) == 2:

View file

@ -17,6 +17,10 @@ frappe.ui.form.on("System Settings", {
},
});
frappe.xcall("frappe.apps.get_apps").then((r) => {
frm.set_df_property("default_app", "options", [" ", ...r]);
});
frm.trigger("set_rounding_method_options");
},
enable_password_policy: function (frm) {

View file

@ -79,6 +79,8 @@
"strip_exif_metadata_from_uploaded_images",
"column_break_uqma",
"allowed_file_extensions",
"app_tab",
"default_app",
"updates_tab",
"system_updates_section",
"disable_system_update_notification",
@ -656,12 +658,23 @@
"fieldname": "store_attached_pdf_document",
"fieldtype": "Check",
"label": "Store Attached PDF Document"
},
{
"fieldname": "app_tab",
"fieldtype": "Tab Break",
"label": "App"
},
{
"description": "Redirect to the selected app after login",
"fieldname": "default_app",
"fieldtype": "Select",
"label": "Default App"
}
],
"icon": "fa fa-cog",
"issingle": 1,
"links": [],
"modified": "2024-03-23 16:03:39.461597",
"modified": "2024-08-08 20:10:55.939839",
"modified_by": "Administrator",
"module": "Core",
"name": "System Settings",

View file

@ -36,6 +36,7 @@ class SystemSettings(Document):
date_format: DF.Literal[
"yyyy-mm-dd", "dd-mm-yyyy", "dd/mm/yyyy", "dd.mm.yyyy", "mm/dd/yyyy", "mm-dd-yyyy"
]
default_app: DF.Literal[None]
deny_multiple_sessions: DF.Check
disable_change_log_notification: DF.Check
disable_document_sharing: DF.Check
@ -82,7 +83,6 @@ class SystemSettings(Document):
]
otp_issuer_name: DF.Data | None
password_reset_limit: DF.Int
rate_limit_email_link_login: DF.Int
reset_password_link_expiry_duration: DF.Duration | None
reset_password_template: DF.Link | None
rounding_method: DF.Literal["Banker's Rounding (legacy)", "Banker's Rounding", "Commercial Rounding"]

View file

@ -63,6 +63,7 @@ class User(Document):
block_modules: DF.Table[BlockModule]
bypass_restrict_ip_check_if_2fa_enabled: DF.Check
code_editor_type: DF.Literal["vscode", "vim", "emacs"]
default_app: DF.Literal[None]
default_workspace: DF.Link | None
defaults: DF.Table[DefaultValue]
desk_theme: DF.Literal["Light", "Dark", "Automatic"]