From 2cdeb95b675c75f79417e9825f0fe637fd0515ba Mon Sep 17 00:00:00 2001 From: fhenry Date: Sat, 12 Jan 2013 15:16:38 +0100 Subject: [PATCH] Set member id on create not by sql request after. Mandatory for trigger USER_CREATE to do action if user is member --- htdocs/user/class/user.class.php | 42 +++++++++++++++++--------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 441186179b3..ef1bba983a0 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -980,6 +980,8 @@ class User extends CommonObject $this->lastname = $member->lastname; $this->firstname = $member->firstname; $this->email = $member->email; + $this->fk_member = $member->id; + if ($member->fk_soc) $sql.= ", fk_societe=".$member->fk_soc; $this->pass = $member->pass; 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) { $result=$this->setPassword($user,$this->pass); - - $sql = "UPDATE ".MAIN_DB_PREFIX."user"; - $sql.= " SET fk_member=".$member->id; - if ($member->fk_soc) $sql.= ", fk_societe=".$member->fk_soc; - $sql.= " WHERE rowid=".$this->id; - - dol_syslog(get_class($this)."::create_from_member sql=".$sql, LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $this->db->commit(); - return $this->id; - } - else - { - $this->error=$this->db->error(); - dol_syslog(get_class($this)."::create_from_member - 1 - ".$this->error, LOG_ERR); - - $this->db->rollback(); - return -1; + if ($member->fk_soc) { + $sql = "UPDATE ".MAIN_DB_PREFIX."user"; + $sql.= " SET fk_societe=".$member->fk_soc; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::create_from_member sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->error=$this->db->error(); + dol_syslog(get_class($this)."::create_from_member - 1 - ".$this->error, LOG_ERR); + + $this->db->rollback(); + return -1; + } } } else