{= # # get_profile_data.cfv # include "templates.util.base_util"; include "templates.util.rbac.rbac_util"; include "templates.util.encoding"; include "templates.util.profiles.get_profile_data_util"; debug_message("\n\n#### get_profile_data.cfv 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, "profiles", "view")) and get_is_valid_page_token(session_id, "profiles", page_token)) then ( string active_user_node_name = node_name(volatile.authenticated_user_node_path); debug_message("\n#### active_user_node_name: " . active_user_node_name . "\n"); # # # Get the config pages db # ['profile_info', 'log_source', ...] # # string config_pages_dat = get_config_pages_dat(); string profiles_dat = get_profiles_dat(is_root_admin, active_user_node_name); int number_of_licensed_profiles = get_number_of_licensed_profiles("licenses.license"); int number_of_all_profiles = num_subnodes("profiles"); # Includes also profiles for which the user has no access permission! debug_message("#### config_pages_dat: " . config_pages_dat . "\n"); debug_message("#### profiles_dat: " . profiles_dat . "\n"); debug_message("#### number_of_licensed_profiles: " . number_of_licensed_profiles . "\n"); debug_message("#### number_of_all_profiles: " . number_of_all_profiles . "\n"); # # Send response # string dat = "{"; dat .= add_json("configPagesDb", config_pages_dat, "obj"); dat .= add_json("profilesDb", profiles_dat, "obj"); dat .= add_json("numberOfLicensedProfiles", number_of_licensed_profiles, "int"); dat .= add_json("numberOfAllProfiles", number_of_all_profiles, "int"); dat = close_json(dat); 'getProfileDataResponse(' . dat . ')'; ) else ( # No permission to view this resource (URL) display_no_permission_html(); ); =}