{= # # # # check_convert_profile_state.cfv # # # include "templates.util.base_util"; include "templates.util.rbac.rbac_util"; include "templates.util.encoding"; debug_message("\n\n#### check_convert_profile_state.cfv START \n\n"); # debug_message("\n" . node_as_string("v.fp") . "\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 (only root admin can convert profiles) # if (is_root_admin and get_is_valid_page_token(session_id, "profiles", page_token)) then ( string task_id = v.fp.task_id; # # Check if the task is still active or if it contains an error message # node task_item = get_task_item_node(task_id); 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); ); # # Clear "system.convert_version_80_profile" node # if (!is_active_task) then ( delete_node("system.convert_version_80_profile"); save_node("system"); ); # # # Send response # # string dat = "{"; dat .= add_json("taskId", task_id, "string"); dat .= add_json("isActiveTask", is_active_task, "bool"); dat = close_json(dat); 'profiles.checkConvertProfileStateResponse(' . dat . ')'; ) else ( # No permission to view this resource (URL) display_no_permission_html(); ); =}