From c724b1a4a412cd5e3040b4bf1008a97de0ca6160 Mon Sep 17 00:00:00 2001 From: vChabot Date: Wed, 11 Jul 2012 15:40:04 +0000 Subject: [PATCH] [-] BO : BugFix : #PSCFV-3120 : Multishop : employees without shop --- controllers/admin/AdminLoginController.php | 11 +++++++++-- translations/fr/errors.php | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/controllers/admin/AdminLoginController.php b/controllers/admin/AdminLoginController.php index 34c314266..0b7a8f585 100755 --- a/controllers/admin/AdminLoginController.php +++ b/controllers/admin/AdminLoginController.php @@ -141,11 +141,18 @@ class AdminLoginControllerCore extends AdminController { // Find employee $this->context->employee = new Employee(); - if (!$this->context->employee->getByemail($email, $passwd)) + $is_employee_loaded = $this->context->employee->getByemail($email, $passwd); + $employee_associated_shop = $this->context->employee->getAssociatedShops(); + if (!$is_employee_loaded) { $this->errors[] = Tools::displayError('Employee does not exist or password is incorrect.'); $this->context->employee->logout(); } + elseif (empty($employee_associated_shop) && !$this->context->employee->isSuperAdmin()) + { + $this->errors[] = Tools::displayError('Employee does not manage any shop anymore (shop has been deleted or permissions have been removed).'); + $this->context->employee->logout(); + } else { $this->context->employee->remote_addr = ip2long(Tools::getRemoteAddr()); @@ -203,7 +210,7 @@ class AdminLoginControllerCore extends AdminController $pwd = Tools::passwdGen(); $employee->passwd = md5(pSQL(_COOKIE_KEY_.$pwd)); $employee->last_passwd_gen = date('Y-m-d H:i:s', time()); - + $params = array( '{email}' => $employee->email, '{lastname}' => $employee->lastname, diff --git a/translations/fr/errors.php b/translations/fr/errors.php index 1a9258faf..6d9ad62bf 100644 --- a/translations/fr/errors.php +++ b/translations/fr/errors.php @@ -321,6 +321,7 @@ $_ERRORS['774eec2772b5f57b2e13d11e1b093a4f'] = 'Aucune image trouvée pour la d $_ERRORS['77ae44aa6c998166fcf1a87496278ad5'] = '(impossible de charger l\'objet)'; $_ERRORS['77cfbabd503d856f294f28a6a0e8b8f2'] = 'La quantité n\'est pas valable.'; $_ERRORS['780e67070a71f981346201c4810dc9d4'] = 'Vous devez saisir un montant si vous voulez créer un remboursement partiel'; +$_ERRORS['786b48fe124c77a1a1557feb4a51f384'] = 'Compte employé ne gérant plus de boutique (la boutique a été supprimé ou les permissions ont été supprimées).'; $_ERRORS['78c46e5c6e68799668e5b0af361e8e5d'] = 'Il n\'y a pas de transporteur qui livre à certaines adresses sélectionnées.'; $_ERRORS['78fd3fe8e01d0707107ced7ade92d23d'] = 'Une erreur est survenue lors du lien de l\'objet.'; $_ERRORS['790198fa9161355e1d60a6c42104e430'] = 'Un compte est déjà enregistré avec cet e-mail, veuillez renseigner le mot de passe ou en demander un nouveau.';