Set member id on create not by sql request after.

Mandatory for trigger USER_CREATE to do action if user is member
This commit is contained in:
fhenry 2013-01-12 15:16:38 +01:00
parent d39368fd36
commit 2cdeb95b67

View File

@ -980,6 +980,8 @@ class User extends CommonObject
$this->lastname = $member->lastname; $this->lastname = $member->lastname;
$this->firstname = $member->firstname; $this->firstname = $member->firstname;
$this->email = $member->email; $this->email = $member->email;
$this->fk_member = $member->id;
if ($member->fk_soc) $sql.= ", fk_societe=".$member->fk_soc;
$this->pass = $member->pass; $this->pass = $member->pass;
if (empty($login)) $login=strtolower(substr($member->firstname, 0, 4)) . strtolower(substr($member->lastname, 0, 4)); if (empty($login)) $login=strtolower(substr($member->firstname, 0, 4)) . strtolower(substr($member->lastname, 0, 4));
@ -992,26 +994,26 @@ class User extends CommonObject
if ($result > 0) if ($result > 0)
{ {
$result=$this->setPassword($user,$this->pass); $result=$this->setPassword($user,$this->pass);
if ($member->fk_soc) {
$sql = "UPDATE ".MAIN_DB_PREFIX."user"; $sql = "UPDATE ".MAIN_DB_PREFIX."user";
$sql.= " SET fk_member=".$member->id; $sql.= " SET fk_societe=".$member->fk_soc;
if ($member->fk_soc) $sql.= ", fk_societe=".$member->fk_soc; $sql.= " WHERE rowid=".$this->id;
$sql.= " WHERE rowid=".$this->id;
dol_syslog(get_class($this)."::create_from_member sql=".$sql, LOG_DEBUG);
dol_syslog(get_class($this)."::create_from_member sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql);
$resql=$this->db->query($sql); if ($resql)
if ($resql) {
{ $this->db->commit();
$this->db->commit(); return $this->id;
return $this->id; }
} else
else {
{ $this->error=$this->db->error();
$this->error=$this->db->error(); dol_syslog(get_class($this)."::create_from_member - 1 - ".$this->error, LOG_ERR);
dol_syslog(get_class($this)."::create_from_member - 1 - ".$this->error, LOG_ERR);
$this->db->rollback();
$this->db->rollback(); return -1;
return -1; }
} }
} }
else else