Fix: use another method
This commit is contained in:
parent
1f59e4f7e9
commit
01f9d59e75
@ -729,7 +729,15 @@ class Adherent extends CommonObject
|
||||
// Check parameters
|
||||
if (empty($rowid)) $rowid=$this->id;
|
||||
|
||||
$this->db->begin();
|
||||
$this->db->begin();
|
||||
|
||||
if (! $error && ! $notrigger)
|
||||
{
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('MEMBER_DELETE',$user);
|
||||
if ($result < 0) $error++;
|
||||
// End call triggers
|
||||
}
|
||||
|
||||
// Remove category
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_member WHERE fk_member = ".$rowid;
|
||||
@ -797,14 +805,6 @@ class Adherent extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error && ! $notrigger)
|
||||
{
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('MEMBER_DELETE',$user);
|
||||
if ($result < 0) $error++;
|
||||
// End call triggers
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
|
||||
@ -256,10 +256,9 @@ class AdherentType extends CommonObject
|
||||
* Fonction qui permet de recuperer le status de l'adherent
|
||||
*
|
||||
* @param int $rowid Id of member type to load
|
||||
* @param bool $load_members Load members or not
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch($rowid, $load_members = true)
|
||||
function fetch($rowid)
|
||||
{
|
||||
$sql = "SELECT d.rowid, d.libelle as label, d.statut, d.subscription, d.mail_valid, d.note, d.vote";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as d";
|
||||
@ -282,10 +281,6 @@ class AdherentType extends CommonObject
|
||||
$this->mail_valid = $obj->mail_valid;
|
||||
$this->note = $obj->note;
|
||||
$this->vote = $obj->vote;
|
||||
|
||||
if ($load_members) {
|
||||
$this->members=$this->listMembersForMemberType();
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -375,6 +370,8 @@ class AdherentType extends CommonObject
|
||||
|
||||
$this->db->free($resql);
|
||||
|
||||
$this->members=$ret;
|
||||
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
|
||||
@ -154,6 +154,10 @@ if ($action == 'update' && $user->rights->adherent->configurer)
|
||||
{
|
||||
$object->fetch($rowid);
|
||||
|
||||
if (! empty($conf->global->LDAP_MEMBER_TYPE_ACTIVE) && (string) $conf->global->LDAP_MEMBER_TYPE_ACTIVE == '1') {
|
||||
$object->listMembersForMemberType();
|
||||
}
|
||||
|
||||
$object->oldcopy = clone $object;
|
||||
|
||||
$object->label = trim($label);
|
||||
|
||||
@ -63,6 +63,8 @@ if (empty($reshook))
|
||||
|
||||
if ($result > 0)
|
||||
{
|
||||
$object->listMembersForMemberType();
|
||||
|
||||
$info = $object->_load_ldap_info();
|
||||
$dn = $object->_load_ldap_dn($info);
|
||||
$olddn = $dn; // We can say that old dn = dn as we force synchro
|
||||
|
||||
@ -437,6 +437,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
||||
if ($object->typeid > 0)
|
||||
{
|
||||
$membertype->fetch($object->typeid);
|
||||
$membertype->listMembersForMemberType();
|
||||
|
||||
$oldinfo=$membertype->_load_ldap_info();
|
||||
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
||||
@ -549,36 +550,38 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
||||
// For member type
|
||||
if (! empty($conf->global->LDAP_MEMBER_TYPE_ACTIVE) && (string) $conf->global->LDAP_MEMBER_TYPE_ACTIVE == '1')
|
||||
{
|
||||
/*
|
||||
* Change member info
|
||||
*/
|
||||
$newmembertype=new AdherentType($this->db);
|
||||
$newmembertype->fetch($object->typeid);
|
||||
$newmembertype->listMembersForMemberType();
|
||||
|
||||
$oldinfo=$newmembertype->_load_ldap_info();
|
||||
$olddn=$newmembertype->_load_ldap_dn($oldinfo);
|
||||
|
||||
// Verify if entry exist
|
||||
$container=$newmembertype->_load_ldap_dn($oldinfo,1);
|
||||
$search = "(".$newmembertype->_load_ldap_dn($oldinfo,2).")";
|
||||
$records=$ldap->search($container,$search);
|
||||
if (count($records) && $records['count'] == 0)
|
||||
{
|
||||
$olddn = '';
|
||||
}
|
||||
|
||||
$info=$newmembertype->_load_ldap_info(); // Contains all members, included the new one (insert already done before trigger call)
|
||||
$dn=$newmembertype->_load_ldap_dn($info);
|
||||
|
||||
$result=$ldap->update($dn,$info,$user,$olddn);
|
||||
|
||||
if ($object->oldcopy->typeid != $object->typeid)
|
||||
{
|
||||
/*
|
||||
* Add member in new member type
|
||||
*/
|
||||
$newmembertype=new AdherentType($this->db);
|
||||
$newmembertype->fetch($object->typeid);
|
||||
|
||||
$oldinfo=$newmembertype->_load_ldap_info();
|
||||
$olddn=$newmembertype->_load_ldap_dn($oldinfo);
|
||||
|
||||
// Verify if entry exist
|
||||
$container=$newmembertype->_load_ldap_dn($oldinfo,1);
|
||||
$search = "(".$newmembertype->_load_ldap_dn($oldinfo,2).")";
|
||||
$records=$ldap->search($container,$search);
|
||||
if (count($records) && $records['count'] == 0)
|
||||
{
|
||||
$olddn = '';
|
||||
}
|
||||
|
||||
$info=$newmembertype->_load_ldap_info(); // Contains all members, included the new one (insert already done before trigger call)
|
||||
$dn=$newmembertype->_load_ldap_dn($info);
|
||||
|
||||
$result=$ldap->update($dn,$info,$user,$olddn);
|
||||
|
||||
/*
|
||||
* Remove member in old member type
|
||||
*/
|
||||
$oldmembertype=new AdherentType($this->db);
|
||||
$oldmembertype->fetch($object->oldcopy->typeid);
|
||||
$oldmembertype->listMembersForMemberType();
|
||||
|
||||
$oldinfo=$oldmembertype->_load_ldap_info();
|
||||
$olddn=$oldmembertype->_load_ldap_dn($oldinfo);
|
||||
@ -676,6 +679,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
||||
*/
|
||||
$membertype=new AdherentType($this->db);
|
||||
$membertype->fetch($object->typeid);
|
||||
$membertype->listMembersForMemberType('a.rowid != ' . $object->id); // remove deleted member from the list
|
||||
|
||||
$oldinfo=$membertype->_load_ldap_info();
|
||||
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
||||
@ -742,6 +746,8 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
||||
$object->oldcopy = clone $object;
|
||||
}
|
||||
|
||||
$object->oldcopy->listMembersForMemberType();
|
||||
|
||||
$oldinfo=$object->oldcopy->_load_ldap_info();
|
||||
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
|
||||
|
||||
@ -754,6 +760,8 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
||||
$olddn = '';
|
||||
}
|
||||
|
||||
$object->listMembersForMemberType();
|
||||
|
||||
$info=$object->_load_ldap_info();
|
||||
$dn=$object->_load_ldap_dn($info);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user