Fix: [ bug #617 ] champs non repris lors d'une création de commande à

partir d'une propale
This commit is contained in:
Laurent Destailleur 2012-12-27 18:02:36 +01:00
parent 1a530d0ca9
commit a8012d0f18
2 changed files with 15 additions and 17 deletions

View File

@ -1394,6 +1394,8 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
$remise_absolue = (!empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(!empty($soc->remise_absolue)?$soc->remise_absolue:0));
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
$datedelivery = (!empty($objectsrc->date_livraison)?$objectsrc->date_livraison:'');
$note_private = (! empty($objectsrc->note) ? $objectsrc->note : (! empty($objectsrc->note_private) ? $objectsrc->note_private : ''));
$note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : '');
@ -1410,6 +1412,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
$remise_percent = $soc->remise_percent;
$remise_absolue = 0;
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
$projectid = 0;
}
$absolute_discount=$soc->getAvailableDiscounts();
@ -1432,7 +1435,8 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
// Reference client
print '<tr><td>'.$langs->trans('RefCustomer').'</td><td colspan="2">';
print '<input type="text" name="ref_client" value=""></td>';
//print '<input type="text" name="ref_client" value="'.$ref_client.'"></td>';
print '<input type="text" name="ref_client" value=""></td>'; // We must not use ref_client of proposal for an order
print '</tr>';
// Client
@ -1463,43 +1467,37 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
// Date de livraison
print "<tr><td>".$langs->trans("DeliveryDate").'</td><td colspan="2">';
if (! empty($conf->global->DATE_LIVRAISON_WEEK_DELAY))
if (empty($datedelivery))
{
$datedelivery = time() + ((7*$conf->global->DATE_LIVRAISON_WEEK_DELAY) * 24 * 60 * 60);
}
else
{
$datedelivery=empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
if (! empty($conf->global->DATE_LIVRAISON_WEEK_DELAY)) $datedelivery = time() + ((7*$conf->global->DATE_LIVRAISON_WEEK_DELAY) * 24 * 60 * 60);
else $datedelivery=empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
}
$form->select_date($datedelivery,'liv_','','','',"crea_commande",1,1);
print "</td></tr>";
// Conditions de reglement
print '<tr><td nowrap="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$form->select_conditions_paiements($soc->cond_reglement,'cond_reglement_id',-1,1);
$form->select_conditions_paiements($cond_reglement_id,'cond_reglement_id',-1,1);
print '</td></tr>';
// Mode de reglement
print '<tr><td>'.$langs->trans('PaymentMode').'</td><td colspan="2">';
$form->select_types_paiements($soc->mode_reglement,'mode_reglement_id');
$form->select_types_paiements($mode_reglement_id,'mode_reglement_id');
print '</td></tr>';
// Delivery delay
print '<tr><td>'.$langs->trans('AvailabilityPeriod').'</td><td colspan="2">';
$form->select_availability($propal->availability,'availability_id','',1);
$form->select_availability($availability_id,'availability_id','',1);
print '</td></tr>';
// What trigger creation
print '<tr><td>'.$langs->trans('Source').'</td><td colspan="2">';
$form->select_demand_reason(($origin=='propal'?'SRC_COMM':''),'demand_reason_id','',1);
$form->select_demand_reason($demand_reason_id,'demand_reason_id','',1);
print '</td></tr>';
// Project
if (! empty($conf->projet->enabled))
{
$projectid = 0;
if ($origin == 'project') $projectid = ($originid?$originid:0);
print '<tr><td>'.$langs->trans('Project').'</td><td colspan="2">';
$numprojet=select_projects($soc->id,$projectid);
if ($numprojet==0)

View File

@ -1971,10 +1971,10 @@ class Form
/**
* Return list of events that triggered an object creation
*
* @param int $selected Id du type d'origine pre-selectionne
* @param int $selected Id or code of type origin to select by default
* @param string $htmlname Nom de la zone select
* @param string $exclude To exclude a code value (Example: SRC_PROP)
* @param int $addempty Add an empty entry
* @param int $addempty Add an empty entry
* @return void
*/
function select_demand_reason($selected='',$htmlname='demandreasonid',$exclude='',$addempty=0)
@ -1989,7 +1989,7 @@ class Form
{
if ($arraydemandreason['code']==$exclude) continue;
if ($selected == $arraydemandreason['id'])
if ($selected && ($selected == $arraydemandreason['id'] || $selected == $arraydemandreason['code']))
{
print '<option value="'.$arraydemandreason['id'].'" selected="selected">';
}