Skip to content
Snippets Groups Projects
Commit c967a4c7 authored by efalcy's avatar efalcy
Browse files

rel #12186 : add batch to reallocate baskets to user

parent c05e1a82
Branches
Tags
No related merge requests found
......@@ -32,7 +32,8 @@ class Class_Batch extends Storm_Model_Abstract {
'MOISSONNAGE_NUMILOG' => ['Class_WebService_BibNumerique_Numilog' ,'harvest' ,'Moissonner catalogue Numilog' ,'isNumilogEnabled'],
'MOISSONNAGE_TOUTAPPRENDRE' => ['Class_WebService_BibNumerique_ToutApprendre' ,'harvest' ,'Moissonner catalogue Tout apprendre' ,'isToutApprendreEnabled'],
'IMPORT_TYPO3' => ['Class_Agenda_SQY' ,'importFromURL' ,'Import des TYPO3 depuis le site SQY' ,'isTypo3Enabled'],
'CORRECTION_PANIERS' => ['Class_PanierNotice' ,'fixLostClesNoticesForAll', 'Recherche les notices perdues des paniers', '']];
'CORRECTION_PANIERS' => ['Class_PanierNotice' ,'fixLostClesNoticesForAll', 'Recherche les notices perdues des paniers', ''],
'BASKET_REALLOCATION' => ['Class_PanierNotice' ,'fixLostUserIdForAll', 'Réaffecte les paniers perdus des abonnés', '']];
protected $_table_name = 'batchs';
......
......@@ -36,15 +36,6 @@ class PanierNoticeLoader extends Storm_Model_Loader {
return $this->findAll($select);
}
public static function fixLostUserIdForAll() {
$paniers = Class_PanierNotice::findAll();
foreach($paniers as $panier) {
$panier->fixLostUserId();
}
}
public function findAllWithNoCatalogueBelongsToAdmin() {
$paniers = Class_PanierNotice::getLoader()->findAllBelongsToAdmin();
......@@ -171,7 +162,6 @@ class Class_PanierNotice extends Storm_Model_Abstract {
public function getNoticesOnlyVignettes($only_vignettes) {
xdebug_break();
$notices = $this->getNoticesAsArray();
if (!$only_vignettes) return $notices;
......@@ -224,7 +214,8 @@ class Class_PanierNotice extends Storm_Model_Abstract {
$user=Class_Users::getIdentity();
if ($user && $user->getIdabon())
$this->setIdabon($user->getIdabon());
$this->setDateMaj(date('Y-m-d'));
xdebug_break();
$this->setDateMaj(date('Y-m-d'));
}
......@@ -281,6 +272,13 @@ class Class_PanierNotice extends Storm_Model_Abstract {
return $this->getIdUser() == $user->getId();
}
public static function fixLostUserIdForAll() {
$paniers = Class_PanierNotice::findAll();
foreach($paniers as $panier) {
$panier->fixLostUserId();
}
}
//-------------------------------------------------------------------------------
// liste des paniers pour une combo
......@@ -381,8 +379,9 @@ class Class_PanierNotice extends Storm_Model_Abstract {
if (!$user=Class_Users::findFirstBy(['idabon' => $this->getIdabon()]))
return;
$this->setUser($user);
$this->save();
$this->getLoader()->save($this); //skip beforeSave to keep date_maj
}
}
?>
\ No newline at end of file
......@@ -82,7 +82,8 @@ class BatchTest extends AbstractControllerTestCase{
**/
public function batchGetAvailableTypeShouldOnlyReturnImporTypo3(){
$this->assertEquals(['IMPORT_TYPO3'=>'Import des TYPO3 depuis le site SQY',
'CORRECTION_PANIERS' => 'Recherche les notices perdues des paniers'],
'CORRECTION_PANIERS' => 'Recherche les notices perdues des paniers',
'BASKET_REALLOCATION' => 'Réaffecte les paniers perdus des abonnés'],
Class_Batch::getAvailableType(),
implode(',',Class_Batch::getAvailableType()));
......@@ -96,6 +97,7 @@ class BatchTest extends AbstractControllerTestCase{
RessourcesNumeriquesFixtures::activateVodeclic();
$this->assertEquals(['IMPORT_TYPO3'=>'Import des TYPO3 depuis le site SQY',
'CORRECTION_PANIERS' => 'Recherche les notices perdues des paniers',
'BASKET_REALLOCATION' => 'Réaffecte les paniers perdus des abonnés',
'MOISSONNAGE_VODECLIC' => 'Moissonner catalogue Vodeclic'],
Class_Batch::getAvailableType(),
implode(',',Class_Batch::getAvailableType()));
......@@ -106,11 +108,12 @@ class BatchTest extends AbstractControllerTestCase{
/**
* @test
**/
public function batchGetAvailableTypeShouldReturnToutApprendreWithImporTypo3(){
public function batchGetAvailableTypesShouldReturnToutApprendreImporTypo3AndBaskets(){
RessourcesNumeriquesFixtures::activateToutApprendre();
$this->assertEquals(['IMPORT_TYPO3'=>'Import des TYPO3 depuis le site SQY',
'BASKET_REALLOCATION' => 'Réaffecte les paniers perdus des abonnés',
'CORRECTION_PANIERS' => 'Recherche les notices perdues des paniers',
'MOISSONNAGE_TOUTAPPRENDRE' => 'Moissonner catalogue Tout apprendre'],
'MOISSONNAGE_TOUTAPPRENDRE' => 'Moissonner catalogue Tout apprendre'],
Class_Batch::getAvailableType(),
implode(',',Class_Batch::getAvailableType()));
......
......@@ -328,10 +328,13 @@ class PanierNoticeWithWrongUserIdTest extends PanierNoticeWithThreeNoticesTestCa
'idabon' => 666,
'libelle' => 'Demon']);
$this->fixture('Class_PanierNotice', ['id' => 28,
'id_user' => 78,
$voyage=$this->fixture('Class_PanierNotice', ['id' => 28,
'id_user' => 78,
'idabon' => 111,
'libelle' => 'Voyage']);
$voyage->setDateMaj('2013-12-12');
Class_PanierNotice::getLoader()->save($voyage);
Class_PanierNotice::fixLostUserIdForAll();
Class_PanierNotice::clearCache();
......@@ -360,6 +363,10 @@ class PanierNoticeWithWrongUserIdTest extends PanierNoticeWithThreeNoticesTestCa
$this->assertEquals(11, Class_PanierNotice::find(28)->getIdUser());
}
/** @test */
public function dateMajBasketVoyageShouldNotChange() {
$this->assertEquals('2013-12-12', Class_PanierNotice::find(28)->getDateMaj());
}
}
?>
\ No newline at end of file
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