Преглед на файлове

Merge branch '13.0' of git@github.com:Dolibarr/dolibarr.git into 14.0

Conflicts:
	htdocs/comm/action/list.php
	htdocs/core/class/utils.class.php
	htdocs/install/mysql/data/llx_20_c_departements.sql
Laurent Destailleur преди 3 години
родител
ревизия
7618966f81

+ 3 - 10
htdocs/comm/action/list.php

@@ -830,6 +830,8 @@ if ($resql) {
 		$actionstatic->label = $obj->label;
 		$actionstatic->location = $obj->location;
 		$actionstatic->note_private = dol_htmlentitiesbr($obj->note);
+		$actionstatic->datep = $db->jdate($obj->dp);
+		$actionstatic->percentage = $obj->percent;
 
 		// Initialize $this->userassigned && this->socpeopleassigned array && this->userownerid
 		// but only if we need it
@@ -902,16 +904,7 @@ if ($resql) {
 			print '<td class="center nowraponall">';
 			print dol_print_date($db->jdate($obj->dp), $formatToUse, 'tzuser');
 			$late = 0;
-			if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) {
-				$late = 1;
-			}
-			if ($obj->percent == 0 && !$obj->dp && $obj->dp2 && $db->jdate($obj->dp) < ($now - $delay_warning)) {
-				$late = 1;
-			}
-			if ($obj->percent > 0 && $obj->percent < 100 && $obj->dp2 && $db->jdate($obj->dp2) < ($now - $delay_warning)) {
-				$late = 1;
-			}
-			if ($obj->percent > 0 && $obj->percent < 100 && !$obj->dp2 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) {
+			if ($actionstatic->hasDelay() && $actionstatic->percentage >= 0 && $actionstatic->percentage < 100 ) {
 				$late = 1;
 			}
 			if ($late) {

+ 15 - 13
htdocs/core/class/utils.class.php

@@ -388,21 +388,23 @@ class Utils
 				if ($execmethod == 2) {	// With this method, there is no way to get the return code, only output
 					$handlein = popen($fullcommandclear, 'r');
 					$i = 0;
-					while (!feof($handlein)) {
-						$i++; // output line number
-						$read = fgets($handlein);
-						// Exclude warning line we don't want
-						if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) {
-							continue;
-						}
-						fwrite($handle, $read);
-						if (preg_match('/'.preg_quote('-- Dump completed').'/i', $read)) {
-							$ok = 1;
-						} elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i', $read)) {
-							$ok = 1;
+					if ($handlein) {
+						while (!feof($handlein)) {
+							$i++; // output line number
+							$read = fgets($handlein);
+							// Exclude warning line we don't want
+							if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) {
+								continue;
+							}
+							fwrite($handle, $read);
+							if (preg_match('/'.preg_quote('-- Dump completed').'/i', $read)) {
+								$ok = 1;
+							} elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i', $read)) {
+								$ok = 1;
+							}
 						}
+						pclose($handlein);
 					}
-					pclose($handlein);
 				}
 
 

+ 18 - 13
htdocs/core/modules/stock/doc/pdf_standard.modules.php

@@ -1,5 +1,6 @@
 <?php
 /* Copyright (C) 2017 	Laurent Destailleur <eldy@stocks.sourceforge.net>
+ * Copyright (C) 2022 	Ferran Marcet <fmarcet@2byte.es>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -292,7 +293,7 @@ class pdf_standard extends ModelePDFStock
 				$pdf->MultiCell(0, 3, ''); // Set interline to 3
 				$pdf->SetTextColor(0, 0, 0);
 
-				$tab_top = 80 + $top_shift;
+				$tab_top = 65 + $top_shift;
 				$tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD) ? 42 + $top_shift : 10);
 
 				$tab_height = 130;
@@ -325,7 +326,7 @@ class pdf_standard extends ModelePDFStock
 					$i = 0;
 					$nblines = $num;
 
-					$this->tabTitleHeight = 0;
+					$this->tabTitleHeight = 10;
 					$nexY = $tab_top + $this->tabTitleHeight;
 
 					for ($i = 0; $i < $nblines; $i++) {
@@ -363,14 +364,16 @@ class pdf_standard extends ModelePDFStock
 						$showpricebeforepagebreak = 1;
 
 						$pdf->startTransaction();
-						pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 3, $curX, $curY, $hideref, $hidedesc);
+						$pdf->writeHTMLCell($this->wref, 3, $curX, $curY, $outputlangs->convToOutputCharset($objp->ref), 0, 1, false, true, 'J', true);
+						//pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 3, $curX, $curY, $hideref, $hidedesc);
 						$pageposafter = $pdf->getPage();
 						if ($pageposafter > $pageposbefore) {	// There is a pagebreak
 							$pdf->rollbackTransaction(true);
 							$pageposafter = $pageposbefore;
 							//print $pageposafter.'-'.$pageposbefore;exit;
 							$pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it.
-							pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 4, $curX, $curY, $hideref, $hidedesc);
+							$pdf->writeHTMLCell($this->wref, 4, $curX, $curY, $outputlangs->convToOutputCharset($objp->ref), 0, 1, false, true, 'J', true);
+							//pdf_writelinedesc($pdf, $object, $i, $outputlangs, $this->posxtva - $curX, 4, $curX, $curY, $hideref, $hidedesc);
 							$pageposafter = $pdf->getPage();
 							$posyafter = $pdf->GetY();
 							if ($posyafter > ($this->page_hauteur - ($heightforfooter + $heightforfreetext + $heightforinfotot))) {	// There is no space left for total+free text
@@ -423,8 +426,8 @@ class pdf_standard extends ModelePDFStock
 						$productstatic->status_batch = $objp->tobatch;
 
 						// Ref.
-						$pdf->SetXY($this->posxdesc, $curY);
-						$pdf->MultiCell($this->wref, 3, $productstatic->ref, 0, 'L');
+						//$pdf->SetXY($this->posxdesc, $curY);
+						//$pdf->MultiCell($this->wref, 3, $productstatic->ref, 0, 'L');
 
 						// Label
 						$pdf->SetXY($this->posxlabel + 0.8, $curY);
@@ -511,7 +514,7 @@ class pdf_standard extends ModelePDFStock
 					/**
 					 * Footer table
 					 */
-					$nexY = $pdf->GetY();
+					//$nexY = $pdf->GetY();
 					$nexY += 2;
 					$curY = $nexY;
 
@@ -575,11 +578,11 @@ class pdf_standard extends ModelePDFStock
 					$height_note = 0;
 				}
 
