Skip to content
Snippets Groups Projects
Commit 84fe1d6d authored by Henri-Damien LAURENT's avatar Henri-Damien LAURENT
Browse files

Merge branch 'hotline#206195_cvs_izneo_mel_erreur_acces_accueil' into 'master'

hotline#206195 : CVS2 : Izneo Welcome page access

See merge request !5059
parents 4888e6d5 eba2eeee
Branches
Tags
1 merge request!5059hotline#206195 : CVS2 : Izneo Welcome page access
Pipeline #38300 passed with stage
in 20 minutes and 15 seconds
- correctif #206195 : CVS Iznéo : l'accès SSO à la page d'accueil Izneo est possible.
\ No newline at end of file
......@@ -24,11 +24,20 @@ class Cvs2_Service_DirectAccess extends Cvs2_Service {
public function getDirectAccessFor(Class_Users $user, ?Class_Album $album) : string {
$response = $this->_callDirectAccess($user, $album);
return $this->_getRedirectUrl($response);
}
protected function _getRedirectUrl(string $xml_response): string
{
$parser = new Cvs2_Service_Parser_AccesDirect;
$parser->parseXML($response);
$parser->parseXML($xml_response);
if (!$parser->isSuccess())
return '';
return ($parser->isSuccess()
&& ($redirect = $parser->getRedirect())) ? $redirect : '';
return $parser->getRedirect()
?: $parser->getUrl();
}
......
......@@ -22,8 +22,8 @@
class Cvs2_Service_Parser_AccesDirect extends Cvs2_Service_Parser_Abstract {
protected string $url,
$_redirect;
protected string $url = '';
protected string $_redirect='';
public function endUrl(string $data) : self {
......
......@@ -442,6 +442,67 @@ class Cvs2SsoTestWithAccesDirect extends Cvs2SsoTestWithAccesDirectTestCase
class Cvs2SsoDirectAccessForIzneoAccueilTest extends Cvs2ActivatedTestCase
{
public function setUp()
{
parent::setUp();
$this->fixture(Class_Album::class,
['id' => 123,
'id_origine' => 342,
'titre' => 'Accueil',
'type_doc_id' => 'Cvs2_Izneo',
'provenance' => 'Cvs2'
]);
ZendAfi_Auth::getInstance()->logUser($this->_user);
Class_AdminVar::set('Cvs2_CATALOGUES','{"id":["izneo"],
"acces_direct_enabled":["1"]}');
Class_AdminVar::set('Cvs2_BMLABEL','MaBib');
$this->dispatch('/opac/modules/cvs2/album_id/123');
}
protected function _setWebClient()
{
$acces_direct_xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<albums>
<header>
<bmid>22223</bmid>
<sourceid>22225</sourceid>
<key>06e91bd2ea3c7d0b12980ab5ef634f38</key>
<time>1369640315</time>
<adhid>Tom</adhid>
<action>acces_site</action>
</header>
<body>
<querystring><![CDATA[/album/342]]></querystring>
<affichage>complet</affichage>
</body>
</albums>
";
$web_client = $this->mock()
->whenCalled('postData')
->with(Class_AdminVar::get('Cvs2_API_URL'),
['xml' => strtr(base64_encode($acces_direct_xml),'+/','-_')])
->answers(file_get_contents(__DIR__.'/cvs_izneo_accesdirect.xml'))
->beStrict();
Class_WebService_Abstract::setHttpClient($web_client);
}
/** @test */
public function shouldRedirectToAccesDirectLink()
{
$this->assertXPathContentContains('//script',
'https://MEL-izneo.mediatheques.fr/?ln=&con=c7120d01c131f3c7ebf62f11d4a28b77&if=0');
}
}
class Cvs2SsoTestWithoutUsergroup extends Cvs2SsoTestWithAccesDirectTestCase
{
......
<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>1</success>
<key>a4bf331a3501f03ee492ba8c0217aca4</key>
<time>1722001906</time>
<action>acces_direct</action>
<data>
<url>https://MEL-izneo.mediatheques.fr/?ln=&amp;con=c7120d01c131f3c7ebf62f11d4a28b77&amp;if=0</url>
<token>c7120d01c131f3c7ebf62f11d4a28b77</token>
</data>
</response>
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