diff --git a/VERSIONS_HOTLINE/160884 b/VERSIONS_HOTLINE/160884 new file mode 100644 index 0000000000000000000000000000000000000000..0394cf9f36c6364c85fd97996e30e9bed9900904 --- /dev/null +++ b/VERSIONS_HOTLINE/160884 @@ -0,0 +1 @@ + - correctif #160884 : Avis Orphelins : Les liens de notice pour les avis sans titres ou descriptifs sont maintenant correctement mis à jour. \ No newline at end of file diff --git a/library/Class/AvisNotice.php b/library/Class/AvisNotice.php index 95ea01139bba6541e7c2c9524f1b9cbb7a882702..82f71fb5fbba94d1b5da60053b0680adc765edac 100644 --- a/library/Class/AvisNotice.php +++ b/library/Class/AvisNotice.php @@ -517,6 +517,7 @@ class Class_AvisNotice extends Storm_Model_Abstract { $this->setClefOeuvre($notice->getClefOeuvre()); $this->setIdNotice($notice->getId()); $this->updateFlags(); + $this->beImportMode(); return $this; } @@ -525,7 +526,8 @@ class Class_AvisNotice extends Storm_Model_Abstract { public function resyncWorkKey(){ $id_notice = $this->getIdNotice(); if ($notice = Class_Notice::find($id_notice)) - $this->forceUpdateWithNotice($notice)->save(); + $this->forceUpdateWithNotice($notice) + ->save(); } diff --git a/tests/application/modules/admin/controllers/ModoControllerTest.php b/tests/application/modules/admin/controllers/ModoControllerTest.php index a64fb74a49d32818786ca8362559789c2b78c6cd..ad46135d4687a42c8ea16d7f01909961fa557164 100644 --- a/tests/application/modules/admin/controllers/ModoControllerTest.php +++ b/tests/application/modules/admin/controllers/ModoControllerTest.php @@ -49,7 +49,7 @@ abstract class ModoControllerIndexActionTestCase extends Admin_AbstractControlle 'id_notice' => 1002, 'statut' => 0]); - $this->fixture('Class_AvisNotice', ['id' => 1, + $this->fixture(Class_AvisNotice::class, ['id' => 1, 'id_notice' => 1002, 'entete' => 'Mon avis', 'note'=> 2, @@ -59,7 +59,7 @@ abstract class ModoControllerIndexActionTestCase extends Admin_AbstractControlle 'abon_ou_bib' => 1, 'source_author' => null]); - $this->fixture('Class_AvisNotice', ['id' => 223, + $this->fixture(Class_AvisNotice::class, ['id' => 223, 'id_notice' => 1002, 'entete' => 'Bulles', 'note'=> 2, @@ -98,7 +98,7 @@ abstract class ModoControllerIndexActionTestCase extends Admin_AbstractControlle protected function generateReviews() { for($i = 110; $i <= 139; $i++) - $this->fixture('Class_AvisNotice', ['id' => $i, + $this->fixture(Class_AvisNotice::class, ['id' => $i, 'id_notice' => 1032, 'entete' => 'Bulles n°' . $i, 'note'=> 2, @@ -740,7 +740,7 @@ class ModoControllerAvisNoticeHTTPErrorOnGetVignetteTest extends Admin_AbstractC Class_AdminVar::set('AVIS_MIN_SAISIE', 1); Class_AdminVar::set('AVIS_MAX_SAISIE', 100); - $this->fixture('Class_AvisNotice', ['id' => 622, + $this->fixture(Class_AvisNotice::class, ['id' => 622, 'id_notice' => 10, 'entete' => 'Orphan Test', 'note'=> 2, @@ -821,7 +821,7 @@ class ModoControllerAvisnoticeActionTest extends Admin_AbstractControllerTestCas Class_AdminVar::set('AVIS_MIN_SAISIE', 1); Class_AdminVar::set('AVIS_MAX_SAISIE', 100); - $this->fixture('Class_AvisNotice', ['id' => 622, + $this->fixture(Class_AvisNotice::class, ['id' => 622, 'id_notice' => 1002, 'entete' => 'Orphan Test', 'note'=> 2, @@ -881,7 +881,7 @@ abstract class ModoControllerOrphanReviewsTestCase extends Admin_AbstractControl public function setUp() { parent::setUp(); - $this->fixture('Class_AvisNotice', + $this->fixture(Class_AvisNotice::class, [ 'id' => 2, 'entete' => 'Orphan Test', 'note'=> 2, @@ -894,7 +894,7 @@ abstract class ModoControllerOrphanReviewsTestCase extends Admin_AbstractControl 'source_author' => null ]); - $this->fixture('Class_AvisNotice', + $this->fixture(Class_AvisNotice::class, [ 'id' => 5, 'entete' => 'Orphan Test 2', 'note'=> 5, @@ -907,7 +907,7 @@ abstract class ModoControllerOrphanReviewsTestCase extends Admin_AbstractControl 'source_author' => null ]); - $this->fixture('Class_AvisNotice', + $this->fixture(Class_AvisNotice::class, [ 'id' => 6, 'entete' => 'Orphan Test 3', 'note'=> 3, @@ -1133,6 +1133,15 @@ class ModoControllerResyncTitleOrphanReviewsTest extends ModoControllerOrphanRev parent::setUp(); $reviews = Class_AvisNotice::findAllBy(['clef_oeuvre' => 'LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-']); + /** + @see http://forge.afi-sa.fr/issues/160884 + */ + $reviews[0] + ->setEntete('') + ->setAvis('') + ->beImportMode() + ->save(); + foreach ($reviews as $review) $review->setIdNotice(429)->save(); @@ -1310,6 +1319,24 @@ class ModoControllerRelinkOrphanReviewsPostWithNoDoubleSearchModeTest extends Mo 'id_bib' => 1, 'id_int_bib' => 1, 'id_origine' => 7890])]); + /* + @see http://forge.afi-sa.fr/issues/160884 + */ + $this->fixture(Class_AvisNotice::class, + [ 'id' => 15, + 'entete' => '', + 'note'=> 5, + 'clef_oeuvre' => 'LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-', + 'id_user' => null, + 'flags' => 1, + 'avis' => '', + 'statut' => 1, + 'abon_ou_bib' => 1, + 'source_author' => null, + '_import_mode' => true + ]) + ->setImportMode(false); + $this->postDispatch('/admin/modo/relink-orphan-reviews/id/LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-', ['clef_oeuvre' => 'LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-', @@ -1324,8 +1351,8 @@ class ModoControllerRelinkOrphanReviewsPostWithNoDoubleSearchModeTest extends Mo /** @test */ - public function shouldNotifyTwoReviewsHaveBeenLinkedToGilbertAndPotatoes() { - $this->assertFlashMessengerContentContains('2 avis contenant la clé oeuvre "LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-" rattaché(s) à la notice "Gilbert & les pommes de terre"'); + public function shouldNotifyThreeReviewsHaveBeenLinkedToGilbertAndPotatoes() { + $this->assertFlashMessengerContentContains('3 avis contenant la clé oeuvre "LESVAMPIRESDEMANHATTANTOME1--DELACRUZM-" rattaché(s) à la notice "Gilbert & les pommes de terre"'); } diff --git a/tests/application/modules/opac/controllers/AbonneControllerSuggestionAchatNanookTest.php b/tests/application/modules/opac/controllers/AbonneControllerSuggestionAchatNanookTest.php index e247d0c548b7ab02903b1a2a4ae7c095cf3ba931..89b137bb328a835077c99b7e8ffbd76a2999f5c9 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerSuggestionAchatNanookTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerSuggestionAchatNanookTest.php @@ -244,8 +244,6 @@ class AbonneControllerSuggestionAchatNanookAddTest extends AbstractAbonneControl class AbonneControllerSuggestionAchatNanookAddPostTest extends AbstractAbonneControllerSuggestionAchatNanookTestCase { - protected $_storm_default_to_volatile = true; - public function setUp() { parent::setUp();