From ee3f92a1686868b38eb52bcba518eeea842e3869 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 5 Aug 2014 18:22:01 +0200 Subject: [PATCH] Fix: When there is an error to update a thirdparty, the number for supplier and customer code is kept to old value. --- htdocs/societe/soc.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index b88642cd83d..0e4d7932856 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -1069,12 +1069,11 @@ else $res=$object->fetch_optionals($object->id,$extralabels); //if ($res < 0) { dol_print_error($db); exit; } - $head = societe_prepare_head($object); dol_fiche_head($head, 'card', $langs->trans("ThirdParty"),0,'company'); - + // Load object modCodeTiers $module=(! empty($conf->global->SOCIETE_CODECLIENT_ADDON)?$conf->global->SOCIETE_CODECLIENT_ADDON:'mod_codeclient_leopard'); if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php') @@ -1110,7 +1109,9 @@ else { $prefixSupplierIsUsed = $modCodeFournisseur->verif_prefixIsUsed(); } - + + $object->oldcopy=dol_clone($object); + if (GETPOST('nom')) { // We overwrite with values if posted @@ -1142,7 +1143,7 @@ else $object->barcode = GETPOST('barcode'); $object->forme_juridique_code = GETPOST('forme_juridique_code'); $object->default_lang = GETPOST('default_lang'); - + $object->tva_assuj = GETPOST('assujtva_value'); $object->tva_intra = GETPOST('tva_intra'); $object->status = GETPOST('status'); @@ -1179,7 +1180,7 @@ else print ''; print ''; if ($modCodeClient->code_auto || $modCodeFournisseur->code_auto) print ''; - + print ''; // Name @@ -1247,6 +1248,7 @@ else if ((!$object->code_fournisseur || $object->code_fournisseur == -1) && $modCodeFournisseur->code_auto) { $tmpcode=$object->code_fournisseur; + if (empty($tmpcode) && ! empty($object->oldcopy->code_fournisseur)) $tmpcode=$object->oldcopy->code_fournisseur; if (empty($tmpcode) && ! empty($modCodeFournisseur->code_auto)) $tmpcode=$modCodeFournisseur->getNextValue($object,1); print ''; }