diff --git a/VERSIONS_WIP/111127 b/VERSIONS_WIP/111127 index deaed254e399ab198dfc14152b9ab97e5028a577..dd6d97f83f88cd4ef5dd8ebf5a2e611dcf868883 100644 --- a/VERSIONS_WIP/111127 +++ b/VERSIONS_WIP/111127 @@ -3,4 +3,5 @@ - administration : possibilité de visualiser plusieurs journées de rendez-vous - confirmation de rendez-vous : utilisation du mail renseigné dans la fiche bibliothèque en priorité - popup de connexion : n'affiche le bouton "planifier le retrait de mes documents" seulement si un document en attente de retrait dans une bibliothèque avec drive activé - - prise de rendez-vous : s'il n'y a qu'un site de retrait possible l'abonné est dirigé directement sur le choix d'une date pour ce site \ No newline at end of file + - prise de rendez-vous : s'il n'y a qu'un site de retrait possible l'abonné est dirigé directement sur le choix d'une date pour ce site + - prise de rendez-vous : nouvelle variable "DRIVE_DISABLE_HOLD_CHECK" permettant la prise de rendez-vous sans vérification de l'existence ou de l'état des réservations de l'abonné \ No newline at end of file diff --git a/library/Class/AdminVar.php b/library/Class/AdminVar.php index c8d2f8c801157bf0abfa9cd19bcbd3f33a7b130a..9876ad6cb3f4a37faaa79861280556406089dc79 100644 --- a/library/Class/AdminVar.php +++ b/library/Class/AdminVar.php @@ -554,6 +554,7 @@ class Class_AdminVarLoader extends Storm_Model_Loader { protected function _getDriveCheckoutVars() { return ['ENABLE_DRIVE_CHECKOUT' => Class_AdminVar_Meta::newOnOff($this->_('Activer la prise de rendez-vous pour récupérer des réservations (Drive)')), + 'DRIVE_DISABLE_HOLD_CHECK' => Class_AdminVar_Meta::newOnOff($this->_('Permettre la prise de rendez-vous sans vérification de l\'existence ou de l\'état des réservations de l\'abonné')), 'DRIVE_TEMPLATE_NEW_RDV_SUBJECT' => Class_AdminVar_Meta::newDefault($this->_('Sujet des courriels de confirmation de création de rendez-vous drive.'), ['value'=> 'Confirmation de rendez-vous à {library.libelle}']), 'DRIVE_TEMPLATE_NEW_RDV_CONTENT' => Class_AdminVar_Meta::newEditor($this->_('Modèle utilisé pour les courriels de confirmation de création de rendez-vous drive.'), @@ -1148,6 +1149,11 @@ class Class_AdminVarLoader extends Storm_Model_Loader { public function isDriveCheckoutEnabled() { return Class_AdminVar::isModuleEnabled('ENABLE_DRIVE_CHECKOUT'); } + + + public function isDriveCheckoutShouldFilterLibraries() { + return !Class_AdminVar::isModuleEnabled('DRIVE_DISABLE_HOLD_CHECK'); + } } diff --git a/library/Class/DriveCheckout/Plan.php b/library/Class/DriveCheckout/Plan.php index 9767b6fd69559373d423185167c7ba3e82d6dc86..11f8d4eb95c6bf2e72e7edc19698f4d68130516d 100644 --- a/library/Class/DriveCheckout/Plan.php +++ b/library/Class/DriveCheckout/Plan.php @@ -44,6 +44,7 @@ class Class_DriveCheckout_Plan { public function __construct($params, $user) { $this->_params = $params; $this->_user = $user; + $this->_should_filter_libraries = Class_AdminVar::isDriveCheckoutShouldFilterLibraries(); } diff --git a/tests/scenarios/DriveCheckOut/DriveCheckOutBookingTest.php b/tests/scenarios/DriveCheckOut/DriveCheckOutBookingTest.php index 5598fd3dce3c9af5aae0bd523c5a9021a5de419b..fd4f3d4e4636d54c6890ab27d4d4fba5ca440eea 100644 --- a/tests/scenarios/DriveCheckOut/DriveCheckOutBookingTest.php +++ b/tests/scenarios/DriveCheckOut/DriveCheckOutBookingTest.php @@ -325,6 +325,29 @@ class DriveCheckOutBookingPlanTest extends DriveCheckOutBookingTestCase { +class DriveCheckOutBookingPlanWithoutHoldCheckTest extends DriveCheckOutBookingTestCase { + public function setUp() { + parent::setUp(); + Class_AdminVar::set('DRIVE_DISABLE_HOLD_CHECK', 1); + $this->dispatch('/opac/drive-checkout/plan'); + } + + + /** @test */ + public function pageShouldContainsLinkToChooseMauricette() { + $this->assertXPath('//a[contains(@href, "/plan/id_bib/3")]'); + } + + + /** @test */ + public function pageShouldNotContainsLinkToChooseLeTurbomoteur() { + $this->assertNotXPath('//a[contains(@href, "/plan/id_bib/4")]'); + } +} + + + + class DriveCheckOutBookingPlanWithFuturExistingTest extends DriveCheckOutBookingTestCase { public function setUp() { parent::setUp();