Skip to content
Snippets Groups Projects
Commit 91b72863 authored by Ghislain Loas's avatar Ghislain Loas
Browse files

hotline #128703 upgrade pnb actions links behavior to avoid popup issues

parent dc495bdd
Branches
Tags
2 merge requests!3903Hotline,!3894hotline #128703 upgrade pnb actions links behavior to avoid popup issues
Pipeline #12688 passed with stage
in 52 minutes and 40 seconds
- ticket #128703 : Amélioration du comportement des liens d'emprunt et de consultation des ressources PNB.
\ No newline at end of file
<?php
Class_ScriptLoader::getInstance()
->addOPACScript('subModal')
->addJQueryReady('initializeAjaxFormSubmit($("#pnb_devices"));');
$html = [$this->renderForm($this->form)];
......
......@@ -78,7 +78,8 @@ class ZendAfi_View_Helper_TagDilicomWidget extends ZendAfi_View_Helper_BaseHelpe
'action' => $this->_getConsultBookAction(),
'id' => $this->_album->getId()],
$this->_('Consulter le livre en ligne (depuis la médiathèque)'),
['data-popup' => 'true']);
['data-popup' => 'true',
'data-disabled' => 1]);
}
......@@ -126,7 +127,8 @@ class ZendAfi_View_Helper_TagDilicomWidget extends ZendAfi_View_Helper_BaseHelpe
'action' => $this->_getLoanBookAction(),
'id' => $this->_album->getId()],
$this->_('Emprunter le livre au format EPUB'),
['data-popup' => 'true']);
['data-popup' => 'true',
'data-disabled' => true]);
if (!$this->_user)
return $loanBookAnchor;
......
......@@ -190,3 +190,7 @@ label.required:after {
.dropdown-menu .dropdown-menu {
position: unset !important;
}
[data-disabled] {
pointer-events: none !important;
}
......@@ -6,6 +6,9 @@
var on_open_listeners = [];
window.initializePopups = function() {
$('[data-popup="true"][data-disabled], [data-popup="1"][data-disabled]')
.removeAttr('data-disabled');
$('[data-popup="true"], [data-popup="1"]')
.prop('onclick', null)
.off('click')
......
......@@ -20,6 +20,8 @@
*/
require_once 'tests/fixtures/DilicomFixtures.php';
class TemplateDigitalResourcesDispatchTest extends AbstractControllerTestCase {
protected $_storm_default_to_volatile = true;
......@@ -132,3 +134,106 @@ class TemplateDigitalResourcesMediaAndTrailerDispatchTest extends AbstractContro
$this->assertXPathContentContains('//script', 'initializePopups();');
}
}
abstract class TemplateDigitalResourcesDilicomTestCase extends AbstractControllerTestCase {
protected $_storm_default_to_volatile = true;
public function setUp() {
parent::setUp();
$this->_buildTemplateProfil(['id' => 9,
'template' => 'MUSCLE']);
$this->fixture('Class_Bib',
['id' => 1,
'libelle' => 'annecy',
'gln' => '2222'
]);
$group = $this->fixture('Class_UserGroup',
['id' => '20',
'libelle' => 'Multimedia',
'rights' => [Class_UserGroup::RIGHT_ACCES_PNB_DILICOM]]);
$logged_user = $this->fixture('Class_Users',
['id' => 6,
'nom'=>'Pito',
'login'=>'Chat',
'password'=>'123456',
'id_site' => 1,
'idabon' => '12345',
'user_groups' => [$group]]);
$logged_user->beAbonneSIGB()->assertSave();
ZendAfi_Auth::getInstance()->logUser($logged_user);
$this->fixture('Class_Album',
['id' => 34,
'titre' => 'La Planète des chats',
'type_doc_id' => Class_TypeDoc::LIVRE_NUM]);
}
}
class TemplateDigitalResourcesLoanBookAjaxTest extends TemplateDigitalResourcesDilicomTestCase {
public function setUp() {
parent::setUp();
$this->dispatch('bib-numerique/loan-book-ajax/id/34');
}
/** @test */
public function subModalJSShouldBeLoaded() {
$this->assertXPath('//script[contains(@src, "public/opac/js/subModal.js")]');
}
/** @test */
public function initializeAjaxFormSubmitShouldBePresent() {
$this->assertXPathContentContains('//script', 'initializeAjaxFormSubmit($("#pnb_devices"));');
}
}
class TemplateDigitalResourcesDilicomItemTest extends TemplateDigitalResourcesDilicomTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_Notice',
['id' => 123,
'type_doc' => Class_TypeDoc::LIVRE_NUM]);
$this->fixture('Class_Exemplaire',
['id' => 8,
'id_origine' => 3,
'id_notice' => 123]);
(new DilicomFixtures())->albumTotemThora();
RessourcesNumeriquesFixtures::activateDilicom();
$this->dispatch('noticeajax/digital-resources/id_notice/123');
}
/** @test */
public function loanLinkShouldBeDisabled() {
$this->assertXPathContentContains('//a[@data-disabled]', 'Emprunter le livre au format EPUB');
}
/** @test */
public function consultLinkShouldBeDisabled() {
$this->assertXPathContentContains('//a[@data-disabled]', 'Consulter le livre en ligne');
}
}
\ No newline at end of file
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