Author: ornicar2
Date: 2010-02-10 23:52:34 +0100 (Wed, 10 Feb 2010)
New Revision: 27868
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUser.class.php
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
Log:
[Diem]
- prevented user to delete himself, or to delete a superadmin
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUser.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUser.class.php
2010-02-10 22:50:03 UTC (rev 27867)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/lib/model/doctrine/PluginDmUser.class.php
2010-02-10 22:52:34 UTC (rev 27868)
@@ -284,4 +284,22 @@
$this->_set('password', $v);
}
}
+
+ public function preDelete($event)
+ {
+ if(($userService = $this->getService('user')) && ($loggedUser =
$userService->getUser()))
+ {
+ if($loggedUser->id == $this->id)
+ {
+ throw new dmRecordException('You cannot delete yourself from the
database.');
+ }
+
+ if($this->is_super_admin && !$loggedUser->is_super_admin)
+ {
+ throw new dmRecordException('You cannot delete a superadmin.');
+ }
+ }
+
+ return parent::preDelete($event);
+ }
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
2010-02-10 22:50:03 UTC (rev 27867)
+++
plugins/diemPlugin/trunk/dmCorePlugin/plugins/dmUserPlugin/modules/dmUserAdmin/lib/BasedmUserAdminActions.class.php
2010-02-10 22:52:34 UTC (rev 27868)
@@ -110,4 +110,17 @@
return true;
}
+
+ public function executeDelete(sfWebRequest $request)
+ {
+ try
+ {
+ return parent::executeDelete($request);
+ }
+ catch(dmRecordException $e)
+ {
+ $this->getUser()->logError($e->getMessage());
+ $this->redirectBack();
+ }
+ }
}
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.