diff --git a/VERSIONS_HOTLINE/31424 b/VERSIONS_HOTLINE/31424 new file mode 100644 index 0000000000000000000000000000000000000000..e9bc38728236499b10110aeab0110b7e2c597cac --- /dev/null +++ b/VERSIONS_HOTLINE/31424 @@ -0,0 +1 @@ + - ticket #31424 : Correction de la sauvegarde du champ "Droits" dans l'édition d'un album de la bibliothèque numérique. diff --git a/application/modules/admin/controllers/AlbumController.php b/application/modules/admin/controllers/AlbumController.php index b615b587ada21abbef3b3c19bd400ca8cf1ea93e..28d758f0eca673ad5b3b9fb793336afadf2d4c28 100644 --- a/application/modules/admin/controllers/AlbumController.php +++ b/application/modules/admin/controllers/AlbumController.php @@ -549,14 +549,17 @@ class Admin_AlbumController extends ZendAfi_Controller_Action { return; $values = $form->getValues(); + unset($values['fichier']); unset($values['pdf']); unset($values['usage_constraints']); $droits_precision = $values['droits_precision']; unset($values['droits_precision']); - $values['droits'] = ($form->isPublicDomain()) ? - $droits_precision : $form->getPublicDomain(); + + $values['droits'] = $form->isPublicDomain() + ? $form->getPublicDomain() + : $droits_precision; $frbr_multi = $values['frbr_multi']; unset($values['frbr_multi']); diff --git a/library/ZendAfi/Form/Album.php b/library/ZendAfi/Form/Album.php index 1b37b4dd1322082e67242bf7425bfb0ba8b8fd31..b8ffb92fca22a06c5271ba8e21b10219e5f7a3f5 100644 --- a/library/ZendAfi/Form/Album.php +++ b/library/ZendAfi/Form/Album.php @@ -289,9 +289,13 @@ class ZendAfi_Form_Album extends ZendAfi_Form { * @return ZendAfi_Form_Album */ public function addRightsFor($album) { - $current = (self::RIGHT_PUBLIC_DOMAIN == $album->getDroits() || $album->isNew()) ? 1: 2; - $current_precision = (self::RIGHT_PUBLIC_DOMAIN != $album->getDroits()) ? - $album->getDroits(): ''; + $current = (self::RIGHT_PUBLIC_DOMAIN == $album->getDroits() || $album->isNew()) + ? self::RIGHT_PUBLIC_DOMAIN_KEY + : self::RIGHT_OTHER_KEY; + + $current_precision = (self::RIGHT_PUBLIC_DOMAIN != $album->getDroits()) + ? $album->getDroits() + : ''; return $this ->addElement('radio', 'droits', @@ -299,12 +303,13 @@ class ZendAfi_Form_Album extends ZendAfi_Form { 'value' => $current, 'separator' => '', 'multiOptions' => [self::RIGHT_PUBLIC_DOMAIN_KEY => self::RIGHT_PUBLIC_DOMAIN, - self::RIGHT_OTHER_KEY => 'Autre, Précisez']]) + self::RIGHT_OTHER_KEY => $this->_('Autre, Précisez')]]) ->addElement('text', 'droits_precision', ['label' => '', 'value' => $current_precision, 'style' => 'width:440px;']) + ->addElement('usageConstraints', 'usage_constraints', ['label' => 'Utilisations', 'value' => $album->getUsageConstraints()]); } diff --git a/tests/application/modules/admin/controllers/AlbumControllerTest.php b/tests/application/modules/admin/controllers/AlbumControllerTest.php index e6affec4a020ba1dee8e6872d51f01f653ff9661..a773e736d3e55db5161cb0472693ccad75c36b90 100644 --- a/tests/application/modules/admin/controllers/AlbumControllerTest.php +++ b/tests/application/modules/admin/controllers/AlbumControllerTest.php @@ -1691,6 +1691,8 @@ class Admin_AlbumControllerPostEditAlbumMesBDTest extends Admin_AlbumControllerT 'dewey' => '15', 'genre' => '12', 'cote' => 'MS003', + 'droits' => '2', + 'droits_precision' => 'GNU AFERO', 'provenance' => 'Annecy', 'bibliotheques' => '1;23;7']); @@ -1786,6 +1788,12 @@ class Admin_AlbumControllerPostEditAlbumMesBDTest extends Admin_AlbumControllerT public function cacheShouldBeCleared() { $this->assertTrue($this->cache_mock->methodHasBeenCalled('clean')); } + + + /** @test */ + public function rightsShouldBeGNUAFERO() { + $this->assertEquals('GNU AFERO', $this->bd->getDroits()); + } }