Merge pull request #38192 from sokumon/hide-session

This commit is contained in:
Soham Kulkarni 2026-03-24 21:35:06 +05:30 committed by GitHub
commit 5f73586e63
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 63 additions and 64 deletions

View file

@ -287,6 +287,7 @@ frappe.Application = class Application {
} else { } else {
this.set_as_guest(); this.set_as_guest();
} }
frappe.ui.toolbar.fetch_session_defaults();
} }
setup_workspaces() { setup_workspaces() {
@ -377,17 +378,15 @@ frappe.Application = class Application {
logout() { logout() {
var me = this; var me = this;
me.logged_out = true; me.logged_out = true;
frappe.confirm(__("Are you sure you want to log out?"), function () { return frappe.call({
return frappe.call({ method: "logout",
method: "logout", callback: function (r) {
callback: function (r) { if (r.exc) {
if (r.exc) { return;
return; }
}
me.redirect_to_login(); me.redirect_to_login();
}, },
});
}); });
} }
handle_session_expired() { handle_session_expired() {

View file

@ -60,6 +60,9 @@ frappe.ui.SidebarHeader = class SidebarHeader {
label: "Session Defaults", label: "Session Defaults",
action: "frappe.ui.toolbar.setup_session_defaults()", action: "frappe.ui.toolbar.setup_session_defaults()",
is_standard: 1, is_standard: 1,
condition: function () {
return frappe.boot.session_defaults.length != 0;
},
icon: "sliders-horizontal", icon: "sliders-horizontal",
}, },
{ {

View file

@ -279,63 +279,60 @@ frappe.ui.toolbar.view_website = function () {
website_tab.location = "/index"; website_tab.location = "/index";
}; };
frappe.ui.toolbar.setup_session_defaults = function () { frappe.ui.toolbar.fetch_session_defaults = function () {
let fields = [];
frappe.call({ frappe.call({
method: "frappe.core.doctype.session_default_settings.session_default_settings.get_session_default_values", method: "frappe.core.doctype.session_default_settings.session_default_settings.get_session_default_values",
callback: function (data) { callback: function (data) {
fields = JSON.parse(data.message); frappe.boot.session_defaults = JSON.parse(data.message);
let perms = frappe.perm.get_perm("Session Default Settings");
//add settings button only if user is a System Manager or has permission on 'Session Default Settings'
if (frappe.user_roles.includes("System Manager") || perms[0].read == 1) {
fields[fields.length] = {
fieldname: "settings",
fieldtype: "Button",
label: __("Settings"),
click: () => {
frappe.set_route(
"Form",
"Session Default Settings",
"Session Default Settings"
);
},
};
}
frappe.prompt(
fields,
function (values) {
//if default is not set for a particular field in prompt
fields.forEach(function (d) {
if (!values[d.fieldname]) {
values[d.fieldname] = "";
}
});
frappe.call({
method: "frappe.core.doctype.session_default_settings.session_default_settings.set_session_default_values",
args: {
default_values: values,
},
callback: function (data) {
if (data.message == "success") {
frappe.show_alert({
message: __("Session Defaults Saved"),
indicator: "green",
});
frappe.ui.toolbar.clear_cache();
} else {
frappe.show_alert({
message: __(
"An error occurred while setting Session Defaults"
),
indicator: "red",
});
}
},
});
},
__("Session Defaults"),
__("Save")
);
}, },
}); });
}; };
frappe.ui.toolbar.setup_session_defaults = function () {
let perms = frappe.perm.get_perm("Session Default Settings");
let fields = frappe.boot.session_defaults;
//add settings button only if user is a System Manager or has permission on 'Session Default Settings'
if (frappe.user_roles.includes("System Manager") || perms[0].read == 1) {
fields[fields.length] = {
fieldname: "settings",
fieldtype: "Button",
label: __("Settings"),
click: () => {
frappe.set_route("Form", "Session Default Settings", "Session Default Settings");
},
};
}
frappe.prompt(
fields,
function (values) {
//if default is not set for a particular field in prompt
fields.forEach(function (d) {
if (!values[d.fieldname]) {
values[d.fieldname] = "";
}
});
frappe.call({
method: "frappe.core.doctype.session_default_settings.session_default_settings.set_session_default_values",
args: {
default_values: values,
},
callback: function (data) {
if (data.message == "success") {
frappe.show_alert({
message: __("Session Defaults Saved"),
indicator: "green",
});
frappe.ui.toolbar.clear_cache();
} else {
frappe.show_alert({
message: __("An error occurred while setting Session Defaults"),
indicator: "red",
});
}
},
});
},
__("Session Defaults"),
__("Save")
);
};