Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop

Conflicts:
	htdocs/core/boxes/box_services_contracts.php
	htdocs/expensereport/class/expensereport.class.php
This commit is contained in:
Laurent Destailleur 2020-10-26 18:17:23 +01:00
commit efce53abd1
4 changed files with 57 additions and 25 deletions

View File

@ -126,7 +126,6 @@ class box_services_contracts extends ModeleBoxes
$contractlinestatic->product_id = $objp->product_id;
$contractlinestatic->product_ref = $objp->product_ref;
$contractlinestatic->product_type = $objp->product_type;
$contractlinestatic->statut = $objp->contractline_status;
$contractstatic->id = $objp->rowid;

View File

@ -8039,6 +8039,18 @@ abstract class CommonObject
}
}
// Delete llx_ecm_files
if (!$error) {
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."ecm_files WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? '' : '@'.$this->module))."' AND src_object_id = ".$this->id;
$resql = $this->db->query($sql);
if (!$resql)
{
$this->error = $this->db->lasterror();
$this->errors[] = $this->error;
$error++;
}
}
if (!$error && !empty($this->isextrafieldmanaged))
{
$result = $this->deleteExtraFields();

View File

@ -307,7 +307,7 @@ class EcmFiles extends CommonObject
* @param string $relativepath Relative path of file from document directory. Example: 'path/path2/file' or 'path/path2/*'
* @param string $hashoffile Hash of file content. Take the first one found if same file is at different places. This hash will also change if file content is changed.
* @param string $hashforshare Hash of file sharing.
* @param string $src_object_type src_object_type to search
* @param string $src_object_type src_object_type to search (value of object->table_element)
* @param string $src_object_id src_object_id to search
* @return int <0 if KO, 0 if not found, >0 if OK
*/

View File

@ -1083,30 +1083,51 @@ class ExpenseReport extends CommonObject
{
global $user, $langs, $conf;
if (!$rowid) $rowid = $this->id;
$rowid = $this->id;
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element_line.' WHERE '.$this->fk_element.' = '.$rowid;
if ($this->db->query($sql))
{
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE rowid = '.$rowid;
$resql = $this->db->query($sql);
if ($resql)
{
$this->db->commit();
return 1;
} else {
$this->error = $this->db->error()." sql=".$sql;
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
$this->db->rollback();
return -6;
}
} else {
$this->error = $this->db->error()." sql=".$sql;
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
$this->db->rollback();
return -4;
}
}
$error = 0;
// Delete lines
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element_line.' WHERE '.$this->fk_element.' = '.$rowid;
if (!$error && !$this->db->query($sql))
{
$this->error = $this->db->error()." sql=".$sql;
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
$error++;
}
// Delete llx_ecm_files
if (!$error) {
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."ecm_files WHERE src_object_type = '".$this->db->escape($this->table_element.(empty($this->module) ? '' : '@'.$this->module))."' AND src_object_id = ".$this->id;
$resql = $this->db->query($sql);
if (!$resql)
{
$this->error = $this->db->lasterror();
$this->errors[] = $this->error;
$error++;
}
}
// Delete main record
if (!$error) {
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$this->table_element.' WHERE rowid = '.$rowid;
$resql = $this->db->query($sql);
if (!$resql)
{
$this->error = $this->db->error()." sql=".$sql;
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
}
}
// Commit or rollback
if ($error) {
$this->db->rollback();
return -1;
} else {
$this->db->commit();
return 1;
}
}
/**
* Set to status validate