From 4b598601e46380a4c41357164ce8de194869b569 Mon Sep 17 00:00:00 2001 From: Arthur Suzuki <arthur.suzuki@biblibre.com> Date: Mon, 26 Jun 2023 09:50:39 +0000 Subject: [PATCH] hotline#180669 : Artecampus imports note field in 300$a --- VERSIONS_HOTLINE/180669 | 1 + library/Class/Album.php | 1 + library/digital_resources/ArteCampus/Service/Program.php | 4 +++- .../digital_resources/ArteCampus/tests/ArteCampusTest.php | 7 +++++++ library/digital_resources/ArteCampus/tests/fixture.json | 1 + library/digital_resources/Bacon/Service/Parser.php | 2 +- 6 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 VERSIONS_HOTLINE/180669 diff --git a/VERSIONS_HOTLINE/180669 b/VERSIONS_HOTLINE/180669 new file mode 100644 index 00000000000..e10ceec4b94 --- /dev/null +++ b/VERSIONS_HOTLINE/180669 @@ -0,0 +1 @@ + - correctif #180669 : Connecteur Arte Campus : le champ Note est désormais importé en 300$a. \ No newline at end of file diff --git a/library/Class/Album.php b/library/Class/Album.php index 914e9501e7c..f77de423786 100644 --- a/library/Class/Album.php +++ b/library/Class/Album.php @@ -80,6 +80,7 @@ class Class_Album extends Storm_Model_Abstract { const EDITOR_FIELD = '210'; const COLLECTION_FIELD = '225'; const DISTRIBUTOR_FIELD = '306$a'; + const NOTE_FIELD = '300$a'; const THUMB_PREFIX = 'thumb_'; const STATUS_DRAFT = 1; diff --git a/library/digital_resources/ArteCampus/Service/Program.php b/library/digital_resources/ArteCampus/Service/Program.php index 47a823ff3fc..09be214e178 100644 --- a/library/digital_resources/ArteCampus/Service/Program.php +++ b/library/digital_resources/ArteCampus/Service/Program.php @@ -27,6 +27,7 @@ class ArteCampus_Service_Program extends Class_WebService_BibNumerique_Ressource protected $_directors = [], + $_note, $_status; @@ -51,7 +52,7 @@ class ArteCampus_Service_Program extends Class_WebService_BibNumerique_Ressource $this->addTag($version['language']); $this->_status = $json['status']; - + $this->_note = $json['editorial']['note'] ?? ''; return $this; } @@ -63,6 +64,7 @@ class ArteCampus_Service_Program extends Class_WebService_BibNumerique_Ressource public function fillAlbum(Class_Album $album) : self { $album->setVisible(true) + ->addNote(Class_Album::NOTE_FIELD, $this->_note) ->setTypeDocId(ArteCampus_Config::getInstance()->getDocType()) ->getMarc()->clearZone('856'); diff --git a/library/digital_resources/ArteCampus/tests/ArteCampusTest.php b/library/digital_resources/ArteCampus/tests/ArteCampusTest.php index ee10e393c2a..c173a8cbdbd 100644 --- a/library/digital_resources/ArteCampus/tests/ArteCampusTest.php +++ b/library/digital_resources/ArteCampus/tests/ArteCampusTest.php @@ -322,6 +322,13 @@ class ArteCampusHarvestAlbumCreationTest extends ModelTestCase { $this->assertTrue($index_200a < $index_200e, sprintf('200$a : %s , 200$e : %s', $index_200a, $index_200e)); } + + + /** @test */ + public function field300DollarAShouldContainsKarambolageEstUneSuperEmission() { + $this->assertEquals("Karambolage est une super émission!", + $this->_album->getNote(Class_Album::NOTE_FIELD)); + } } diff --git a/library/digital_resources/ArteCampus/tests/fixture.json b/library/digital_resources/ArteCampus/tests/fixture.json index cc14824a359..0a643059b85 100644 --- a/library/digital_resources/ArteCampus/tests/fixture.json +++ b/library/digital_resources/ArteCampus/tests/fixture.json @@ -70,6 +70,7 @@ "Économie", "Science politique" ], + "note":"Karambolage est une super émission!", "scolarshipLevels": [], "keywords": [ "hamburger", diff --git a/library/digital_resources/Bacon/Service/Parser.php b/library/digital_resources/Bacon/Service/Parser.php index 1a2f12b41e2..77aae73ed61 100644 --- a/library/digital_resources/Bacon/Service/Parser.php +++ b/library/digital_resources/Bacon/Service/Parser.php @@ -149,7 +149,7 @@ class Bacon_Service_Parser { public function endNotes($data) { - $this->_current_album->addNote('300$a', $data); + $this->_current_album->addNote(Class_Album::NOTE_FIELD, $data); } -- GitLab