Fix: For contract, only services available by default. Product appears

if option is set only.
This commit is contained in:
Laurent Destailleur 2014-07-19 21:14:56 +02:00
parent 8156b1400b
commit b42a33b203
4 changed files with 18 additions and 8 deletions

View File

@ -543,7 +543,7 @@ class Form
* @param string $selected Preselected type
* @param string $htmlname Name of field in html form
* @param int $showempty Add an empty field
* @param int $hidetext Do not show label before combo box
* @param int $hidetext Do not show label 'Type' before combo box (used only if there is at least 2 choices to select)
* @param string $forceall Force to show products and services in combo list, whatever are activated modules
* @return void
*/
@ -577,10 +577,12 @@ class Form
}
if (! $forceall && empty($conf->product->enabled) && ! empty($conf->service->enabled))
{
print $langs->trans("Service");
print '<input type="hidden" name="'.$htmlname.'" value="1">';
}
if (! $forceall && ! empty($conf->product->enabled) && empty($conf->service->enabled))
{
print $langs->trans("Product");
print '<input type="hidden" name="'.$htmlname.'" value="0">';
}

View File

@ -118,7 +118,12 @@ else {
else if (empty($conf->product->enabled) && ! empty($conf->service->enabled)) echo $langs->trans("FreeLineOfType").' '.$langs->trans("Service");
else if (! empty($conf->product->enabled) && empty($conf->service->enabled)) echo $langs->trans("FreeLineOfType").' '.$langs->trans("Product");*/
echo ' ';
echo $form->select_type_of_lines(isset($_POST["type"])?$_POST["type"]:-1,'type',1,1,1);
$forceall=1; // We always force all type for free lines (module product or service means we use predefined product or service)
if ($object->element == 'contrat' && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS))
{
$forceall=0;
}
echo $form->select_type_of_lines(isset($_POST["type"])?$_POST["type"]:-1,'type',1,1,$forceall);
// }
echo '</span>';

View File

@ -1725,8 +1725,11 @@ elseif (! empty($object->id))
}
else
{
print $form->select_type_of_lines($line->product_type,'type',1);
$forceall=1; // For suppliers, we always show all types
print $form->select_type_of_lines($line->product_type,'type',1,0,$forceall);
if (! empty($conf->product->enabled) && ! empty($conf->service->enabled)) print '<br>';
if ($forceall || (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
|| (empty($conf->product->enabled) && empty($conf->service->enabled))) print '<br>';
}
if (is_object($hookmanager))

View File

@ -311,7 +311,7 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
$object->mode_reglement_id = GETPOST('mode_reglement_id');
$object->fk_account = GETPOST('fk_account', 'int');
$object->fk_project = ($tmpproject > 0) ? $tmpproject : null;
// Auto calculation of date due if not filled by user
if(empty($object->date_echeance)) $object->date_echeance = $object->calculate_date_lim_reglement();
@ -1648,7 +1648,7 @@ else
// Local taxes
if ($societe->localtax1_assuj=="1") $nbrows++;
if ($societe->localtax2_assuj=="1") $nbrows++;
print '<td rowspan="'.$nbrows.'" valign="top">';
$sql = 'SELECT p.datep as dp, p.num_paiement, p.rowid, p.fk_bank,';
@ -1968,9 +1968,9 @@ else
print '<br>';
}
else
{
{
$forceall=1; // For suppliers, we always show all types
print $form->select_type_of_lines($object->lines[$i]->product_type,'type',1);
print $form->select_type_of_lines($object->lines[$i]->product_type,'type',1,0,$forceall);
if ($forceall || (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
|| (empty($conf->product->enabled) && empty($conf->service->enabled))) print '<br>';
}
@ -2252,7 +2252,7 @@ else
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$fileparams = dol_most_recent_file($conf->fournisseur->facture->dir_output.'/'.get_exdir($object->id,2).$ref, preg_quote($ref,'/'));
$file=$fileparams['fullname'];
// Define output language
$outputlangs = $langs;
$newlang = '';