From ca70d9499ee9f761889ed02974b9eb5b742d4be5 Mon Sep 17 00:00:00 2001 From: gloas <gloas@afi-sa.fr> Date: Tue, 7 Feb 2023 16:16:52 +0100 Subject: [PATCH] hotline #171473 add doctype_id_%s class to availability badge and hold link. Also remove link to 2022 client survey in backoffice --- VERSIONS_HOTLINE/171473 | 3 +++ application/modules/admin/views/scripts/index/index.phtml | 6 ------ .../Intonation/Library/AjaxAvailabilityBadge.php | 3 ++- .../templates/Intonation/Library/AvailabilityBadge.php | 4 +++- .../templates/Intonation/Library/View/Wrapper/Record.php | 2 +- tests/scenarios/Templates/TemplatesAvailabilityTest.php | 8 ++++---- tests/scenarios/Templates/TemplatesSearchTest.php | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 VERSIONS_HOTLINE/171473 diff --git a/VERSIONS_HOTLINE/171473 b/VERSIONS_HOTLINE/171473 new file mode 100644 index 00000000000..cfcdddc74eb --- /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 1fd855c706e..1d78f75804c 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 9201c61e798..45444ef09d4 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 9a66d14226b..75fb126bb0a 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 4087ac8e3d9..2261cc39246 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 4b190b64c42..0c59bc3d691 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 70f8b8837ba..c8b1bfc4a3d 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'], -- GitLab