diff --git a/VERSIONS_HOTLINE/159479 b/VERSIONS_HOTLINE/159479 new file mode 100644 index 0000000000000000000000000000000000000000..e5cc0f41295126b62475365dc1356f8818fdfa41 --- /dev/null +++ b/VERSIONS_HOTLINE/159479 @@ -0,0 +1 @@ + - correctif #159479 : Codification thesaurus : Pouvoir prendre en compte les libéllé "0" dans un import unimarc \ No newline at end of file diff --git a/library/Class/CodifThesaurus.php b/library/Class/CodifThesaurus.php index 2daed0f8717ecb1a3df59f4be5ccd3eb935dca30..a2cb17d2d01dcfc169c0cc68e37fd78be89e776b 100644 --- a/library/Class/CodifThesaurus.php +++ b/library/Class/CodifThesaurus.php @@ -227,7 +227,7 @@ class Class_CodifThesaurus extends Storm_Model_Abstract { protected function _getOrCreateChildByLabel($label) { - if (!$label) + if (null === $label || '' === $label) return; if ($entry = Class_CodifThesaurus::getLoader() diff --git a/library/Class/Cosmogramme/Integration/Record/BibliographicDynamicFacets.php b/library/Class/Cosmogramme/Integration/Record/BibliographicDynamicFacets.php index 947496a8340a425376abe9690f65dc4f39add50f..45245a598d1afa8b35a09b1813c29529847b5aea 100644 --- a/library/Class/Cosmogramme/Integration/Record/BibliographicDynamicFacets.php +++ b/library/Class/Cosmogramme/Integration/Record/BibliographicDynamicFacets.php @@ -68,7 +68,7 @@ class Class_Cosmogramme_Integration_Record_BibliographicDynamicFacets_Simple { $id = trim($id_label['id']); $label = trim($id_label['label']); - return $label + return '' !== $label ? $this->_thesaurus->getOrCreateChild($id, $label) : null; } diff --git a/library/Class/NoticeUnimarc/ListFields.php b/library/Class/NoticeUnimarc/ListFields.php index 5fe7034615c809f5def572aa3c06dc0fa8f222ea..a7267db8d71169b2d78d63170cf004d02489e1ea 100644 --- a/library/Class/NoticeUnimarc/ListFields.php +++ b/library/Class/NoticeUnimarc/ListFields.php @@ -90,11 +90,12 @@ class Class_NoticeUnimarc_ListFields { } - public function addInResultAndReset(?string $code = null, ?string $value = null) : self { + public function addInResultAndReset(?string $code = null, + ?string $value = null) : self { if ($this->_canAddResult()) $this->_list_result [] = $this->_buildOneResult(); - $this->_reset(); + $this->_reset(); $this->_addAfterReset($code, $value); return $this; } @@ -214,7 +215,7 @@ class Class_NoticeUnimarc_ListFieldsRules extends Class_NoticeUnimarc_ListFields $field_label = $this->_getFieldLabel(); $label = $this->_truncateLabel($field_label->getValue()); $field_label->setValue($label); - if (!$label) + if ('' === $label) return false; $filter_zone = $this->_rules->getZone(); diff --git a/tests/library/Class/Cosmogramme/Integration/PhaseNoticeTest.php b/tests/library/Class/Cosmogramme/Integration/PhaseNoticeTest.php index 7c997a17e51b9f5c66eb37a6a7b612e7f6a4ba6c..bd85f9ccbb9c551e42330c0edd7366dda0be8ecf 100644 --- a/tests/library/Class/Cosmogramme/Integration/PhaseNoticeTest.php +++ b/tests/library/Class/Cosmogramme/Integration/PhaseNoticeTest.php @@ -525,6 +525,62 @@ class PhaseNoticeIncrementalImportWithThesaurusPublicViseTest +/* hotline: https://forge.afi-sa.net/issues/159479 */ +class PhaseNoticeIncrementalImportWithThesaurusLabel0Test + extends PhaseNoticeTestCase { + + protected function _prepareFixtures() { + parent::_prepareFixtures(); + + $this->fixture(Class_CodifThesaurus::class, + ['id' => 1111, + 'libelle' => 'Documentaire', + 'code' => 'DOCU', + 'id_thesaurus' => 'DOCU', + 'rule_list_zone' => ['995'], + 'rule_list_label_field' => ['5'], + 'rule_list_id_field' => [''] + ]); + + Class_IntProfilDonnees::find(102) + ->setAccents(Class_IntProfilDonnees::ENCODING_UTF8) + ->save(); + + Class_Cosmogramme_Integration::find(999) + ->setFichier('dvorak.mrc') + ->setTypeOperation(Class_Cosmogramme_Integration::TYPE_OPERATION_TOTAL) + ->save(); + } + + + /** @test */ + public function record1FacettesShouldContainsThesaurusDocumentaire() { + $this->assertEquals('HDOCU0001 A1 M1', Class_Notice::find(1)->getFacettes()); + } + + + /** @test */ + public function record2FacettesShouldContainsThesaurusDocumentaire() { + $this->assertEquals('T1 HDOCU0002 A1 Lfre', + Class_Notice::find(2)->getFacettes()); + } + + + /** @test */ + public function thesaurusDOCU0001_0ShouldExist() { + $this->assertEquals('0', Class_CodifThesaurus::findFirstBy(['id_thesaurus' => 'DOCU0001'])->getLibelle()); + } + + + /** @test */ + public function thesaurusDOCU0002_1_joueurShouldExist() { + $this->assertEquals('1 joueur', Class_CodifThesaurus::findFirstBy(['id_thesaurus' => 'DOCU0002'])->getLibelle()); + } +} + + + + class PhaseNoticeSpecialCharactersImportItemTest extends PhaseNoticeTestCase { protected function _prepareFixtures() { diff --git a/tests/library/Class/Cosmogramme/Integration/dvorak.mrc b/tests/library/Class/Cosmogramme/Integration/dvorak.mrc index c55cf4dfc42bdbe117917e76bc5fcc2cebd83b39..ebd217439a9e07bf4f1d996565ba3efdd81caf87 100644 --- a/tests/library/Class/Cosmogramme/Integration/dvorak.mrc +++ b/tests/library/Class/Cosmogramme/Integration/dvorak.mrc @@ -1 +1 @@ -02974njm0 2200337 450 00100070000000500170000703500170002403600140004107100300005507300170008509000110010209100190011309900340013210000410016610100080020712700100021520000710022521000250029621500210032132300240034232708040036633010320117034500480220260600250225068600080227570000460228370200350232970200410236480100600240599501710246510389720210131050004.0 aMUL_11135678 a000240835 aHMC901824bHarmonia Mundi a794881736324 a103897 a2b20210131c0 tCDx1c2017-07-03d2017-07-03 a20040712d2004----u--y0frey5003----ba acze a019001 aLiederfA. DvorakgBernarda Fink, soprano et Roger Vignoles, piano cHarmonia Mundid2004 a1 d.c.e1 livret aEnregistré en 2003 aO notre amour --aLa Nuit envahit bien les coeurs --aJe chancelle à présent --aJe voudrais croire --aUn Doux sommeil --aSeul, si seul, assis dans la forêt --aJe voudrais mourir --aO mon âme --aLa Guirlande --aLa Rose --aLe Coucou --aL' Alouette --aL' Abandonnée --aLes Fraises --aO quel beau rêve --aSouvent mon coeur devient pensif --aObstacles --aRéflexion --aLes Tilleuls --aLa Brodeuse --aLe Printemps --aAu bord du ruisseau --aBonne nuit --aUne Jeune fille fauchait --aAh n'est pas là --aOhé j'ai un cheval --aMon chant est plein d'amour --aEcoutez comme chante mon triangle --aEt la forêt autour de moi reste silencieuse --aLorsque ma vieille mère --aLe Violon est accordé --aPlus agréables sont aux tziganes --aDonnez à un faucon une cage en or -- aAvec quelques belles parutions récentes, Harmona Mundi propose ce qui peut être considéré comme un événement majeur pour tous les amoureux de la musique Tchèque en nous offrant cette copieuse compilation de Lieder d’AntonÃn Dvořák. Comme souvent, c’est l’Amour qui pousse pour la première fois le compositeur - alors âgé de vingt quatre ans - à créer diverses mélodies dédiées à Josefina Cermáková, l’aînée de deux sÅ“urs à qui il donnait quelques leçons pour gagner sa vie. Qui mieux que la divine mezzo-soprano Bernarda Fink pouvait retranscrire ces pages ? Après de brillantes études en Argentine, son pays de naissance, l’artiste s’installe en Europe et plus particulièrement à Prague. Ses origines slaves l’y poussent certainement. Sa voix chaude et sensuelle distille un vibrato parfait, puis se renforce grâce à une diction précise du tchèque. Pour les amoureux du Lied, ce disque est incontournable et restera inévitablement dans les grandes découvertes discographiques. aGAMb0794881736324cdisque compactd24,17 E aLieder acc. de piano a151 1932212aDvořákbAntonÃnf1841-19044230 1aFinkbBernardaf1955-....4721 1aVignolesbRogerf1945-....45454kpf 0aFRbBibliothèque municipale de Mulhousec040712gAFNOR aBIBLIOTHEQUE MUNICIPALE ST-PRYVE ST-MESMINfL-0113177*81gL-h011317kRO WILm201411040Adultesopqeram1[ALP][Librairie ALPHABET][ORLEANS][45000][14, Rue de la R01083cam0 2200325 450 0010009000000050017000090100038000260200017000640330051000810350025001320730018001571000041001751010008002161020007002241050018002311060006002491810019002551810024002741820010002981820020003082000038003282140048003662150033004146860015004477000062004628010038005249900006005629960018005689950171005861/85644920210324173053.0 a978-2-7324-8630-7bbr.d20,90 EUR aFRb01847488 ahttp://catalogue.bnf.fr/ark:/12148/cb45509260m aFRBNF455092600000007 0a9782732486307 a20180524d2018 m y0frey50 ba0 afre aFR a||||z 00|a| ar 0601ai bxxxe 602ctxt2rdacontent 0601an 602cn2rdamedia1 aQaanaaqbtexte impriméfMo Malø 0aPariscÉditions de La MartinièredDL 2018 a1 vol. (491 p.)cill.d23 cm a8032Cadre 1317749185oISNI0000000468059690aMaløbMof1968-....4070 0aFRbFR-751131015c20180524gAFNOR a1 fROMgTHRpADU aBIBLIOTHEQUE MUNICIPALE ST-PRYVE ST-MESMINfL-0113187*81gL-h011318kRO WILm201411040Enfantsopqeram1[ALP][Librairie ALPHABET][ORLEANS][45000][14, Rue de la R \ No newline at end of file +02977njm0 2200337 450 00100070000000500170000703500170002403600140004107100300005507300170008509000110010209100190011309900340013210000410016610100080020712700100021520000710022521000250029621500210032132300240034232708040036633010320117034500480220260600250225068600080227570000460228370200350232970200410236480100600240599501740246510389720210131050004.0 aMUL_11135678 a000240835 aHMC901824bHarmonia Mundi a794881736324 a103897 a2b20210131c0 tCDx1c2017-07-03d2017-07-03 a20040712d2004----u--y0frey5003----ba acze a019001 aLiederfA. DvorakgBernarda Fink, soprano et Roger Vignoles, piano cHarmonia Mundid2004 a1 d.c.e1 livret aEnregistré en 2003 aO notre amour --aLa Nuit envahit bien les coeurs --aJe chancelle à présent --aJe voudrais croire --aUn Doux sommeil --aSeul, si seul, assis dans la forêt --aJe voudrais mourir --aO mon âme --aLa Guirlande --aLa Rose --aLe Coucou --aL' Alouette --aL' Abandonnée --aLes Fraises --aO quel beau rêve --aSouvent mon coeur devient pensif --aObstacles --aRéflexion --aLes Tilleuls --aLa Brodeuse --aLe Printemps --aAu bord du ruisseau --aBonne nuit --aUne Jeune fille fauchait --aAh n'est pas là --aOhé j'ai un cheval --aMon chant est plein d'amour --aEcoutez comme chante mon triangle --aEt la forêt autour de moi reste silencieuse --aLorsque ma vieille mère --aLe Violon est accordé --aPlus agréables sont aux tziganes --aDonnez à un faucon une cage en or -- aAvec quelques belles parutions récentes, Harmona Mundi propose ce qui peut être considéré comme un événement majeur pour tous les amoureux de la musique Tchèque en nous offrant cette copieuse compilation de Lieder d’AntonÃn Dvořák. Comme souvent, c’est l’Amour qui pousse pour la première fois le compositeur - alors âgé de vingt quatre ans - à créer diverses mélodies dédiées à Josefina Cermáková, l’aînée de deux sÅ“urs à qui il donnait quelques leçons pour gagner sa vie. Qui mieux que la divine mezzo-soprano Bernarda Fink pouvait retranscrire ces pages ? Après de brillantes études en Argentine, son pays de naissance, l’artiste s’installe en Europe et plus particulièrement à Prague. Ses origines slaves l’y poussent certainement. Sa voix chaude et sensuelle distille un vibrato parfait, puis se renforce grâce à une diction précise du tchèque. Pour les amoureux du Lied, ce disque est incontournable et restera inévitablement dans les grandes découvertes discographiques. aGAMb0794881736324cdisque compactd24,17 E aLieder acc. de piano a151 1932212aDvořákbAntonÃnf1841-19044230 1aFinkbBernardaf1955-....4721 1aVignolesbRogerf1945-....45454kpf 0aFRbBibliothèque municipale de Mulhousec040712gAFNOR aBIBLIOTHEQUE MUNICIPALE ST-PRYVE ST-MESMINfL-0113177*81gL-h011317kRO WILm201411040Adultes50opqeram1[ALP][Librairie ALPHABET][ORLEANS][45000][14, Rue de la R01093cam0 2200325 450 0010009000000050017000090100038000260200017000640330051000810350025001320730018001571000041001751010008002161020007002241050018002311060006002491810019002551810024002741820010002981820020003082000038003282140048003662150033004146860015004477000062004628010038005249900006005629960018005689950181005861/85644920210324173053.0 a978-2-7324-8630-7bbr.d20,90 EUR aFRb01847488 ahttp://catalogue.bnf.fr/ark:/12148/cb45509260m aFRBNF455092600000007 0a9782732486307 a20180524d2018 m y0frey50 ba0 afre aFR a||||z 00|a| ar 0601ai bxxxe 602ctxt2rdacontent 0601an 602cn2rdamedia1 aQaanaaqbtexte impriméfMo Malø 0aPariscÉditions de La MartinièredDL 2018 a1 vol. (491 p.)cill.d23 cm a8032Cadre 1317749185oISNI0000000468059690aMaløbMof1968-....4070 0aFRbFR-751131015c20180524gAFNOR a1 fROMgTHRpADU aBIBLIOTHEQUE MUNICIPALE ST-PRYVE ST-MESMINfL-0113187*81gL-h011318kRO WILm201411040Enfants51 joueuropqeram1[ALP][Librairie ALPHABET][ORLEANS][45000][14, Rue de la R \ No newline at end of file