diff --git a/VERSIONS_HOTLINE/171473 b/VERSIONS_HOTLINE/171473 new file mode 100644 index 0000000000000000000000000000000000000000..cfcdddc74eb1c985720da579c2b787e6827a0dd6 --- /dev/null +++ b/VERSIONS_HOTLINE/171473 @@ -0,0 +1,3 @@ + - fonctionnalité #171473 : Recherche : le badge de disponibilité et le lien réserver ont maintenant une classe CSS "doctype_id_%s". Cela vous permet de personnaliser l'affichage en fonction du type de document. + + - Administration : suppression du lien vers le sondage de satisfaction de 2022 \ No newline at end of file diff --git a/application/modules/admin/views/scripts/index/index.phtml b/application/modules/admin/views/scripts/index/index.phtml index 1fd855c706e32a58a7fd5af584474cc501a11b3c..1d78f75804c849766715ad1997388f8b6e7de56f 100644 --- a/application/modules/admin/views/scripts/index/index.phtml +++ b/application/modules/admin/views/scripts/index/index.phtml @@ -1,11 +1,5 @@ <?php echo $this->renderBokehVersion(); -echo $this->tag('h2', - $this->tagAnchor('https://forms.gle/atvVCajxZ49VwBfQA', - $this->_('AFI : Enquête de satisfaction 2022') - . ' ' - . $this->renderIcon('class fa fa-handshake-o'))); - ?> <h2 class="toggle_video"> <?php diff --git a/library/templates/Intonation/Library/AjaxAvailabilityBadge.php b/library/templates/Intonation/Library/AjaxAvailabilityBadge.php index 9201c61e798d5acedccc993ea3adc084376f5d55..45444ef09d46e9a3408499e83549a117a8e34df4 100644 --- a/library/templates/Intonation/Library/AjaxAvailabilityBadge.php +++ b/library/templates/Intonation/Library/AjaxAvailabilityBadge.php @@ -28,6 +28,7 @@ class Intonation_Library_AjaxAvailabilityBadge extends Intonation_Library_Availa parent::__construct($wrapper); $this->_wrapper = $wrapper; $this + ->addClass(sprintf('doctype_id_%s', $wrapper->getDocType())) ->addClass('availability_no_answers') ->addClass('waiting_for_response'); Class_ScriptLoader::getInstance()->ajaxAvailability($this); @@ -35,6 +36,6 @@ class Intonation_Library_AjaxAvailabilityBadge extends Intonation_Library_Availa public function getClassAsSelector() : string { - return implode('.', explode(' ', $this->getClass())); + return implode('.', array_unique(explode(' ', $this->getClass()))); } } diff --git a/library/templates/Intonation/Library/AvailabilityBadge.php b/library/templates/Intonation/Library/AvailabilityBadge.php index 9a66d14226b7ae10a7ccee64aa3b49c4f972103a..75fb126bb0a27645eded260ff2808f086bb03469 100644 --- a/library/templates/Intonation/Library/AvailabilityBadge.php +++ b/library/templates/Intonation/Library/AvailabilityBadge.php @@ -27,7 +27,9 @@ class Intonation_Library_AvailabilityBadge extends Intonation_Library_Badge { public function __construct(Intonation_Library_View_Wrapper_Record $wrapper) { $this - ->setClass('badge_record_availability record_id_' . $wrapper->getId()) + ->setClass(sprintf('badge_record_availability record_id_%s doctype_id_%s', + $wrapper->getId(), + $wrapper->getDocType())) ->setData('record-id', $wrapper->getId()) ->setText(' '); } diff --git a/library/templates/Intonation/Library/View/Wrapper/Record.php b/library/templates/Intonation/Library/View/Wrapper/Record.php index 4087ac8e3d95bd0c340cf43d6000d44e35a99297..2261cc392464faa85f54510c795dc053c2903ea1 100644 --- a/library/templates/Intonation/Library/View/Wrapper/Record.php +++ b/library/templates/Intonation/Library/View/Wrapper/Record.php @@ -588,7 +588,7 @@ class Intonation_Library_View_Wrapper_Record ->setImage($this->getIco('hold', 'library')) ->setText($this->_('Réserver')) ->setTitle($this->_('Réserver le document %s', $this->getMainTitleAsText())) - ->setClass('hold_record') + ->setClass('hold_record doctype_id_' . $this->getDocType()) ->setPopup(true); return $actions; diff --git a/tests/scenarios/Templates/TemplatesAvailabilityTest.php b/tests/scenarios/Templates/TemplatesAvailabilityTest.php index 4b190b64c42210ee00c27e5b0bff626e22960d93..0c59bc3d691dd154ae0ff7327f234156fe765769 100644 --- a/tests/scenarios/Templates/TemplatesAvailabilityTest.php +++ b/tests/scenarios/Templates/TemplatesAvailabilityTest.php @@ -65,21 +65,21 @@ class TemplatesAvailabilityTest extends TemplatesAvailabilityTestCase { /** @test */ public function withRecordIdOneShouldRenderNotAvailableBadge() { $this->dispatch('noticeajax/availability/id/1'); - $this->assertXPathContentContains('//span[@class="badge_tag badge_record_availability record_id_1 record_not_available text-left badge badge-danger"][@data-record-id="1"]', 'Non disponible'); + $this->assertXPathContentContains('//span[@class="badge_tag badge_record_availability record_id_1 doctype_id_1 record_not_available text-left badge badge-danger"][@data-record-id="1"]', 'Non disponible'); } /** @test */ public function withRecordIdTwoShouldRenderAvailableBadge() { $this->dispatch('noticeajax/availability/id/2'); - $this->assertXPath('//span[@class="badge_tag badge_record_availability record_id_2 record_available text-left badge badge-success"][@data-record-id="2"]'); + $this->assertXPath('//span[@class="badge_tag badge_record_availability record_id_2 doctype_id_101 record_available text-left badge badge-success"][@data-record-id="2"]'); } /** @test */ public function dispatchViewNoticeShouldRenderBadgeAvailability() { $this->dispatch('recherche/viewnotice/id/1'); - $this->assertXPath('//span[@class="badge_tag badge_record_availability record_id_1 availability_no_answers waiting_for_response text-left badge badge-info"][@data-record-id="1"]'); + $this->assertXPath('//span[@class="badge_tag badge_record_availability record_id_1 doctype_id_1 availability_no_answers waiting_for_response text-left badge badge-info"][@data-record-id="1"]'); } @@ -93,7 +93,7 @@ class TemplatesAvailabilityTest extends TemplatesAvailabilityTestCase { /** @test */ public function dispatchViewNoticeShouldAddScriptAjaxAvailibitityOnRecordOne() { $this->dispatch('recherche/viewnotice/id/1'); - $this->assertXPathContentContains('//script', '$(function(){$(".badge_record_availability.record_id_1.availability_no_answers.waiting_for_response").ajax_availability();});'); + $this->assertXPathContentContains('//script', '$(function(){$(".badge_record_availability.record_id_1.doctype_id_1.availability_no_answers.waiting_for_response").ajax_availability();});'); } diff --git a/tests/scenarios/Templates/TemplatesSearchTest.php b/tests/scenarios/Templates/TemplatesSearchTest.php index 70f8b8837ba52a1b9ed13bb6e3c2397c63b2014c..c8b1bfc4a3d6dae5c23d259d8678d8f9cef05b5c 100644 --- a/tests/scenarios/Templates/TemplatesSearchTest.php +++ b/tests/scenarios/Templates/TemplatesSearchTest.php @@ -467,7 +467,7 @@ class TemplatesSearchViewRecordTest extends TemplatesIntonationTestCase { public function recordActionLinks() { return [ ['add_record_to_selection', 'href', '/panier/add-record-ajax'], - ['hold_record', 'href', '/recherche/reserver'], + ['hold_record doctype_id_1', 'href', '/recherche/reserver'], ['share_record_on_facebook', 'onclick', '/social-network/share/on/facebook'], ['share_record_on_twitter', 'onclick', '/social-network/share/on/twitter'], ['view_permalink', 'onclick', 'popupPermalink'],