diff --git a/module/VuFind/src/VuFind/Controller/RelaisController.php b/module/VuFind/src/VuFind/Controller/RelaisController.php index d66afb60c230883295a9245fd298a270f44d2162..303c5fe8504f8afe65e186fa96fa8d6d163e9b42 100644 --- a/module/VuFind/src/VuFind/Controller/RelaisController.php +++ b/module/VuFind/src/VuFind/Controller/RelaisController.php @@ -62,13 +62,29 @@ class RelaisController extends AbstractBase $q = $this->params()->fromQuery('query'); $url = $baseUrl . '?LS=' . urlencode($symbol) . '&dest=discovery&group=patron&PI=' - . urlencode($patron['cat_username']); + . urlencode($this->getRelaisUserIdentifier($patron)); if (!empty($q)) { $url .= '&query=' . rawurlencode($q); } return $this->redirect()->toUrl($url); } + /** + * Given patron data from the catalogLogin() method, return the appropriate + * identifer for use with Relais. + * + * @param array $patron Patron details + * + * @return string + */ + protected function getRelaisUserIdentifier($patron) + { + // By default we assume the cat_username field provides the appropriate + // username... but if you have a more complex situation at your local + // institution, you can extend the controller and override this method. + return $patron['cat_username']; + } + /** * Relais request action. *