function test_requests_for_url($url, $context_type, $context_id) { global $signer; $insert_result = create_request($url, $signer, $context_type, $context_id, RQ_REQUEST_TYPE::JOIN, 'foobar', ''); error_log("IR = " . print_r($insert_result, true)); $request_id = $insert_result; $rows = get_requests_for_context($url, $signer, $context_type, $context_id); dump_rows($rows); $rows = get_requests_by_user($url, $signer, $signer->account_id, $context_type, $context_id); dump_rows($rows); $row = get_request_by_id($url, $signer, $request_id, $context_type); dump_row($row); $num_pending = get_number_of_pending_requests_for_user($url, $signer, $signer->account_id, $context_type, $context_id); error_log("Num_pending(pre) = " . print_r($num_pending, true)); $pending = get_pending_requests_for_user($url, $signer, $signer->account_id, $context_type, $context_id); dump_rows($pending); resolve_pending_request($url, $signer, $context_type, $request_id, RQ_REQUEST_STATUS::APPROVED, 'resolved'); $num_pending = get_number_of_pending_requests_for_user($url, $signer, $signer->account_id, $context_type, $context_id); error_log("Num_pending(post) = " . print_r($num_pending, true)); }
$project_expiration_dt = new DateTime($project_expiration); $slice_project_name = $project[PA_PROJECT_TABLE_FIELDNAME::PROJECT_NAME]; } // For printing out "next resource expires in N days" $slivers = lookup_sliver_info_by_slice($sa_url, $user, $slice_urn); $next_resource_exp_date = get_next_resource_expiration($slivers); $max_renewal_days = get_max_renewal_days($project_expiration); $slice_boxes .= make_slice_box($slice_name, $slice_id, $slice_owner_id, $slice_owner_name, $slice_project_name, $slice_project_id, count($slivers), $slice_exp_date, $next_resource_exp_date, $max_renewal_days); } // Get names of all the project leads for the user's projects $lead_names = lookup_member_names_for_rows($ma_url, $user, $all_projects, PA_PROJECT_TABLE_FIELDNAME::LEAD_ID); // Make and fill dictionary of project join requests // Do this for ACTIVE projects only $project_request_map = array(); if (count($project_objects) > 0) { $reqlist = get_pending_requests_for_user($sa_url, $user, $user->account_id, CS_CONTEXT_TYPE::PROJECT); foreach ($reqlist as $req) { if ($req[RQ_REQUEST_TABLE_FIELDNAME::STATUS] != RQ_REQUEST_STATUS::PENDING) { continue; } $context_id = $req[RQ_REQUEST_TABLE_FIELDNAME::CONTEXT_ID]; if (array_key_exists($context_id, $project_request_map)) { $project_request_map[$context_id][] = $req; } else { $project_request_map[$context_id] = array($req); } } } // Make filters for slice section, we'll add project names to this as we go through projects $slice_filters = "<ul class='selectorcontainer'>"; $slice_filters .= "<li class='has-sub selector' style='float:none;' id='slicefilterswitch'>";
} include "tool-lookupids.php"; // Cancel request to join a project if (!isset($sa_url)) { $sa_url = get_first_service_of_type(SR_SERVICE_TYPE::SLICE_AUTHORITY); } if (array_key_exists("request_id", $_REQUEST)) { $request_id = $_REQUEST["request_id"]; $request = get_request_by_id($sa_url, $user, $request_id, CS_CONTEXT_TYPE::PROJECT); } else { error_log("cancel-project-request got no project_id"); } if (!isset($request) || is_null($request)) { error_log("No request from request_id"); if (isset($project_id)) { $reqs = get_pending_requests_for_user($sa_url, $user, $user->account_id, CS_CONTEXT_TYPE::PROJECT, $project_id); if (isset($reqs) && count($reqs) > 0) { if (count($reqs) > 1) { error_log("cancel-project-request: Got " . count($reqs) . " pending requests on same project for same member"); } $request = $reqs[0]; $request_id = $request['id']; } else { error_log("cancel-p-reqs: no pending reqs for this project, user"); } } else { error_log("cancel-p-req: And no project_id. Fail"); } if (!isset($request) || is_null($request)) { show_header('GENI Portal: Projects'); include "tool-breadcrumbs.php";