Fix: use another method
This commit is contained in:
parent
1f59e4f7e9
commit
01f9d59e75
@ -729,7 +729,15 @@ class Adherent extends CommonObject
|
|||||||
// Check parameters
|
// Check parameters
|
||||||
if (empty($rowid)) $rowid=$this->id;
|
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
|
// Remove category
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_member WHERE fk_member = ".$rowid;
|
$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)
|
if (! $error)
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
|
|||||||
@ -256,10 +256,9 @@ class AdherentType extends CommonObject
|
|||||||
* Fonction qui permet de recuperer le status de l'adherent
|
* Fonction qui permet de recuperer le status de l'adherent
|
||||||
*
|
*
|
||||||
* @param int $rowid Id of member type to load
|
* @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
|
* @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 = "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";
|
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as d";
|
||||||
@ -282,10 +281,6 @@ class AdherentType extends CommonObject
|
|||||||
$this->mail_valid = $obj->mail_valid;
|
$this->mail_valid = $obj->mail_valid;
|
||||||
$this->note = $obj->note;
|
$this->note = $obj->note;
|
||||||
$this->vote = $obj->vote;
|
$this->vote = $obj->vote;
|
||||||
|
|
||||||
if ($load_members) {
|
|
||||||
$this->members=$this->listMembersForMemberType();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
@ -375,6 +370,8 @@ class AdherentType extends CommonObject
|
|||||||
|
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
|
$this->members=$ret;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -154,6 +154,10 @@ if ($action == 'update' && $user->rights->adherent->configurer)
|
|||||||
{
|
{
|
||||||
$object->fetch($rowid);
|
$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->oldcopy = clone $object;
|
||||||
|
|
||||||
$object->label = trim($label);
|
$object->label = trim($label);
|
||||||
|
|||||||
@ -63,6 +63,8 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
$object->listMembersForMemberType();
|
||||||
|
|
||||||
$info = $object->_load_ldap_info();
|
$info = $object->_load_ldap_info();
|
||||||
$dn = $object->_load_ldap_dn($info);
|
$dn = $object->_load_ldap_dn($info);
|
||||||
$olddn = $dn; // We can say that old dn = dn as we force synchro
|
$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)
|
if ($object->typeid > 0)
|
||||||
{
|
{
|
||||||
$membertype->fetch($object->typeid);
|
$membertype->fetch($object->typeid);
|
||||||
|
$membertype->listMembersForMemberType();
|
||||||
|
|
||||||
$oldinfo=$membertype->_load_ldap_info();
|
$oldinfo=$membertype->_load_ldap_info();
|
||||||
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
||||||
@ -549,36 +550,38 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
|||||||
// For member type
|
// For member type
|
||||||
if (! empty($conf->global->LDAP_MEMBER_TYPE_ACTIVE) && (string) $conf->global->LDAP_MEMBER_TYPE_ACTIVE == '1')
|
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)
|
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
|
* Remove member in old member type
|
||||||
*/
|
*/
|
||||||
$oldmembertype=new AdherentType($this->db);
|
$oldmembertype=new AdherentType($this->db);
|
||||||
$oldmembertype->fetch($object->oldcopy->typeid);
|
$oldmembertype->fetch($object->oldcopy->typeid);
|
||||||
|
$oldmembertype->listMembersForMemberType();
|
||||||
|
|
||||||
$oldinfo=$oldmembertype->_load_ldap_info();
|
$oldinfo=$oldmembertype->_load_ldap_info();
|
||||||
$olddn=$oldmembertype->_load_ldap_dn($oldinfo);
|
$olddn=$oldmembertype->_load_ldap_dn($oldinfo);
|
||||||
@ -676,6 +679,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
|||||||
*/
|
*/
|
||||||
$membertype=new AdherentType($this->db);
|
$membertype=new AdherentType($this->db);
|
||||||
$membertype->fetch($object->typeid);
|
$membertype->fetch($object->typeid);
|
||||||
|
$membertype->listMembersForMemberType('a.rowid != ' . $object->id); // remove deleted member from the list
|
||||||
|
|
||||||
$oldinfo=$membertype->_load_ldap_info();
|
$oldinfo=$membertype->_load_ldap_info();
|
||||||
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
$olddn=$membertype->_load_ldap_dn($oldinfo);
|
||||||
@ -742,6 +746,8 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
|||||||
$object->oldcopy = clone $object;
|
$object->oldcopy = clone $object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$object->oldcopy->listMembersForMemberType();
|
||||||
|
|
||||||
$oldinfo=$object->oldcopy->_load_ldap_info();
|
$oldinfo=$object->oldcopy->_load_ldap_info();
|
||||||
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
|
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
|
||||||
|
|
||||||
@ -754,6 +760,8 @@ class InterfaceLdapsynchro extends DolibarrTriggers
|
|||||||
$olddn = '';
|
$olddn = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$object->listMembersForMemberType();
|
||||||
|
|
||||||
$info=$object->_load_ldap_info();
|
$info=$object->_load_ldap_info();
|
||||||
$dn=$object->_load_ldap_dn($info);
|
$dn=$object->_load_ldap_dn($info);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user