diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 92e63c6fa6740f500ed0510e5e059b99b98751d9..86b9964bd03f02eee89d6afc754ba3f4a0451dac 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -1180,37 +1180,6 @@ if ($action == 'create') $object = new Propal($db); - $numpr=''; - $obj = $conf->global->PROPALE_ADDON; - if ($obj) - { - if (! empty($conf->global->PROPALE_ADDON) && is_readable(DOL_DOCUMENT_ROOT ."/core/modules/propale/".$conf->global->PROPALE_ADDON.".php")) - { - require_once DOL_DOCUMENT_ROOT ."/core/modules/propale/".$conf->global->PROPALE_ADDON.'.php'; - $modPropale = new $obj; - $numpr = $modPropale->getNextValue($soc,$object); - } - } - - // Fix pour modele numerotation qui deconne - // Si numero deja pris (ne devrait pas arriver), on incremente par .num+1 - $sql = "SELECT count(*) as nb"; - $sql.= " FROM ".MAIN_DB_PREFIX."propal"; - $sql.= " WHERE ref LIKE '".$numpr."%'"; - $sql.= " AND entity = ".$conf->entity; - - $resql=$db->query($sql); - if ($resql) - { - $obj=$db->fetch_object($resql); - $num = $obj->nb; - $db->free($resql); - if ($num > 0) - { - $numpr .= "." . ($num + 1); - } - } - print '<form name="addprop" action="'.$_SERVER["PHP_SELF"].'" method="POST">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="action" value="add">'; @@ -1222,12 +1191,9 @@ if ($action == 'create') } print '<table class="border" width="100%">'; - - // Ref - print '<tr><td class="fieldrequired">'.$langs->trans("Ref").'</td>'; - print '<td colspan="2">'.$numpr.'</td>'; - print '<input type="hidden" name="ref" value="'.$numpr.'">'; - print '</tr>'; + + // Reference + print '<tr><td class="fieldrequired">'.$langs->trans('Ref').'</td><td colspan="2">'.$langs->trans("Draft").'</td></tr>'; // Ref customer print '<tr><td>'.$langs->trans('RefCustomer').'</td><td colspan="2">'; @@ -1990,10 +1956,10 @@ else if ($action != 'statut' && $action <> 'editline') { // Validate - if ($object->statut == 0 && $user->rights->propal->valider) + if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) { if (count($object->lines) > 0) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=validate">'.$langs->trans('Validate').'</a>'; - else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>'; + //else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>'; } // Edit diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index c80007c894781f141597af647f61c18337f7f30b..4b3686db5118f00aaead53922870da06423d9f1b 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -6,7 +6,7 @@ * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr> - * Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es> + * Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2011 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> * @@ -720,7 +720,7 @@ class Propal extends CommonObject if ($this->id) { - if (empty($this->ref)) $this->ref='(PROV'.$this->id.')'; + $this->ref='(PROV'.$this->id.')'; $sql = 'UPDATE '.MAIN_DB_PREFIX."propal SET ref='".$this->ref."' WHERE rowid=".$this->id; dol_syslog(get_class($this)."::create sql=".$sql); @@ -1178,11 +1178,29 @@ class Propal extends CommonObject $now=dol_now(); if ($user->rights->propale->valider) - { + { $this->db->begin(); + + // Numbering module definition + $soc = new Societe($this->db); + $soc->fetch($this->socid); + + // Class of company linked to propal + $result=$soc->set_as_client(); + + // Define new ref + if (! $error && (preg_match('/^[\(]?PROV/i', $this->ref))) + { + $num = $this->getNextNumRef($soc); + } + else + { + $num = $this->ref; + } $sql = "UPDATE ".MAIN_DB_PREFIX."propal"; - $sql.= " SET fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id; + $sql.= " SET ref = '".$num."',"; + $sql.= " fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id; $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; dol_syslog(get_class($this).'::valid sql='.$sql); diff --git a/htdocs/langs/ca_ES/propal.lang b/htdocs/langs/ca_ES/propal.lang index 0d862ce19a9e944c8f176bb2f3427fb83fb8b1c2..6da060d91f80ce8f517508de14f813195dd56ea8 100644 --- a/htdocs/langs/ca_ES/propal.lang +++ b/htdocs/langs/ca_ES/propal.lang @@ -19,7 +19,7 @@ DeleteProp=Eliminar pressupost ValidateProp=Validar pressupost AddProp=Crear pressupost ConfirmDeleteProp=Esteu segur de voler eliminar aquest pressupost? -ConfirmValidateProp=Esteu segur de voler validar aquest pressupost? +ConfirmValidateProp=Esteu segur de voler validar aquest pressupost sota la referència <b>%s</b>? LastPropals=Els %s darrers pressupostos LastClosedProposals=Els %s darrers pressupostos tancats LastModifiedProposals=Els %s darrers pressupostos modificats diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang index 3f76ca5ecda2ff355b4c2e89e90d28828f2c8d9d..197a9f52146498ede5da800ab189fee3fdefa9bf 100644 --- a/htdocs/langs/en_US/propal.lang +++ b/htdocs/langs/en_US/propal.lang @@ -19,7 +19,7 @@ DeleteProp=Delete commercial proposal ValidateProp=Validate commercial proposal AddProp=Add proposal ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -ConfirmValidateProp=Are you sure you want to validate this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name <b>%s</b> ? LastPropals=Last %s proposals LastClosedProposals=Last %s closed proposals LastModifiedProposals=Last %s modified proposals diff --git a/htdocs/langs/es_ES/propal.lang b/htdocs/langs/es_ES/propal.lang index c342baac8f4407f4aabaf3b80bfc4bc8b276b4ef..03f7a7a9e6456381c1d53f37ba2b591720a45cbb 100644 --- a/htdocs/langs/es_ES/propal.lang +++ b/htdocs/langs/es_ES/propal.lang @@ -20,7 +20,7 @@ DeleteProp=Eliminar presupuesto ValidateProp=Validar presupuesto AddProp=Crear presupuesto ConfirmDeleteProp=¿Está seguro de querer eliminar este presupuesto? -ConfirmValidateProp=¿Está seguro de querer validar este presupuesto? +ConfirmValidateProp=¿Está seguro de querer validar este presupuesto bajo la referencia <b>%s</b> ? LastPropals=Los %s últimos presupuestos LastClosedProposals=Los %s últimos presupuestos cerrados LastModifiedProposals=Los %s últimos presupuestos modificados diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index 124910b907e36df35c39a8c6aecb886edc74b809..5a4c05f0d6d17427af8cddfb430f068a92e1cb2c 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -19,7 +19,7 @@ DeleteProp=Supprimer proposition ValidateProp=Valider proposition AddProp=Créer proposition ConfirmDeleteProp=Êtes-vous sûr de vouloir effacer cette proposition commerciale ? -ConfirmValidateProp=Êtes-vous sûr de vouloir valider cette proposition commerciale ? +ConfirmValidateProp=Êtes-vous sûr de vouloir valider cette proposition commerciale sous la référence <b>%s</b> ? LastPropals=Les %s dernières propales LastClosedProposals=Les %s dernières propositions commerciales fermées LastModifiedProposals=Les %s dernières propositions commerciales modifiées