Mutualize code
This commit is contained in:
parent
7bb541b7e6
commit
8196abfb64
@ -421,48 +421,14 @@ class Adherent extends CommonObject
|
|||||||
{
|
{
|
||||||
$nbrowsaffected+=$this->db->affected_rows($resql);
|
$nbrowsaffected+=$this->db->affected_rows($resql);
|
||||||
|
|
||||||
// Add/Update extra fields
|
$result=$this->insertExtraFields();
|
||||||
// TODO Run a method into commonobject
|
if ($result < 0)
|
||||||
if (sizeof($this->array_options) > 0)
|
|
||||||
{
|
{
|
||||||
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."adherent_extrafields WHERE fk_object = ".$this->id;
|
$error++;
|
||||||
dol_syslog(get_class($this)."::update sql=".$sql_del);
|
|
||||||
$this->db->query($sql_del);
|
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."adherent_extrafields (fk_object";
|
|
||||||
foreach($this->array_options as $key => $value)
|
|
||||||
{
|
|
||||||
// Add field of attribut
|
|
||||||
$sql.=",".substr($key,8); // Remove 'options_' prefix
|
|
||||||
}
|
|
||||||
$sql .= ") VALUES (".$this->id;
|
|
||||||
foreach($this->array_options as $key => $value)
|
|
||||||
{
|
|
||||||
// Add field o fattribut
|
|
||||||
if ($this->array_options[$key] != '')
|
|
||||||
{
|
|
||||||
$sql.=",'".$this->array_options[$key]."'";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$sql.=",null";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$sql.=")";
|
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::update update option sql=".$sql);
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if (! $resql)
|
|
||||||
{
|
|
||||||
$this->error=$this->db->error();
|
|
||||||
dol_syslog(get_class($this)."::update ".$this->error,LOG_ERR);
|
|
||||||
$this->db->rollback();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update password
|
// Update password
|
||||||
if ($this->pass)
|
if (! $error && $this->pass)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::update update password");
|
dol_syslog(get_class($this)."::update update password");
|
||||||
if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted)
|
if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted)
|
||||||
@ -474,21 +440,24 @@ class Adherent extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove link to user
|
// Remove link to user
|
||||||
dol_syslog(get_class($this)."::update update link to user");
|
if (! $error)
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET fk_member = NULL WHERE fk_member = ".$this->id;
|
|
||||||
dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG);
|
|
||||||
$resql = $this->db->query($sql);
|
|
||||||
if (! $resql) { $this->error=$this->db->error(); $this->db->rollback(); return -5; }
|
|
||||||
// If there is a user linked to this member
|
|
||||||
if ($this->user_id > 0)
|
|
||||||
{
|
{
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET fk_member = ".$this->id." WHERE rowid = ".$this->user_id;
|
dol_syslog(get_class($this)."::update update link to user");
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET fk_member = NULL WHERE fk_member = ".$this->id;
|
||||||
dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) { $this->error=$this->db->error(); $this->db->rollback(); return -5; }
|
if (! $resql) { $this->error=$this->db->error(); $this->db->rollback(); return -5; }
|
||||||
|
// If there is a user linked to this member
|
||||||
|
if ($this->user_id > 0)
|
||||||
|
{
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET fk_member = ".$this->id." WHERE rowid = ".$this->user_id;
|
||||||
|
dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql) { $this->error=$this->db->error(); $this->db->rollback(); return -5; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($nbrowsaffected) // If something has change in data
|
if (! $error && $nbrowsaffected) // If something has change in main data
|
||||||
{
|
{
|
||||||
if ($this->user_id > 0 && ! $nosyncuser)
|
if ($this->user_id > 0 && ! $nosyncuser)
|
||||||
{
|
{
|
||||||
@ -549,21 +518,20 @@ class Adherent extends CommonObject
|
|||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
|
return $nbrowsaffected;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $nbrowsaffected;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
|
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
dol_syslog(get_class($this)."::update ".$this->error,LOG_ERR);
|
dol_syslog(get_class($this)."::Update ".$this->error,LOG_ERR);
|
||||||
return -1;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -40,8 +40,8 @@ $type2label=array(
|
|||||||
'varchar'=>$langs->trans('String'),
|
'varchar'=>$langs->trans('String'),
|
||||||
'text'=>$langs->trans('Text'),
|
'text'=>$langs->trans('Text'),
|
||||||
'int'=>$langs->trans('Int'),
|
'int'=>$langs->trans('Int'),
|
||||||
'date'=>$langs->trans('Date'),
|
//'date'=>$langs->trans('Date'),
|
||||||
'datetime'=>$langs->trans('DateAndTime')
|
//'datetime'=>$langs->trans('DateAndTime')
|
||||||
);
|
);
|
||||||
|
|
||||||
$action=GETPOST("action");
|
$action=GETPOST("action");
|
||||||
|
|||||||
@ -1946,6 +1946,60 @@ class CommonObject
|
|||||||
|
|
||||||
include(DOL_DOCUMENT_ROOT.'/core/tpl/originproductline.tpl.php');
|
include(DOL_DOCUMENT_ROOT.'/core/tpl/originproductline.tpl.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add/Update extra fields
|
||||||
|
* TODO Use also type of field to do manage date fields
|
||||||
|
*/
|
||||||
|
function insertExtraFields()
|
||||||
|
{
|
||||||
|
if (sizeof($this->array_options) > 0)
|
||||||
|
{
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id;
|
||||||
|
dol_syslog(get_class($this)."::insertExtraFields delete sql=".$sql_del);
|
||||||
|
$this->db->query($sql_del);
|
||||||
|
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."_extrafields (fk_object";
|
||||||
|
foreach($this->array_options as $key => $value)
|
||||||
|
{
|
||||||
|
// Add field of attribut
|
||||||
|
$sql.=",".substr($key,8); // Remove 'options_' prefix
|
||||||
|
}
|
||||||
|
$sql .= ") VALUES (".$this->id;
|
||||||
|
foreach($this->array_options as $key => $value)
|
||||||
|
{
|
||||||
|
// Add field o fattribut
|
||||||
|
if ($this->array_options[$key] != '')
|
||||||
|
{
|
||||||
|
$sql.=",'".$this->array_options[$key]."'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$sql.=",null";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sql.=")";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::insertExtraFields insert sql=".$sql);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
dol_syslog(get_class($this)."::update ".$this->error,LOG_ERR);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user