{= # # # get_xrefs_data.cvf # # include "templates.util.base_util"; include "templates.util.rbac.rbac_util"; include "templates.util.encoding"; include "templates.config_pages.xrefs.get_xrefs_data_util"; debug_message("#### get_xrefs_data.cvf START \n"); string profile_name = internal.profile_name; 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_config_feature_permission(session_id, profile_name, "xrefs", "view")) and get_is_valid_page_token(session_id, "xrefs", page_token)) then ( node database = "profiles." . profile_name . ".database"; # Note, for the group fields we use field IDs such as f0, f1, f2, etc. # We genenerate this field IDs node in xrefs_get_database_fields_dat() # in the global node v.temp_database_field_ids. # This field Ids are used in the client side to refer to database fields. delete_node("v.temp_database_field_ids"); v.temp_database_field_ids = ""; node database_field_ids = "v.temp_database_field_ids"; string database_fields_dat = xrefs_get_database_fields_dat(database{"fields"}, database_field_ids); string xrefs_dat = "[]"; if (database?{"cross_reference_groups"}) then ( xrefs_dat = xrefs_get_xrefs_dat(database{"cross_reference_groups"}, database_field_ids); ) else ( xrefs_dat = "[]"; ); debug_message("#### database_fields_dat:\n" . database_fields_dat . "\n\n"); debug_message("#### xrefs_dat:\n" . xrefs_dat . "\n"); # # # Response # # string dat = "{"; dat .= add_json("databaseFieldsDb", database_fields_dat, "obj"); dat .= add_json("xrefsDb", xrefs_dat, "obj"); dat = close_json(dat); 'getXrefsDataResponse(' . dat . ')'; ) else ( # No permission to access this resource (URL) display_no_permission_html(); ); =}