diff --git a/lib/classes/Controller/Setup/Upgrader.class.php b/lib/classes/Controller/Setup/Upgrader.class.php
index 9dc1a2f2fb..a3928baf45 100644
--- a/lib/classes/Controller/Setup/Upgrader.class.php
+++ b/lib/classes/Controller/Setup/Upgrader.class.php
@@ -49,6 +49,7 @@ class Controller_Setup_Upgrader implements ControllerProviderInterface
'locale' => Session_Handler::get_locale()
, 'upgrade_status' => $upgrade_status
, 'available_locales' => $app['available_languages']
+ , 'bad_users' => User_Adapter::get_wrong_email_users(appbox::get_instance())
, 'version_number' => GV_version
, 'version_name' => GV_version_name)
);
diff --git a/lib/classes/Exception/Setup/FixBadEmailAddresses.class.php b/lib/classes/Exception/Setup/FixBadEmailAddresses.class.php
new file mode 100644
index 0000000000..659d857471
--- /dev/null
+++ b/lib/classes/Exception/Setup/FixBadEmailAddresses.class.php
@@ -0,0 +1,21 @@
+appbox = $appbox;
+
+ if(count(User_Adapter::get_wrong_email_users($appbox)) > 0)
+ {
+ throw new Exception_Setup_FixBadEmailAddresses();
+ }
+
$this->write_lock();
return $this;
diff --git a/lib/classes/module/console/systemUpgrade.class.php b/lib/classes/module/console/systemUpgrade.class.php
index 48e68b864c..529d15c3c7 100644
--- a/lib/classes/module/console/systemUpgrade.class.php
+++ b/lib/classes/module/console/systemUpgrade.class.php
@@ -59,6 +59,12 @@ class module_console_systemUpgrade extends Command
{
$output->write('
- {% trans 'Une mise a jour de l\'application est necessaire, il est vivement recommande de l\'effectuer en ligne de commande via la commande :' %} -
-
-
- {{registry.get('GV_cli')}} {% if registry.get('GV_PHP_INI') %} -c {{registry.get('GV_PHP_INI')}}{% endif %} bin/upgrade.php
-
-
- {% trans 'Si toutefois vous n\'aviez pas acces à la console, suivez le lien suivant' %} -
--
- - + {% if bad_users|length > 0 %} ++ {% trans 'Before any upgrade, you have to fix your database.' %} + {% trans 'Some users have the same email address. You can fix this problem with this script :' %} +
+
+
+ {{registry.get('GV_cli')}} {% if registry.get('GV_PHP_INI') %} -c {{registry.get('GV_PHP_INI')}}{% endif %} bin/console system:mailCheck
+
+
+ {% trans 'Une mise a jour de l\'application est necessaire, il est vivement recommande de l\'effectuer en ligne de commande via la commande :' %} +
+
+
+ {{registry.get('GV_cli')}} {% if registry.get('GV_PHP_INI') %} -c {{registry.get('GV_PHP_INI')}}{% endif %} bin/console system:upgrade
+
+
+ {% trans 'Si toutefois vous n\'aviez pas acces à la console, suivez le lien suivant' %} +
++
+ + + {% endif %} {% else %}{% trans 'Progression de la mise a jour : ' %}