From e4644eeb4edd40a0226d8d3331f754ae930ecf8c Mon Sep 17 00:00:00 2001 From: gloas <gloas@afi-sa.fr> Date: Thu, 14 Sep 2017 10:43:20 +0200 Subject: [PATCH] dev #64203 fix main request + fix review comments --- .../modules/admin/controllers/UsersController.php | 2 +- .../views/scripts/users/manage-double-user.phtml | 2 +- .../admin/views/scripts/users/manage-double.phtml | 6 +++--- library/Class/User/DbDoubleFinder.php | 2 +- public/admin/js/progressbar.js | 8 ++++---- public/admin/skins/bokeh74/global.css | 11 +++++++++++ .../admin/controllers/UsersControllerTest.php | 15 +++++++++++---- 7 files changed, 32 insertions(+), 14 deletions(-) diff --git a/application/modules/admin/controllers/UsersController.php b/application/modules/admin/controllers/UsersController.php index 03cca6f8e3b..949089888c3 100644 --- a/application/modules/admin/controllers/UsersController.php +++ b/application/modules/admin/controllers/UsersController.php @@ -99,7 +99,7 @@ class Admin_UsersController extends ZendAfi_Controller_Action { : false; if(!$continue) - $this->_helper->notify($this->_('Le dédoublonnage automatique a terminé')); + $this->_helper->notify($this->_('Le dédoublonnage automatique des doublons est terminé.')); $done = $total - $db_double_finder->countDouble(); diff --git a/application/modules/admin/views/scripts/users/manage-double-user.phtml b/application/modules/admin/views/scripts/users/manage-double-user.phtml index ff6e168ab4b..de2aba63635 100644 --- a/application/modules/admin/views/scripts/users/manage-double-user.phtml +++ b/application/modules/admin/views/scripts/users/manage-double-user.phtml @@ -16,7 +16,7 @@ $description = (new Class_TableDescription('double-users')) { return Class_Date::humanDate($user->getDateFin(), 'dd MMMM yyyy'); }) - ->addColumn($this->_('Dans l\'intégration'), function($model) + ->addColumn($this->_('Exporté par le SIGB'), function($model) { return $model->getStatut() ? $this->_('Non') diff --git a/application/modules/admin/views/scripts/users/manage-double.phtml b/application/modules/admin/views/scripts/users/manage-double.phtml index 1f238cbf74b..c28715e424d 100644 --- a/application/modules/admin/views/scripts/users/manage-double.phtml +++ b/application/modules/admin/views/scripts/users/manage-double.phtml @@ -42,6 +42,6 @@ echo $this->button((new Class_Entity()) ['style' => 'filter: invert();'])) ->setText($this->_('Voir la requete'))); -echo $this->tag('p', - $this->double_manager->getRequest(), - ['style' => 'display:none']); +echo $this->tag('pre', + $this->double_manager->getRequest(), + ['style' => 'display: none;']); diff --git a/library/Class/User/DbDoubleFinder.php b/library/Class/User/DbDoubleFinder.php index b030166d364..d8146fea882 100644 --- a/library/Class/User/DbDoubleFinder.php +++ b/library/Class/User/DbDoubleFinder.php @@ -31,7 +31,7 @@ class Class_User_DbDoubleFinder { public function getRequest($cursor = 0) { - return sprintf('select id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > %s group by idabon, ordreabon, login, password having doublon > 1 order by id_user', + return sprintf('select min(id_user) as id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > %s group by idabon, ordreabon, login, password having doublon > 1 order by id_user asc', $cursor); } diff --git a/public/admin/js/progressbar.js b/public/admin/js/progressbar.js index da9f9b1f2ea..a1c0bb9c384 100644 --- a/public/admin/js/progressbar.js +++ b/public/admin/js/progressbar.js @@ -5,7 +5,7 @@ var progressbar = function(id, url, total, cursor = 0) { type: 'GET', url: url, data: {'total': total, - 'cursor': cursor}, + 'cursor': cursor}, success: function(data) { var percent = data.done * 100 / total; @@ -15,14 +15,14 @@ var progressbar = function(id, url, total, cursor = 0) { tag.progressbar({value: percent}); if(run) - progressbar(id, url, total, new_cursor); + progressbar(id, url, total, new_cursor); }, complete: function(event, ui) { if(run) - return; + return; tag.progressbar({value: 100}); - location.reload(); + location.reload(); }}); } diff --git a/public/admin/skins/bokeh74/global.css b/public/admin/skins/bokeh74/global.css index 59733f9854b..f8fe1afe008 100755 --- a/public/admin/skins/bokeh74/global.css +++ b/public/admin/skins/bokeh74/global.css @@ -161,6 +161,11 @@ td[id*="menu_item"] { box-shadow: 1px 1px 5px var(--widget-shadow); } +.modules pre { + box-shadow: inset 1px 1px 5px var(--widget-shadow); +} + + /* Font */ body, body * { @@ -994,3 +999,9 @@ table#logs img { .modules a[data-order$="desc"] { background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); } + +.modules pre { + margin: 1ex 1em; + padding: 1ex 1em; + overflow: auto; +} diff --git a/tests/application/modules/admin/controllers/UsersControllerTest.php b/tests/application/modules/admin/controllers/UsersControllerTest.php index 10386e36674..642fa83e002 100644 --- a/tests/application/modules/admin/controllers/UsersControllerTest.php +++ b/tests/application/modules/admin/controllers/UsersControllerTest.php @@ -89,13 +89,17 @@ abstract class UsersControllerWithMarcusTestCase extends AbstractControllerTestC } + + + + class UsersControllerIndexTest extends UsersControllerWithMarcusTestCase { public function setUp() { parent::setUp(); Zend_Registry::set('sql', $this->mock() ->whenCalled('fetchAll') - ->with('select id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > 0 group by idabon, ordreabon, login, password having doublon > 1 order by id_user') + ->with('select min(id_user) as id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > 0 group by idabon, ordreabon, login, password having doublon > 1 order by id_user asc') ->answers([]) ->whenCalled('fetchAll') @@ -1203,7 +1207,7 @@ abstract class UsersControllerDoubleTestCase extends Admin_AbstractControllerTes $mock_sql = $this->mock() ->whenCalled('fetchAll') - ->with('select id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > 0 group by idabon, ordreabon, login, password having doublon > 1 order by id_user') + ->with('select min(id_user) as id_user, password, login, idabon, ordreabon, count(*) as doublon from bib_admin_users where role_level = 2 and id_user > 0 group by idabon, ordreabon, login, password having doublon > 1 order by id_user asc') ->answers([ ['id_user' => '25', 'login' => 'Ret', @@ -1351,6 +1355,7 @@ abstract class UsersControllerDoubleTestCase extends Admin_AbstractControllerTes 'id_user' => 25]); } + protected function createUsersWithEmptyValidityDate() { $this->fixture('Class_Users', ['id' => 110, @@ -1381,6 +1386,7 @@ abstract class UsersControllerDoubleTestCase extends Admin_AbstractControllerTes } + protected function createUsersWithStatusDifferentAndSameNames($id_abon, $ids = [100,101,102], $status = [0,1,1]) { $this->fixture('Class_Users', ['id' => $ids[0], @@ -1437,7 +1443,6 @@ abstract class UsersControllerDoubleTestCase extends Admin_AbstractControllerTes class UsersControllerManageDoubleTest extends UsersControllerDoubleTestCase { - public function setUp() { parent::setUp(); $this->dispatch('/admin/users/manage-double', true); @@ -1480,11 +1485,12 @@ class UsersControllerDeleteDoubleEndCursorTest extends Admin_AbstractControllerT 'cursor' => null, 'run' => false], json_decode($this->_response->getBody(),true)); } - } + + class UsersControllerDeleteDoubleTest extends UsersControllerDoubleTestCase { public function setUp() { @@ -1602,6 +1608,7 @@ class UsersControllerManageDoubleUserTest extends UsersControllerDoubleTestCase $this->assertXpath('//div'); } + /** @test */ public function backButtonShouldBeDisplayed() { $this->assertXpath('//button[contains(@onclick, "/admin/users/manage-double")]',$this->_response->getBody()); -- GitLab