New: When a module with boxes is activated, box is also activated by
default for everybody, except for users that had personlized their box view.
This commit is contained in:
parent
1d51ee3aab
commit
da94f76364
@ -84,8 +84,11 @@ if ($action == 'add')
|
|||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
// Remove all personalized setup when a box is activated or disabled (to be sure user see new box)
|
// Remove all personalized setup when a box is activated or disabled (to be sure user see new box)
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
// TODO Disable this when adding combo will be available on home page for each user.
|
||||||
$sql.= " WHERE param LIKE 'MAIN_BOXES_%'";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param WHERE param LIKE 'MAIN_BOXES_%'";
|
||||||
|
dol_syslog("boxes.php delete user_param sql=".$sql);
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE fk_user != 0";
|
||||||
dol_syslog("boxes.php delete user_param sql=".$sql);
|
dol_syslog("boxes.php delete user_param sql=".$sql);
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
|||||||
@ -582,28 +582,53 @@ abstract class DolibarrModules
|
|||||||
$file = isset($this->boxes[$key][1])?$this->boxes[$key][1]:'';
|
$file = isset($this->boxes[$key][1])?$this->boxes[$key][1]:'';
|
||||||
$note = isset($this->boxes[$key][2])?$this->boxes[$key][2]:'';
|
$note = isset($this->boxes[$key][2])?$this->boxes[$key][2]:'';
|
||||||
|
|
||||||
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def";
|
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."boxes_def";
|
||||||
$sql.= " WHERE file = '".$file."'";
|
$sql.= " WHERE file = '".$this->db->escape($file)."'";
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
if ($note) $sql.=" AND note ='".$this->db->escape($note)."'";
|
if ($note) $sql.=" AND note ='".$this->db->escape($note)."'";
|
||||||
|
|
||||||
$result=$this->db->query($sql);
|
$result=$this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
$row = $this->db->fetch_row($result);
|
$obj = $this->db->fetch_object($result);
|
||||||
if ($row[0] == 0)
|
if ($obj->nb == 0)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (file,entity,note)";
|
$this->db->begin();
|
||||||
$sql.= " VALUES ('".$this->db->escape($file)."',";
|
|
||||||
$sql.= $conf->entity.",";
|
|
||||||
$sql.= $note?"'".$this->db->escape($note)."'":"null";
|
|
||||||
$sql.= ")";
|
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::insert_boxes sql=".$sql);
|
if (! $err)
|
||||||
if (! $this->db->query($sql))
|
|
||||||
{
|
{
|
||||||
$err++;
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes_def (file,entity,note)";
|
||||||
|
$sql.= " VALUES ('".$this->db->escape($file)."',";
|
||||||
|
$sql.= $conf->entity.",";
|
||||||
|
$sql.= $note?"'".$this->db->escape($note)."'":"null";
|
||||||
|
$sql.= ")";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::insert_boxes sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql) $err++;
|
||||||
|
|
||||||
|
}
|
||||||
|
if (! $err)
|
||||||
|
{
|
||||||
|
$lastid=$this->db->last_insert_id(MAIN_DB_PREFIX."boxes_def","rowid");
|
||||||
|
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id,position,box_order,fk_user)";
|
||||||
|
$sql.= " VALUES (".$lastid.", 0, 0, 0)";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::insert_boxes sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql) $err++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $err)
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
dol_syslog(get_class($this)."::insert_boxes ".$this->error, LOG_ERR);
|
||||||
|
$this->db->rollback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user