From 6848d720104f826677c74fd5f0cdde17d2ec2f70 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Sat, 24 Apr 2010 11:02:38 +0000
Subject: [PATCH] Fix: Use propal date for propal numbering.

---
 htdocs/comm/propal/propal.class.php            | 18 ++++++++++--------
 htdocs/compta/facture/facture.class.php        |  6 +++---
 .../facture/mercure/mercure.modules.php        |  2 +-
 .../modules/facture/terre/terre.modules.php    |  5 ++---
 .../modules/propale/mod_propale_marbre.php     |  2 +-
 .../modules/propale/mod_propale_saphir.php     |  6 ++++--
 6 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/htdocs/comm/propal/propal.class.php b/htdocs/comm/propal/propal.class.php
index 9c755309ae6..d58a1db2f8f 100644
--- a/htdocs/comm/propal/propal.class.php
+++ b/htdocs/comm/propal/propal.class.php
@@ -743,21 +743,23 @@ class Propal extends CommonObject
 			return -1;
 		}
 
-		require_once(DOL_DOCUMENT_ROOT ."/includes/modules/propale/".$conf->global->PROPALE_ADDON.".php");
-		$obj = $conf->global->PROPALE_ADDON;
-		$modPropale = new $obj;
-		$numpr = $modPropale->getNextValue($objsoc,$object);
-
 		// Clear fields
-		$object->ref                = $numpr;
 		$object->user_author        = $user->id;
 		$object->user_valid         = '';
 		$object->date               = '';
-		$object->datep              = dol_now('gmt');
+		$object->datep = dol_now('gmt');
 		$object->fin_validite       = '';
 		$object->ref_client         = '';
 		$object->products = $object->lignes;	// Tant que products encore utilise
 
+		require_once(DOL_DOCUMENT_ROOT ."/includes/modules/propale/".$conf->global->PROPALE_ADDON.".php");
+		$obj = $conf->global->PROPALE_ADDON;
+		$modPropale = new $obj;
+		$numpr = $modPropale->getNextValue($objsoc,$object);
+
+		// Set ref
+		$object->ref                = $numpr;
+
 		// Create clone
 		$result=$object->create($user);
 
@@ -2024,7 +2026,7 @@ class Propal extends CommonObject
 	function verifyNumRef($soc)
 	{
 		global $conf;
-		
+
 		$sql = "SELECT rowid";
 		$sql.= " FROM ".MAIN_DB_PREFIX."propal";
 		$sql.= " WHERE ref = '".$this->ref."'";
diff --git a/htdocs/compta/facture/facture.class.php b/htdocs/compta/facture/facture.class.php
index a8f8d09caea..ec48285e9f5 100644
--- a/htdocs/compta/facture/facture.class.php
+++ b/htdocs/compta/facture/facture.class.php
@@ -60,9 +60,9 @@ class Facture extends CommonObject
 	var $number;
 	var $author;
 	//! Invoice date
-	var $date;
-	var $date_creation;
-	var $date_validation;
+	var $date;				// Invoice date
+	var $date_creation;		// Creation date
+	var $date_validation;	// Validation date
 	var $datem;
 	var $ref;
 	var $ref_client;
diff --git a/htdocs/includes/modules/facture/mercure/mercure.modules.php b/htdocs/includes/modules/facture/mercure/mercure.modules.php
index 0836ee4a38e..cce2659c958 100644
--- a/htdocs/includes/modules/facture/mercure/mercure.modules.php
+++ b/htdocs/includes/modules/facture/mercure/mercure.modules.php
@@ -23,7 +23,7 @@
 /**
  *	\file       htdocs/includes/modules/facture/mercure/mercure.modules.php
  *	\ingroup    facture
- *	\brief      Class filte of Mercure numbering module for invoice
+ *	\brief      File containing class for numbering module Mercure
  *	\version    $Id$
  */
 require_once(DOL_DOCUMENT_ROOT ."/includes/modules/facture/modules_facture.php");
diff --git a/htdocs/includes/modules/facture/terre/terre.modules.php b/htdocs/includes/modules/facture/terre/terre.modules.php
index 5f8b26cd0a7..15a9e855a96 100644
--- a/htdocs/includes/modules/facture/terre/terre.modules.php
+++ b/htdocs/includes/modules/facture/terre/terre.modules.php
@@ -21,7 +21,7 @@
 /**
  *	\file       htdocs/includes/modules/facture/terre/terre.modules.php
  *	\ingroup    facture
- *	\brief      Fichier contenant la classe du mod�le de num�rotation de r�f�rence de facture Terre
+ *	\brief      File containing class for numbering module Terre
  *	\version    $Id$
  */
 require_once(DOL_DOCUMENT_ROOT ."/includes/modules/facture/modules_facture.php");
@@ -143,8 +143,7 @@ class mod_facture_terre extends ModeleNumRefFactures
 			return -1;
 		}
 
-		//$date=time();
-		$date=$facture->date;
+		$date=$facture->date;	// This is invoice date (not creation date)
 		$yymm = strftime("%y%m",$date);
 		$num = sprintf("%04s",$max+1);
 
diff --git a/htdocs/includes/modules/propale/mod_propale_marbre.php b/htdocs/includes/modules/propale/mod_propale_marbre.php
index a25aba588b8..04c133be70f 100644
--- a/htdocs/includes/modules/propale/mod_propale_marbre.php
+++ b/htdocs/includes/modules/propale/mod_propale_marbre.php
@@ -118,7 +118,7 @@ class mod_propale_marbre extends ModeleNumRefPropales
 			return -1;
 		}
 
-		$date=$propal->date;
+		$date=$propal->datep;
 		//$yymm = strftime("%y%m",time());
 		$yymm = strftime("%y%m",$date);
 		$num = sprintf("%04s",$max+1);
diff --git a/htdocs/includes/modules/propale/mod_propale_saphir.php b/htdocs/includes/modules/propale/mod_propale_saphir.php
index 2af256ffae0..4c78a7134c9 100644
--- a/htdocs/includes/modules/propale/mod_propale_saphir.php
+++ b/htdocs/includes/modules/propale/mod_propale_saphir.php
@@ -109,7 +109,7 @@ class mod_propale_saphir extends ModeleNumRefPropales
 
 		require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php");
 
-		// On d�fini critere recherche compteur
+		// On defini critere recherche compteur
 		$mask=$conf->global->PROPALE_SAPHIR_MASK;
 
 		if (! $mask)
@@ -118,7 +118,9 @@ class mod_propale_saphir extends ModeleNumRefPropales
 			return 0;
 		}
 
-		$numFinal=get_next_value($db,$mask,'propal','ref','',$objsoc->code_client,$propal->date);
+		$date=$propal->datep;
+		$customercode=$objsoc->code_client;
+		$numFinal=get_next_value($db,$mask,'propal','ref','',$customercode,$date);
 
 		return  $numFinal;
 	}
-- 
GitLab