Skip to content
Snippets Groups Projects
Commit 90434d0b authored by Demian Katz's avatar Demian Katz
Browse files

Fixed bug: item holds broken when request groups enabled.

parent 82778890
No related merge requests found
......@@ -311,7 +311,7 @@ class Holds extends AbstractPlugin
/**
* Check if the user-provided request group is valid.
*
* @param string $requestGroupId Id of user-specified request group
* @param array $gatheredDetails User hold parameters
* @param array $extraHoldFields Hold form fields enabled by
* configuration/driver
* @param array $requestGroups Request group list from driver
......@@ -319,15 +319,22 @@ class Holds extends AbstractPlugin
* @return bool
*/
public function validateRequestGroupInput(
$requestGroupId, $extraHoldFields, $requestGroups
$gatheredDetails, $extraHoldFields, $requestGroups
) {
// Not having to care for pickUpLocation is equivalent to having a valid one.
// Not having to care for requestGroup is equivalent to having a valid one.
if (!in_array('requestGroup', $extraHoldFields)) {
return true;
}
if (!isset($gatheredDetails['level'])
|| $gatheredDetails['level'] !== 'title'
) {
return true;
}
// Check the valid pickup locations for a match against user input:
return $this->validateRequestGroup($requestGroupId, $requestGroups);
return $this->validateRequestGroup(
$gatheredDetails['requestGroupId'], $requestGroups
);
}
/**
......
......@@ -136,11 +136,10 @@ class RecordController extends AbstractRecord
if (!is_null($this->params()->fromPost('placeHold'))) {
// If the form contained a pickup location or request group, make sure
// they are valid:
if (!$this->holds()->validateRequestGroupInput(
$gatheredDetails['requestGroupId'],
$extraHoldFields,
$requestGroups)
) {
$valid = $this->holds()->validateRequestGroupInput(
$gatheredDetails, $extraHoldFields, $requestGroups
);
if (!$valid) {
$this->flashMessenger()->setNamespace('error')
->addMessage('hold_invalid_request_group');
} elseif (!$this->holds()->validatePickUpInput(
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment