Skip to content

Commit 985c886

Browse files
Admin self deletion check added
1 parent fdcfe51 commit 985c886

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

src/ApiBundle/Controller/Admin/UserController.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -228,15 +228,18 @@ public function editAction(User $user, Request $request)
228228
*/
229229
public function deleteAction(Request $request, User $user)
230230
{
231-
$entityManager = $this->getDoctrine()->getManager();
232-
233-
$user->setEnabled(false);
234-
// $user->setUpdatedAt(new \DateTime());
235-
236-
$entityManager->flush();
237-
238-
$this->logMessageAndFlash(200, 'success', 'User successfully deleted: ', $this->get('translator')->trans('flash.user_deleted_successfully'), $request->getLocale() );
231+
$adminUser = $this->container->get('security.context')->getToken()->getUser();
239232

233+
if ($adminUser->getId() == $user->getId() ) {
234+
// Admin is not allowed to delete his own account
235+
$this->logMessageAndFlash(200, 'danger', 'Admin is not allowed to delete his own account', $this->get('translator')->trans('flash.admin_deleted_denied1'), $request->getLocale() );
236+
} else {
237+
$entityManager = $this->getDoctrine()->getManager();
238+
$user->setEnabled(false);
239+
// $user->setUpdatedAt(new \DateTime());
240+
$entityManager->flush();
241+
$this->logMessageAndFlash(200, 'success', 'User successfully deleted: ', $this->get('translator')->trans('flash.user_deleted_successfully'), $request->getLocale() );
242+
}
240243
return $this->redirectToRoute('admin_user_index');
241244
}
242245

src/ApiBundle/Controller/AuthController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ public function getProfileAction()
334334
'lastname' => $user->getLastname(),
335335
'dob' => $dobString,
336336
'email' => $user->getEmail(),
337-
'image_url' => $this->getParameter('images_profile_dir').$user->getImage()
337+
'image_url' => $user->getImage() ? $this->getParameter('images_profile_dir').$user->getImage() : ''
338338
));
339339
}
340340

src/ApiBundle/Resources/translations/messages.en.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ flash:
128128
user_deleted_successfully: User deleted successfully!
129129
user_authentication_failed: User Authentication failed!
130130
image_error: Image Error!
131+
admin_deleted_denied1: Admin is not allowed to delete his own account!
132+
admin_deleted_denied2: There must be 1 active admin account, hence promote/assign another user to admin role before deleting this account.
131133
api:
132134
show_error_client_name: Sorry, Client Name cannot be empty!
133135
show_error_client_name_taken: Sorry, Client Name already taken!

src/ApiBundle/Resources/translations/messages.fr.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ flash:
116116
user_deleted_successfully: L'utilisateur a été supprimé avec succès!
117117
user_authentication_failed: L'identification de l'utilisateur a échoué!
118118
image_error: Erreur d'image!
119+
admin_deleted_denied1: Admin n'est pas autorisé à supprimer son propre compte!
120+
admin_deleted_denied2: Il doit y avoir 1 compte d'administrateur actif, donc promouvoir / affecter un autre utilisateur au rôle d'administrateur avant de supprimer ce compte.
119121
api:
120122
show_error_client_name: Désolé, le nom du client ne peut pas être vide!
121123
show_error_client_name_taken: Désolé, Nom du client déjà pris!

src/ApiBundle/Resources/translations/messages.hi.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ flash:
116116
user_deleted_successfully: प्रयोक्ता को सफलतापूर्वक नष्ट कर दिया!
117117
user_authentication_failed: उपयोगकर्ता प्रमाणीकरण विफल रहा!
118118
image_error: छवि त्रुटि!
119+
admin_deleted_denied1: व्यवस्थापक अपने स्वयं के खाते को नष्ट करने की अनुमति नहीं है!
120+
admin_deleted_denied2: वहाँ 1 सक्रिय व्यवस्थापक खाता होना चाहिए, इसलिए बढ़ावा देने के / इस खाते को हटाने से पहले व्यवस्थापक भूमिका के लिए किसी अन्य उपयोगकर्ता आवंटित।
119121
api:
120122
show_error_client_name: क्षमा करें, क्लाइंट का नाम रिक्त नहीं हो सकता!
121123
show_error_client_name_taken: क्षमा करें, क्लाइंट का नाम पहले ही ले लिया!

0 commit comments

Comments
 (0)