diff --git a/controllers/admin/AdminEmployeesController.php b/controllers/admin/AdminEmployeesController.php index a49f3ffc0..fe4c78174 100644 --- a/controllers/admin/AdminEmployeesController.php +++ b/controllers/admin/AdminEmployeesController.php @@ -110,6 +110,14 @@ class AdminEmployeesControllerCore extends AdminController if (!($obj = $this->loadObject(true))) return; + $available_profiles = Profile::getProfiles($this->context->language->id); + + if ($obj->id_profile == _PS_ADMIN_PROFILE_ && $this->context->employee->id_profile != _PS_ADMIN_PROFILE_) + $this->_errors[] = Tools::displayError('You cannot edit SuperAdmin profile.'); + + return parent::renderForm(); + + $path = _PS_ADMIN_DIR_.'/themes/'; foreach (scandir($path) as $theme) if (file_exists($path.$theme.'/admin.css')) @@ -227,13 +235,21 @@ class AdminEmployeesControllerCore extends AdminController 'desc' => $this->l('Allow or disallow this employee to log into this Back Office') ); + // if employee is not SuperAdmin (id_profile = 1), don't make it possible to select the admin profile + if ($this->context->employee->id_profile != _PS_ADMIN_PROFILE_) + foreach ($available_profiles as $i => $profile) + if ($available_profile['id_profile'] == _PS_ADMIN_PROFILE_) + { + unset($available_profiles[$i]); + break; + } $this->fields_form['input'][] = array( 'type' => 'select', 'label' => $this->l('Profile:'), 'name' => 'id_profile', 'required' => true, 'options' => array( - 'query' => Profile::getProfiles($this->context->language->id), + 'query' => $available_profiles, 'id' => 'id_profile', 'name' => 'name', 'default' => array( diff --git a/translations/fr/errors.php b/translations/fr/errors.php index c406223a5..0baf87573 100644 --- a/translations/fr/errors.php +++ b/translations/fr/errors.php @@ -24,6 +24,7 @@ $_ERRORS['472266472e3353d32d8a8ffa25c60154'] = 'une erreur s\'est produite penda $_ERRORS['b1367942aa02ea8c9d4aa07cdf5e473c'] = 'vous devez garder au moins un objet'; $_ERRORS['ec5f6f7f65190788d12ef16ab6135009'] = 'vous ne pouvez pas tous les supprimer'; $_ERRORS['9476b0a23e72aed97f3551779d987674'] = 'Vous ne pouvez pas supprimer ces objets.'; +$_ERRORS['f8a12963c3dc4b4904584daa232d0e08'] = 'Impossible de supprimer les images associées.'; $_ERRORS['bc33aa1314e7dcd3472db72472b909b2'] = 'une erreur s\'est produite pendant la suppression'; $_ERRORS['f90676e0d2061813a868bc9d86c4d982'] = 'une erreur s\'est produite pendant la suppression de l\'objet'; $_ERRORS['77ae44aa6c998166fcf1a87496278ad5'] = 'impossible de charger l\'objet'; @@ -301,6 +302,7 @@ $_ERRORS['ff9e9791ff17e1ca431449bb2fe992c0'] = 'Date de fin invalide'; $_ERRORS['c569149bbb8ca2ea337fa0a4c6c98409'] = 'Aucun bon de livraison trouvé pour cette période'; $_ERRORS['577c8acd6847e0a8fc64911123f2ec1f'] = 'Vous devez au minimum spécifier un serveur et un port SMTP. Si vous n\'êtes pas sûrs, utilisez la fonction mail() de PHP à la place.'; $_ERRORS['b7d99b30df0aade1e4d459fab8c7078f'] = 'Aucun profil'; +$_ERRORS['38a0d8212c5e89f483426776fcb7d5ed'] = 'Vous ne pouvez pas éditer le profil SuperAdmin.'; $_ERRORS['eaa0d1591e6369a298dcd6cb1a8eba8a'] = 'Email invalide'; $_ERRORS['f5d44b60e38b28d19549bb7a107654ca'] = 'Vous ne pouvez pas supprimer votre propre compte.'; $_ERRORS['052800f7397d4c12924faa83534c62f0'] = 'Vous ne pouvez pas désactiver ou supprimer le dernier compte administrateur'; @@ -338,6 +340,7 @@ $_ERRORS['f783b48ba9193ecd51ea751e5a660d05'] = 'ne peux être enregistré'; $_ERRORS['9d0af39694637f8184020a6193a3943c'] = 'La ré-écriture d\'URL automatique n\'est pas parvenue à générer une valeur par défaut pour :'; $_ERRORS['83d41d7e6f25cd9be1e48204697fe0c9'] = 'Le lien re-écrit pour'; $_ERRORS['db5bf82f326c6332a2c3dc1b0dd4598e'] = 'a été re-écrit comme'; +$_ERRORS['b2c396eff6cd6aae23e4da0218c7cc93'] = 'La catégorie racine ne peut pas être modifiée'; $_ERRORS['cf325676512d19d8150c0244327926df'] = 'ne peux être copié'; $_ERRORS['a328aae6eaecda76cb31c7347cb926f6'] = 'ID du groupe invalide pour cette règle de taxe'; $_ERRORS['3ed308de66927376b1d3c19fdcaa0edc'] = 'Erreur lors de la copie de l\'image:'; @@ -461,7 +464,7 @@ $_ERRORS['aadb27e7677e4c4c85e4aa747ef7626e'] = 'Pour utiliser Xcache, vous devez $_ERRORS['3d064d5efb6cf2ed52cf72bfef7c7db2'] = 'Pour utiliser CacheFS, le dossier'; $_ERRORS['a9b036d3e91d53892d6a67c31327e456'] = 'doit avoir les droits d\'écriture'; $_ERRORS['8e4b5b9003a1e89146ecd623f76f4179'] = 'Merci de définir une profondeur répertoire '; -$_ERRORS['77cdfaefb21a2a1187a097ade3ab89c8'] = 'La limite choisie est superieure à celle du serveur. Vous devez augmenter la limite d\\\'envoi de votre serveur'; +$_ERRORS['77cdfaefb21a2a1187a097ade3ab89c8'] = 'La limite choisie est superieure à celle du serveur. Vous devez augmenter la limite d\'envoi de votre serveur'; $_ERRORS['db7a282fcab155c89c9324ff799d8140'] = 'Assignez une page cms de conditions générales de vente si vous voulez qu\'elle soit lue'; $_ERRORS['bfd99559857dfcfc40cb0d0e6c8aee1b'] = 'Nom invalide'; $_ERRORS['931b7343428529d2673554b2cfb06211'] = 'Nom trop long'; @@ -497,6 +500,7 @@ $_ERRORS['fe22b7cb2de47c8eafec2ad82fada9dd'] = 'le produit doit être créé ava $_ERRORS['e389fb6a0b1d8aba957ef5bd33929e86'] = 'le nom des champs sont invalides'; $_ERRORS['8dc03df823f55c2581dc111036d8f176'] = 'Une erreur s\'est produite lors de l\'association de l\'image avec la boutique'; $_ERRORS['12367e1504dd72592be0743614c6dd7c'] = 'Une erreur s\'est produite lors du déplacement de l\'image'; +$_ERRORS['e482c77a047f3ac75b89ef2d1e69eaea'] = 'Erreur à la suppression de l\'image produit'; $_ERRORS['17b47060583191452b3d4455820673c9'] = 'Mauvais identifiants !'; $_ERRORS['aa57ac2e1a1fb514ef0b002ed63fd079'] = 'Prix/réduction invalide'; $_ERRORS['3a65f932fe23b8ca8eb70bffe2b215bf'] = 'Merci de séelectionner un type de réduction (montant fixe ou pourcentage)';