Skip to content
Snippets Groups Projects
Commit f7d4495f authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

Merge branch 'dev#142642_mel_corriger_la_cle_oeuvre_des_pages_indexees' into 'hotline'

dev #142642 Page indexation : add work key

See merge request afi/opacce!4235
parents 04422ab5 56bcde63
Branches
Tags
3 merge requests!4238Master,!4237Hotline,!4235dev #142642 Page indexation : add work key
Pipeline #14922 passed with stage
in 24 minutes and 53 seconds
- ticket #142642 : Indexation des pages : création d'une clé œuvre pour la notice générée
\ No newline at end of file
......@@ -37,7 +37,8 @@ class Class_Indexation_PseudoNotice_WorkKey {
$map = [Class_Album::class => Class_Indexation_PseudoNotice_WorkKeyAlbum::class,
Class_Sitotheque::class => Class_Indexation_PseudoNotice_WorkKeyTitre::class,
Class_Article::class => Class_Indexation_PseudoNotice_WorkKeyCms::class,
Class_Rss::class => Class_Indexation_PseudoNotice_WorkKeyTitre::class];
Class_Rss::class => Class_Indexation_PseudoNotice_WorkKeyTitre::class,
Class_Profil::class => Class_Indexation_PseudoNotice_WorkKeyPage::class];
foreach($map as $model_class => $key_class)
if (is_a($model, $model_class))
......@@ -99,6 +100,19 @@ class Class_Indexation_PseudoNotice_WorkKeyTitre extends Class_Indexation_Pseudo
class Class_Indexation_PseudoNotice_WorkKeyPage extends Class_Indexation_PseudoNotice_WorkKey {
public function _record() {
return new Class_Entity(['TitrePrincipal' => $this->_model->getTitre(),
'ComplementTitre' => '',
'AuteurClefAlpha' => $this->_model->isInPortail()
? 'Portal'
: $this->_model->getBibLibelle(),
'TomeAlpha' => $this->_model->getId()]);
}
}
class Class_Indexation_PseudoNotice_WorkKeyCms extends Class_Indexation_PseudoNotice_WorkKey {
public function _record() {
......@@ -107,4 +121,4 @@ class Class_Indexation_PseudoNotice_WorkKeyCms extends Class_Indexation_PseudoNo
'AuteurClefAlpha' => $this->_model->getAuthorName(),
'TomeAlpha' => '']);
}
}
\ No newline at end of file
}
......@@ -118,6 +118,24 @@ class IndexablePagesPseudoRecordEnabledIndexableTest extends ModelTestCase {
}
/** @test */
public function recordWorkKeyShouldBeMysuperpage_Portal_233() {
$this->assertEquals('MYSUPERPAGE--PORTAL-233',
$this->_record->getClefOeuvre());
}
/** @test */
public function withPageInLibraryAnnecyShouldBeMysuperpage_Annecy_233() {
$this->_page->setBib($this->fixture(Class_Bib::class,
['id' => 3,
'libelle' => 'Annecy']))
->index();
$this->assertEquals('MYSUPERPAGE--ANNECY-233',
$this->_page->getNotice()->getClefOeuvre());
}
/** @test */
public function recordTitleShouldBeMySuperPage() {
$this->assertEquals('My super page', $this->_record->getTitrePrincipal());
......
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