mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-08 00:54:15 +01:00
fixed about deleting of accounts:
- prevent deleting of own account (as in admin) - return for accounts account_id and _lid as the sql class does - do not redirect to admin.uiaccounts.delete_user if no account_id set, as I deletes the current user ;-)
This commit is contained in:
parent
6d3833d0ed
commit
ac102085ac
@ -466,10 +466,16 @@ class bocontacts extends socontacts
|
||||
}
|
||||
$owner = $contact['owner'];
|
||||
|
||||
// allow the user to edit his own account
|
||||
if (!$owner && $needed == EGW_ACL_EDIT && $contact['account_id'] == $this->user)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// dont allow to delete own account (as admin handels it too)
|
||||
if (!$owner && $needed == EGW_ACL_DELETE && $contact['account_id'] == $this->user)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return ($this->grants[$owner] & $needed) &&
|
||||
(!$contact['private'] || ($this->grants[$owner] & EGW_ACL_PRIVATE) || in_array($owner,$this->memberships));
|
||||
}
|
||||
|
@ -78,6 +78,10 @@ class so_ldap
|
||||
* @var array
|
||||
*/
|
||||
var $schema2egw = array(
|
||||
'posixaccount' => array(
|
||||
'account_id' => 'uidnumber',
|
||||
'account_lid' => 'uid',
|
||||
),
|
||||
'inetorgperson' => array(
|
||||
'n_fn' => 'cn',
|
||||
'n_given' => 'givenname',
|
||||
|
@ -271,7 +271,8 @@ class uicontacts extends bocontacts
|
||||
{
|
||||
$Ok = $this->delete($id);
|
||||
}
|
||||
elseif (count($checked) == 1) // delete single account --> redirect to admin
|
||||
// delete single account --> redirect to admin
|
||||
elseif (count($checked) == 1 && $contact['account_id'])
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'admin.uiaccounts.delete_user',
|
||||
|
Loading…
Reference in New Issue
Block a user