mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
MDL-60416 ltiservice_gradebookservices: supply error code reason
This commit is contained in:
parent
ede461a9a4
commit
9e0501a611
@ -78,6 +78,7 @@ class lineitem extends resource_base {
|
||||
if (is_null($typeid)) {
|
||||
if (!$this->check_tool_proxy(null, $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid tool proxy specified.");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@ -85,18 +86,21 @@ class lineitem extends resource_base {
|
||||
case self::HTTP_GET:
|
||||
if (!$this->check_type($typeid, $contextid, 'LineItem.item:get', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support GET requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case self::HTTP_PUT:
|
||||
if (!$this->check_type($typeid, $contextid, 'LineItem.item:put', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support PUT requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case self::HTTP_DELETE:
|
||||
if (!$this->check_type($typeid, $contextid, 'LineItem.item:delete', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support DELETE requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@ -107,19 +111,23 @@ class lineitem extends resource_base {
|
||||
}
|
||||
if (empty($contextid) || (!empty($contenttype) && !in_array($contenttype, $this->formats))) {
|
||||
$response->set_code(400);
|
||||
$response->set_reason("Invalid request made.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('course', array('id' => $contextid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Course $contextid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('grade_items', array('id' => $itemid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Grade item $itemid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
$item = $this->get_service()->get_lineitem($contextid, $itemid, $typeid);
|
||||
if ($item === false) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Line item does not exist.");
|
||||
return;
|
||||
}
|
||||
require_once($CFG->libdir.'/gradelib.php');
|
||||
@ -138,6 +146,7 @@ class lineitem extends resource_base {
|
||||
break;
|
||||
default: // Should not be possible.
|
||||
$response->set_code(405);
|
||||
$response->set_reason("Invalid request method specified.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -79,6 +79,7 @@ class lineitems extends resource_base {
|
||||
if (is_null($typeid)) {
|
||||
if (!$this->check_tool_proxy(null, $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid tool proxy specified.");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@ -86,27 +87,32 @@ class lineitems extends resource_base {
|
||||
case self::HTTP_GET:
|
||||
if (!$this->check_type($typeid, $contextid, 'LineItem.collection:get', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support GET requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case self::HTTP_POST:
|
||||
if (!$this->check_type($typeid, $contextid, 'LineItem.collection:post', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support POST requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default: // Should not be possible.
|
||||
$response->set_code(405);
|
||||
$response->set_reason("Invalid request method specified.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (empty($contextid) || !($container ^ ($response->get_request_method() === self::HTTP_POST)) ||
|
||||
(!empty($contenttype) && !in_array($contenttype, $this->formats))) {
|
||||
$response->set_code(400);
|
||||
$response->set_reason("Invalid request made.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('course', array('id' => $contextid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Course $contextid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
switch ($response->get_request_method()) {
|
||||
@ -136,6 +142,7 @@ class lineitems extends resource_base {
|
||||
break;
|
||||
default: // Should not be possible.
|
||||
$response->set_code(405);
|
||||
$response->set_reason("Invalid request method specified.");
|
||||
return;
|
||||
}
|
||||
$response->set_body($json);
|
||||
|
@ -77,29 +77,35 @@ class results extends resource_base {
|
||||
if (is_null($typeid)) {
|
||||
if (!$this->check_tool_proxy(null, $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid tool proxy specified.");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (!$this->check_type($typeid, $contextid, 'Result.collection:get', $response->get_request_data())) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("This resource does not support GET requests.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (empty($contextid) || (!empty($contenttype) && !in_array($contenttype, $this->formats))) {
|
||||
$response->set_code(400);
|
||||
$response->set_reason("Invalid request made.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('course', array('id' => $contextid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Course $contextid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('grade_items', array('id' => $itemid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Grade item $itemid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
$item = $this->get_service()->get_lineitem($contextid, $itemid, $typeid);
|
||||
if ($item === false) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Line item does not exist.");
|
||||
return;
|
||||
}
|
||||
$gbs = gradebookservices::find_ltiservice_gradebookservice_for_lineitem($itemid);
|
||||
@ -114,12 +120,14 @@ class results extends resource_base {
|
||||
if (isset($item->iteminstance) && (!gradebookservices::check_lti_id($ltilinkid, $item->courseid,
|
||||
$this->get_service()->get_tool_proxy()->id))) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid LTI id supplied.");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (isset($item->iteminstance) && (!gradebookservices::check_lti_1x_id($ltilinkid, $item->courseid,
|
||||
$typeid))) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid LTI id supplied.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -138,6 +146,7 @@ class results extends resource_base {
|
||||
break;
|
||||
default: // Should not be possible.
|
||||
$response->set_code(405);
|
||||
$response->set_reason("Invalid request method specified.");
|
||||
return;
|
||||
}
|
||||
$response->set_body($json);
|
||||
|
@ -89,10 +89,12 @@ class scores extends resource_base {
|
||||
switch ($response->get_request_method()) {
|
||||
case 'GET':
|
||||
$response->set_code(405);
|
||||
$response->set_reason("GET requests are not allowed.");
|
||||
return;
|
||||
case 'POST':
|
||||
if (!$this->check_type($typeid, $contextid, 'Score.collection:post', $response->get_request_data())) {
|
||||
$response->set_code(401);
|
||||
$response->set_reason("This resource does not support POST requests.");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@ -108,15 +110,18 @@ class scores extends resource_base {
|
||||
}
|
||||
if (!$DB->record_exists('course', array('id' => $contextid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Course $contextid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
if (!$DB->record_exists('grade_items', array('id' => $itemid))) {
|
||||
$response->set_code(404);
|
||||
$response->set_reason("Not Found: Grade item $itemid doesn't exist.");
|
||||
return;
|
||||
}
|
||||
$item = $this->get_service()->get_lineitem($contextid, $itemid, $typeid);
|
||||
if ($item === false) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Line item does not exist.");
|
||||
return;
|
||||
}
|
||||
$gbs = gradebookservices::find_ltiservice_gradebookservice_for_lineitem($itemid);
|
||||
@ -131,12 +136,14 @@ class scores extends resource_base {
|
||||
if (isset($item->iteminstance) && (!gradebookservices::check_lti_id($ltilinkid, $item->courseid,
|
||||
$this->get_service()->get_tool_proxy()->id))) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid LTI id supplied.");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (isset($item->iteminstance) && (!gradebookservices::check_lti_1x_id($ltilinkid, $item->courseid,
|
||||
$typeid))) {
|
||||
$response->set_code(403);
|
||||
$response->set_reason("Invalid LTI id supplied.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -146,6 +153,7 @@ class scores extends resource_base {
|
||||
switch ($response->get_request_method()) {
|
||||
case 'GET':
|
||||
$response->set_code(405);
|
||||
$response->set_reason("GET requests are not allowed.");
|
||||
break;
|
||||
case 'POST':
|
||||
try {
|
||||
@ -158,6 +166,7 @@ class scores extends resource_base {
|
||||
break;
|
||||
default: // Should not be possible.
|
||||
$response->set_code(405);
|
||||
$response->set_reason("Invalid request method specified.");
|
||||
return;
|
||||
}
|
||||
$response->set_body($json);
|
||||
|
Loading…
x
Reference in New Issue
Block a user