{= # # preferences # include "templates.util.base_util"; include "templates.util.rbac.rbac_util"; debug_message("\n\n#### save_data.cfv (Preferences) START \n"); string session_id = volatile.session_id; bool is_root_admin = get_is_root_admin(); string page_token = v.fp.page_token; # # Check RBAC permissions # if ((is_root_admin or get_admin_feature_permission(session_id, "preferences", "edit")) and get_is_valid_page_token(session_id, "preferences", page_token)) then ( # remove page_token node delete_node("v.fp.page_token"); # Check if the language changed and inform client to reload in this case. bool language_changed = if (@("preferences.miscellaneous.language") eq @("v.fp.miscellaneous.language")) then (false) else (true); node group; node item; node preferences_group_node; foreach group "v.fp" ( preferences_group_node = "preferences." . node_name(group); foreach item group ( set_subnode_value(preferences_group_node, node_name(item), @item); ); ); save_node("preferences"); # # Response # "savePreferencesRespsonse(" . language_changed . ")\n"; ) else ( # No permission to access this resource (URL) display_no_permission_html(); ); =}