Merge branch '3.5' of github.com:Dolibarr/dolibarr into 3.5
This commit is contained in:
commit
e760201a59
@ -18,6 +18,7 @@ Fix: Update impayees.php
|
||||
Fix: Link product, In list view and label product
|
||||
Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to.
|
||||
Fix: When disabled, all fields to add time into task line must be disabled.
|
||||
Fix: Missing include files.lib.php in some pages ti use dol_delete_recursive
|
||||
|
||||
***** ChangeLog for 3.5.4 compared to 3.5.3 *****
|
||||
Fix: Hide title of event when agenda module disabled.
|
||||
|
||||
@ -328,6 +328,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
|
||||
{
|
||||
if (GETPOST('deletephoto'))
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
$fileimg=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/'.$object->photo;
|
||||
$dirthumbs=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/thumbs';
|
||||
dol_delete_file($fileimg);
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
include_once $dolibarr_main_document_root.'/core/lib/files.lib.php';
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
|
||||
$langs->load("admin");
|
||||
$langs->load("other");
|
||||
|
||||
@ -2006,15 +2006,7 @@ $now=dol_now();
|
||||
|
||||
llxHeader('',$langs->trans('Bill'),'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes');
|
||||
|
||||
print '
|
||||
<script type="text/javascript" language="javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery("#linktoorder").click(function() {
|
||||
jQuery("#commande").toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
';
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
@ -3812,16 +3804,26 @@ else if ($id > 0 || ! empty($ref))
|
||||
// Linked object block
|
||||
$somethingshown=$object->showLinkedObjectBlock();
|
||||
|
||||
if (empty($somethingshown) && $object->statut > 0)
|
||||
if (empty($somethingshown) && ! empty($conf->commande->enabled))
|
||||
{
|
||||
print '<br><a href="#" id="linktoorder">'.$langs->trans('LinkedOrder').'</a>';
|
||||
print '<br><a href="#" id="linktoorder">' . $langs->trans('LinkedOrder') . '</a>';
|
||||
|
||||
print '
|
||||
<script type="text/javascript" language="javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery("#linktoorder").click(function() {
|
||||
jQuery("#commande").toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
';
|
||||
|
||||
print '<div id="commande" style="display:none">';
|
||||
|
||||
$sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_client, c.total_ht";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."commande as c";
|
||||
$sql.= ' WHERE c.fk_soc = '.$soc->id.'';
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
|
||||
$sql .= ", " . MAIN_DB_PREFIX . "commande as c";
|
||||
$sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $soc->id . '';
|
||||
|
||||
$resqlorderlist = $db->query($sql);
|
||||
if ($resqlorderlist)
|
||||
|
||||
@ -811,6 +811,7 @@ class Contrat extends CommonObject
|
||||
function delete($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
|
||||
|
||||
@ -427,7 +427,7 @@ function pdf_pagehead(&$pdf,$outputlangs,$page_height)
|
||||
global $conf;
|
||||
|
||||
// Add a background image on document
|
||||
if (! empty($conf->global->MAIN_USE_BACKGROUND_ON_PDF))
|
||||
if (! empty($conf->global->MAIN_USE_BACKGROUND_ON_PDF)) // Warning, this option make TCPDF generation beeing crazy and some content disappeared behin the image
|
||||
{
|
||||
$pdf->SetAutoPageBreak(0,0); // Disable auto pagebreak before adding image
|
||||
$pdf->Image($conf->mycompany->dir_output.'/logos/'.$conf->global->MAIN_USE_BACKGROUND_ON_PDF, (isset($conf->global->MAIN_USE_BACKGROUND_ON_PDF_X)?$conf->global->MAIN_USE_BACKGROUND_ON_PDF_X:0), (isset($conf->global->MAIN_USE_BACKGROUND_ON_PDF_Y)?$conf->global->MAIN_USE_BACKGROUND_ON_PDF_Y:0), 0, $page_height);
|
||||
@ -795,7 +795,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
|
||||
if ($line) // Free text
|
||||
{
|
||||
$pdf->SetXY($dims['lm'],-$posy);
|
||||
$pdf->MultiCell($width, 3, $line, 0, $align, 0);
|
||||
$pdf->MultiCell(0, 3, $line, 0, $align, 0);
|
||||
$posy-=$freetextheight;
|
||||
}
|
||||
|
||||
|
||||
@ -446,9 +446,9 @@ if (! defined('NOLOGIN'))
|
||||
$dol_authmode=$conf->authmode; // This properties is defined only when logged, to say what mode was successfully used
|
||||
$dol_tz=$_POST["tz"];
|
||||
$dol_tz_string=$_POST["tz_string"];
|
||||
$dol_tz_string=preg_replace('\s*\(.+\)$','',$dol_tz_string);
|
||||
$dol_tz_string=preg_replace(',','/',$dol_tz_string);
|
||||
$dol_tz_string=preg_replace('\s','_',$dol_tz_string);
|
||||
$dol_tz_string=preg_replace('/\s*\(.+\)$/','',$dol_tz_string);
|
||||
$dol_tz_string=preg_replace('/,/','/',$dol_tz_string);
|
||||
$dol_tz_string=preg_replace('/\s/','_',$dol_tz_string);
|
||||
$dol_dst=0;
|
||||
if (isset($_POST["dst_first"]) && isset($_POST["dst_second"]))
|
||||
{
|
||||
|
||||
@ -594,6 +594,7 @@ class Product extends CommonObject
|
||||
function delete($id=0)
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
|
||||
|
||||
@ -204,9 +204,9 @@ class Project extends CommonObject
|
||||
$sql.= ", fk_soc = " . ($this->socid > 0 ? $this->socid : "null");
|
||||
$sql.= ", fk_statut = " . $this->statut;
|
||||
$sql.= ", public = " . ($this->public ? 1 : 0);
|
||||
$sql.= ", datec=" . ($this->date_c != '' ? $this->db->idate($this->date_c) : 'null');
|
||||
$sql.= ", dateo=" . ($this->date_start != '' ? $this->db->idate($this->date_start) : 'null');
|
||||
$sql.= ", datee=" . ($this->date_end != '' ? $this->db->idate($this->date_end) : 'null');
|
||||
$sql.= ", datec=" . ($this->date_c != '' ? "'".$this->db->idate($this->date_c)."'" : 'null');
|
||||
$sql.= ", dateo=" . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null');
|
||||
$sql.= ", datee=" . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null');
|
||||
$sql.= " WHERE rowid = " . $this->id;
|
||||
|
||||
dol_syslog(get_class($this)."::Update sql=" . $sql, LOG_DEBUG);
|
||||
@ -263,6 +263,7 @@ class Project extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error = $this->db->lasterror();
|
||||
$this->errors[] = $this->error;
|
||||
dol_syslog(get_class($this)."::Update error -2 " . $this->error, LOG_ERR);
|
||||
$result = -2;
|
||||
}
|
||||
@ -513,10 +514,9 @@ class Project extends CommonObject
|
||||
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields";
|
||||
$sql.= " WHERE fk_object=" . $this->id;
|
||||
|
||||
|
||||
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if (!$resql)
|
||||
if (! $resql)
|
||||
{
|
||||
$this->errors[] = $this->db->lasterror();
|
||||
$error++;
|
||||
|
||||
@ -354,6 +354,7 @@ class Task extends CommonObject
|
||||
{
|
||||
|
||||
global $conf, $langs;
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||
|
||||
$error=0;
|
||||
|
||||
|
||||
@ -209,13 +209,13 @@ foreach ($listofreferent as $key => $value)
|
||||
$classname=$value['class'];
|
||||
$tablename=$value['table'];
|
||||
$qualified=$value['test'];
|
||||
|
||||
|
||||
if ($qualified)
|
||||
{
|
||||
print '<br>';
|
||||
|
||||
print_titre($langs->trans($title));
|
||||
|
||||
|
||||
$selectList=$formproject->select_element($tablename,$project->societe->id);
|
||||
|
||||
if (!$selectList || ($selectList<0)) {
|
||||
|
||||
@ -1423,7 +1423,7 @@ else
|
||||
print '<tr class="hideonsmartphone">';
|
||||
print '<td>'.$langs->trans("Logo").'</td>';
|
||||
print '<td colspan="3">';
|
||||
if ($object->logo) print $form->showphoto('societe',$object,50);
|
||||
if ($object->logo) print $form->showphoto('societe',$object);
|
||||
$caneditfield=1;
|
||||
if ($caneditfield)
|
||||
{
|
||||
@ -1497,7 +1497,7 @@ else
|
||||
print '</tr>';
|
||||
|
||||
// Logo+barcode
|
||||
$rowspan=4;
|
||||
$rowspan=6;
|
||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) $rowspan++;
|
||||
if (! empty($object->client)) $rowspan++;
|
||||
if (! empty($conf->fournisseur->enabled) && $object->fournisseur && ! empty($user->rights->fournisseur->lire)) $rowspan++;
|
||||
@ -1507,9 +1507,9 @@ else
|
||||
if ($showlogo || $showbarcode)
|
||||
{
|
||||
$htmllogobar.='<td rowspan="'.$rowspan.'" style="text-align: center;" width="25%">';
|
||||
if ($showlogo) $htmllogobar.=$form->showphoto('societe',$object,50);
|
||||
if ($showlogo) $htmllogobar.=$form->showphoto('societe',$object);
|
||||
if ($showlogo && $showbarcode) $htmllogobar.='<br><br>';
|
||||
if ($showbarcode) $htmllogobar.=$form->showbarcode($object,50);
|
||||
if ($showbarcode) $htmllogobar.=$form->showbarcode($object);
|
||||
$htmllogobar.='</td>';
|
||||
}
|
||||
|
||||
@ -1588,12 +1588,12 @@ else
|
||||
if (empty($conf->global->SOCIETE_DISABLE_STATE)) print '<tr><td>'.$langs->trans('State').'</td><td colspan="'.(2+(($showlogo || $showbarcode)?0:1)).'">'.$object->state.'</td>';
|
||||
|
||||
// EMail
|
||||
print '<tr><td>'.$langs->trans('EMail').'</td><td colspan="3">';
|
||||
print '<tr><td>'.$langs->trans('EMail').'</td><td colspan="'.(2+(($showlogo || $showbarcode)?0:1)).'">';
|
||||
print dol_print_email($object->email,0,$object->id,'AC_EMAIL');
|
||||
print '</td></tr>';
|
||||
|
||||
// Web
|
||||
print '<tr><td>'.$langs->trans('Web').'</td><td colspan="3">';
|
||||
print '<tr><td>'.$langs->trans('Web').'</td><td colspan="'.(2+(($showlogo || $showbarcode)?0:1)).'">';
|
||||
print dol_print_url($object->url);
|
||||
print '</td></tr>';
|
||||
|
||||
@ -1937,7 +1937,6 @@ else
|
||||
if (empty($conf->global->SOCIETE_DISABLE_BUILDDOC))
|
||||
{
|
||||
print '<div class="fichecenter"><div class="fichethirdleft">';
|
||||
//print '<table width="100%"><tr><td valign="top" width="50%">';
|
||||
print '<a name="builddoc"></a>'; // ancre
|
||||
|
||||
/*
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet;
|
||||
$theme_bordercolor = array(235,235,224);
|
||||
$theme_datacolor = array(array(190,190,220), array(200,160,180), array(125,135,150), array(170,140,190), array(190,190,170));
|
||||
$theme_datacolor = array(array(190,190,220), array(200,160,180), array(125,135,150), array(170,140,190), array(190,190,170), array(190,170,190), array(170,190,190), array(150,135,125), array(85,135,150), array(150,135,80), array(150,80,150));
|
||||
$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4'));
|
||||
$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC'));
|
||||
|
||||
|
||||
@ -681,7 +681,7 @@ div.mainmenu.click2dial {
|
||||
}
|
||||
|
||||
div.mainmenu.companies {
|
||||
background-image: url(<?php echo dol_buildpath($path.'/theme/'.$theme.'/img/menus/members.png',1) ?>);
|
||||
background-image: url(<?php echo dol_buildpath($path.'/theme/'.$theme.'/img/menus/company.png',1) ?>);
|
||||
}
|
||||
|
||||
div.mainmenu.commercial {
|
||||
|
||||
@ -2192,8 +2192,8 @@ class User extends CommonObject
|
||||
// Load array[child]=parent
|
||||
$sql = "SELECT fk_user as id_parent, rowid as id_son";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."user";
|
||||
$sql.= " WHERE fk_user != 0";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
$sql.= " WHERE fk_user <> 0";
|
||||
$sql.= " AND entity IN (".getEntity('user',1).")";
|
||||
|
||||
dol_syslog(get_class($this)."::load_parentof sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
@ -2222,10 +2222,10 @@ class User extends CommonObject
|
||||
* fullname = nom avec chemin complet du user
|
||||
* fullpath = chemin complet compose des id
|
||||
*
|
||||
* @param int $markafterid Removed all users including the leaf $markafterid in user tree.
|
||||
* @return array Array of users. this->users and this->parentof are set.
|
||||
* @param int $deleteafterid Removed all users including the leaf $deleteafterid (and all its child) in user tree.
|
||||
* @return array Array of users. this->users and this->parentof are set.
|
||||
*/
|
||||
function get_full_tree($markafterid=0)
|
||||
function get_full_tree($deleteafterid=0)
|
||||
{
|
||||
global $conf,$user;
|
||||
|
||||
@ -2233,7 +2233,7 @@ class User extends CommonObject
|
||||
|
||||
// Init this->parentof that is array(id_son=>id_parent, ...)
|
||||
$this->load_parentof();
|
||||
|
||||
|
||||
// Init $this->users array
|
||||
$sql = "SELECT DISTINCT u.rowid, u.firstname, u.lastname, u.fk_user, u.login, u.statut, u.entity"; // Distinct reduce pb with old tables with duplicates
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||
@ -2276,14 +2276,14 @@ class User extends CommonObject
|
||||
$this->build_path_from_id_user($key,0); // Process a branch from the root user key (this user has no parent)
|
||||
}
|
||||
|
||||
// Exclude leaf including $markafterid from tree
|
||||
if ($markafterid)
|
||||
// Exclude leaf including $deleteafterid from tree
|
||||
if ($deleteafterid)
|
||||
{
|
||||
//print "Look to discard user ".$markafterid."\n";
|
||||
$keyfilter1='^'.$markafterid.'$';
|
||||
$keyfilter2='_'.$markafterid.'$';
|
||||
$keyfilter3='^'.$markafterid.'_';
|
||||
$keyfilter4='_'.$markafterid.'_';
|
||||
//print "Look to discard user ".$deleteafterid."\n";
|
||||
$keyfilter1='^'.$deleteafterid.'$';
|
||||
$keyfilter2='_'.$deleteafterid.'$';
|
||||
$keyfilter3='^'.$deleteafterid.'_';
|
||||
$keyfilter4='_'.$deleteafterid.'_';
|
||||
foreach($this->users as $key => $val)
|
||||
{
|
||||
if (preg_match('/'.$keyfilter1.'/',$val['fullpath']) || preg_match('/'.$keyfilter2.'/',$val['fullpath'])
|
||||
@ -2322,13 +2322,13 @@ class User extends CommonObject
|
||||
|
||||
// Define fullpath and fullname
|
||||
$this->users[$id_user]['fullpath'] = '_'.$id_user;
|
||||
$this->users[$id_user]['fullname'] = $this->users[$id_user]['label'];
|
||||
$this->users[$id_user]['fullname'] = $this->users[$id_user]['lastname'];
|
||||
$i=0; $cursor_user=$id_user;
|
||||
|
||||
while ((empty($protection) || $i < $protection) && ! empty($this->parentof[$cursor_user]))
|
||||
{
|
||||
$this->users[$id_user]['fullpath'] = '_'.$this->parentof[$cursor_user].$this->users[$id_user]['fullpath'];
|
||||
$this->users[$id_user]['fullname'] = $this->users[$this->parentof[$cursor_user]]['label'].' >> '.$this->users[$id_user]['fullname'];
|
||||
$this->users[$id_user]['fullname'] = $this->users[$this->parentof[$cursor_user]]['lastname'].' >> '.$this->users[$id_user]['fullname'];
|
||||
$i++; $cursor_user=$this->parentof[$cursor_user];
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user