Skip to content
Snippets Groups Projects
Commit 92a21cd0 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

dev #15795 : marking patrons via pure sql as ORM is not needed for mass update

parent d8ef5191
Branches
Tags
3 merge requests!2334Master,!2107Dev#15795 1155 importer la bibliotheque de rattachement dans les comptes lecteurs,!2070Dev#15795 1155 importer la bibliotheque de rattachement dans les comptes lecteurs
Pipeline #690 failed with stage
in 16 minutes and 55 seconds
......@@ -80,16 +80,13 @@ class Class_Cosmogramme_Integration_PhasePatrons extends Class_Cosmogramme_Integ
protected function _markUsersForDeletion($integration) {
$users = Class_Users::findAllBy(['role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
'statut not' => Class_Users::STATUT_TO_BE_DELETED,
'id_int_bib' => $integration->getIdBib()]);
array_map(
function($user) {
Class_Users::getLoader()
->save($user->setStatut(Class_Users::STATUT_TO_BE_DELETED));
},
$users);
$sql = sprintf('update bib_admin_users set statut=%s where role_level=%s and id_int_bib=%s and statut != %s',
Class_Users::STATUT_TO_BE_DELETED,
ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
(int)$integration->getIdBib(),
Class_Users::STATUT_TO_BE_DELETED);
Zend_Registry::get('sql')->query($sql);
}
......
......@@ -21,6 +21,8 @@
abstract class PhasePatronsTestCase extends Class_Cosmogramme_Integration_PhaseTestCase {
protected $_sql;
protected function _getPreviousPhase() {
return (new Class_Cosmogramme_Integration_Phase(7))
->beCron();
......@@ -102,6 +104,23 @@ abstract class PhasePatronsTestCase extends Class_Cosmogramme_Integration_PhaseT
public function setUp() {
parent::setUp();
Zend_Registry::set('sql', $this->_sql = $this->mock());
$this->_sql
->whenCalled('query')
->with('update bib_admin_users set statut=1 where role_level=2 and id_int_bib=1 and statut != 1')
->willDo(function()
{
(new Storm_Model_Collection(Class_Users::findAllBy(['role_level' => 2,
'id_int_bib' => 1,
'statut not' => 1])))
->eachDo(function($model)
{
$model->setStatut(1)->save();
});
});
$this->_phase = $this->_buildPhase('Patrons')
->setMemoryCleaner(function() {})
->setPrinter($this->_printer);
......
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