-				$iniY = $tab_top + 7;
+				/*$iniY = $tab_top + 7;
 				$curY = $tab_top + 7;
 				$nexY = $tab_top + 7;
 
-				$tab_top = $tab_top_newpage + 25 + $top_shift;
+				$tab_top = $tab_top_newpage + 25 + $top_shift;*/
 
 				// Show square
 				if ($pagenb == 1) {
@@ -732,10 +735,12 @@ class pdf_standard extends ModelePDFStock
 			$pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->postotalht, 2, $outputlangs->transnoentities("EstimatedStockValueSellShort"), '', 'R');
 		}
 
-		$pdf->SetDrawColor(200, 200, 200);
-		$pdf->SetLineStyle(array('dash'=>'0', 'color'=>array(200, 200, 200)));
-		$pdf->line($this->marge_gauche, $tab_top + 11, $this->page_largeur - $this->marge_droite, $tab_top + 11);
-		$pdf->SetLineStyle(array('dash'=>0));
+		if (empty($hidetop)) {
+			$pdf->SetDrawColor(200, 200, 200);
+			$pdf->SetLineStyle(array('dash' => '0', 'color' => array(200, 200, 200)));
+			$pdf->line($this->marge_gauche, $tab_top + 10, $this->page_largeur - $this->marge_droite, $tab_top + 10);
+			$pdf->SetLineStyle(array('dash' => 0));
+		}
 	}
 
 	// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore

+ 1 - 1
htdocs/expensereport/class/expensereport.class.php

@@ -2258,7 +2258,7 @@ class ExpenseReport extends CommonObject
 		$sql = "SELECT DISTINCT ur.fk_user";
 		$sql .= " FROM ".MAIN_DB_PREFIX."user_rights as ur, ".MAIN_DB_PREFIX."rights_def as rd";
 		$sql .= " WHERE ur.fk_id = rd.id and rd.module = 'expensereport' AND rd.perms = 'approve'"; // Permission 'Approve';
-		$sql .= "UNION";
+		$sql .= " UNION";
 		$sql .= " SELECT DISTINCT ugu.fk_user";
 		$sql .= " FROM ".MAIN_DB_PREFIX."usergroup_user as ugu, ".MAIN_DB_PREFIX."usergroup_rights as ur, ".MAIN_DB_PREFIX."rights_def as rd";
 		$sql .= " WHERE ugu.fk_usergroup = ur.fk_usergroup AND ur.fk_id = rd.id and rd.module = 'expensereport' AND rd.perms = 'approve'"; // Permission 'Approve';

+ 2 - 2
htdocs/install/mysql/data/llx_20_c_departements.sql

@@ -226,10 +226,10 @@ insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc
 insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (201, '05','',1,'FLANDRE-OCCIDENTALE','Flandre-Occidentale');
 insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (201, '06','',1,'FLANDRE-ORIENTALE','Flandre-Orientale');
 insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (202, '07','',2,'HAINAUT','Hainaut');
-insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (201, '08','',2,'LIEGE','Liège');
+insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (202, '08','',2,'LIEGE','Liège');
 insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (202, '09','',1,'LIMBOURG','Limbourg');
 insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (202, '10','',2,'LUXEMBOURG','Luxembourg');
-insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (201, '11','',2,'NAMUR','Namur');
+insert into llx_c_departements (fk_region, code_departement, cheflieu, tncc, ncc, nom) values (202, '11','',2,'NAMUR','Namur');
 
 
 -- Brazil Provinces (id country=56)