forked from extern/egroupware
fix SQL error account_id is ambigous on deleting users
This commit is contained in:
parent
013660ae55
commit
574cbee00d
@ -535,18 +535,13 @@ class infolog_so
|
|||||||
if ($args['new_owner'])
|
if ($args['new_owner'])
|
||||||
{
|
{
|
||||||
// we cant just set the new owner, as he might be already set and we have a unique index
|
// we cant just set the new owner, as he might be already set and we have a unique index
|
||||||
Api\Db::$tablealiases[$this->users_table] = $this->users_table.
|
$this->db->query('UPDATE '.$this->users_table.
|
||||||
" LEFT JOIN $this->users_table new_owner ON new_owner.info_id=$this->users_table.info_id".
|
" LEFT JOIN $this->users_table new_owner ON new_owner.info_id=$this->users_table.info_id".
|
||||||
" AND new_owner.account_id=".$this->db->quote($args['new_owner'], 'int');
|
" AND new_owner.account_id=".$this->db->quote($args['new_owner'], 'int').
|
||||||
|
' SET '.$this->users_table.'.account_id='.$this->db->quote($args['new_owner'], 'int').
|
||||||
$this->db->update($this->users_table, array(
|
' WHERE '.$this->users_table.'.account_id='.$this->db->quote($args['account_id'], 'int').
|
||||||
'account_id' => $args['new_owner'],
|
' AND new_owner.account_id IS NULL',
|
||||||
), array(
|
__LINE__, __FILE__);
|
||||||
'account_id' => $args['account_id'],
|
|
||||||
'new_owner.account_id IS NULL',
|
|
||||||
), __LINE__, __FILE__, 'infolog');
|
|
||||||
|
|
||||||
unset(Api\Db::$tablealiases[$this->users_table]);
|
|
||||||
}
|
}
|
||||||
$this->db->delete($this->users_table, array('account_id' => $args['account_id']), __LINE__, __FILE__, 'infolog');
|
$this->db->delete($this->users_table, array('account_id' => $args['account_id']), __LINE__, __FILE__, 'infolog');
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user