{= # # # # check_delete_database_state.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#### check_delete_database_state.cfv START \n\n"); # debug_message("\n" . node_as_string("v.fp") . "\n"); string session_id = volatile.session_id; string page_token = v.fp.page_token; # # Check RBAC permissions (only root admin can convert profiles) # if (get_is_valid_page_token(session_id, "profiles", page_token)) then ( string task_id = v.fp.task_id; # debug_message("#### task_id: " . task_id . "\n"); # # Check if the task is still active or if it contains an error message # node task_item = get_task_item_node(task_id); # debug_message("#### task_item:\n" . node_as_string(task_item) . "\n"); bool is_active_task = (task_item?{"active"} and @task_item{"active"}); # Check if there is an error if (task_item?{"error_message"} and @task_item{"error_message"} ne "") then ( # Throw error message string error_message = @task_item{"error_message"}; # Add error_traceback if (task_item?{"error_traceback"} and @task_item{"error_traceback"} ne "") then ( error_message .= @task_item{"error_traceback"}; ); error(error_message); ); # string profiles_dat = "[]"; # int number_of_all_profiles = 0; if (!is_active_task) then ( bool is_root_admin = get_is_root_admin(); string user_node_name = node_name(volatile.authenticated_user_node_path); # Get up to date profile data # profiles_dat = get_profiles_dat(session_id, is_root_admin, user_node_name); # number_of_all_profiles = num_subnodes("profiles"); # Includes also profiles for which the user has no access permission! ); # # # Send response # # string dat = "{"; dat .= add_json("taskId", task_id, "string"); dat .= add_json("isActiveTask", is_active_task, "bool"); # dat .= add_json("profilesDb", profiles_dat, "obj"); # dat .= add_json("numberOfAllProfiles", number_of_all_profiles, "int"); dat = close_json(dat); 'deleteProfile.checkDeleteDatabaseStateResponse(' . dat . ')'; ) else ( # No permission to view this resource (URL) display_no_permission_html(); ); =}