From e61770671a67639310b82676a96568d9e19488ff Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Sat, 10 Dec 2016 12:53:58 +0100 Subject: [PATCH] fix : create project from facture rec and back url wrong --- htdocs/compta/facture/fiche-rec.php | 362 ++++++++++++++-------------- 1 file changed, 181 insertions(+), 181 deletions(-) diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 83d4535660dbb..1762796436253 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -135,14 +135,14 @@ if (empty($reshook)) { if (GETPOST('cancel')) $action=''; - + // Set note include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once - + include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once - + // Do we click on purge search criteria ? if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { @@ -160,7 +160,7 @@ $search_frequency=''; $search_array_options=array(); } - + // Create predefined invoice if ($action == 'add') { @@ -170,7 +170,7 @@ $action = "create"; $error++; } - + $frequency=GETPOST('frequency', 'int'); $reyear=GETPOST('reyear'); $remonth=GETPOST('remonth'); @@ -179,14 +179,14 @@ $remin=GETPOST('remin'); $nb_gen_max=GETPOST('nb_gen_max', 'int'); //if (empty($nb_gen_max)) $nb_gen_max =0; - + if (GETPOST('frequency')) { - if (empty($reyear) || empty($remonth) || empty($reday)) + if (empty($reyear) || empty($remonth) || empty($reday)) { setEventMessages($langs->transnoentities("ErrorFieldRequired",$langs->trans("Date")), null, 'errors'); $action = "create"; - $error++; + $error++; } if ($nb_gen_max === '') { @@ -195,47 +195,47 @@ $error++; } } - + if (! $error) { $object->titre = GETPOST('titre', 'alpha'); $object->note_private = GETPOST('note_private'); $object->note_public = GETPOST('note_public'); $object->usenewprice = GETPOST('usenewprice'); - + $object->frequency = $frequency; $object->unit_frequency = GETPOST('unit_frequency', 'alpha'); $object->nb_gen_max = $nb_gen_max; $object->auto_validate = GETPOST('auto_validate', 'int'); - + $object->fk_project = $projectid; - + $date_next_execution = dol_mktime($rehour, $remin, 0, $remonth, $reday, $reyear); $object->date_when = $date_next_execution; - + // Get first contract linked to invoice used to generate template if ($id > 0) { $srcObject = new Facture($db); $srcObject->fetch(GETPOST('facid','int')); - + $srcObject->fetchObjectLinked(); - + if (! empty($srcObject->linkedObjectsIds['contrat'])) { $contractidid = reset($srcObject->linkedObjectsIds['contrat']); - + $object->origin = 'contrat'; $object->origin_id = $contractidid; $object->linked_objects[$object->origin] = $object->origin_id; } } - + $db->begin(); - + $oldinvoice = new Facture($db); $oldinvoice->fetch($id); - + $result = $object->create($user, $oldinvoice->id); if ($result > 0) { @@ -253,25 +253,25 @@ setEventMessages($object->error, $object->errors, 'errors'); $action = "create"; } - + if (! $error) { $db->commit(); - + header("Location: " . $_SERVER['PHP_SELF'] . '?facid=' . $object->id); exit; } else { $db->rollback(); - + $error++; setEventMessages($object->error, $object->errors, 'errors'); $action = "create"; } } } - + // Delete if ($action == 'confirm_deleteinvoice' && $confirm == 'yes' && $user->rights->facture->supprimer) { @@ -279,14 +279,14 @@ header("Location: " . $_SERVER['PHP_SELF'] ); exit; } - - + + // Update field // Set condition if ($action == 'setconditions' && $user->rights->facture->creer) { $result=$object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); - + } // Set mode elseif ($action == 'setmode' && $user->rights->facture->creer) @@ -336,24 +336,24 @@ { $object->setAutoValidate(GETPOST('auto_validate', 'int')); } - + // Delete line if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->facture->creer) { $object->fetch($id); $object->fetch_thirdparty(); - + $db->begin(); - + $line=new FactureLigneRec($db); - + // For triggers $line->id = $lineid; - + if ($line->delete() > 0) { $result=$object->update_price(1); - + if ($result > 0) { $db->commit(); @@ -371,13 +371,13 @@ setEventMessages($line->error, $line->errors, 'errors'); } } - + // Add a new line if ($action == 'addline' && $user->rights->facture->creer) { $langs->load('errors'); $error = 0; - + // Set if we used free entry or predefined product $predef=''; $product_desc=(GETPOST('dp_desc')?GETPOST('dp_desc'):''); @@ -392,10 +392,10 @@ $idprod=GETPOST('idprod', 'int'); $tva_tx = ''; } - + $qty = GETPOST('qty' . $predef); $remise_percent = GETPOST('remise_percent' . $predef); - + // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); @@ -408,7 +408,7 @@ unset($_POST["options_" . $key . $predef]); } } - + if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error ++; @@ -435,7 +435,7 @@ setEventMessages($langs->trans('ErrorQtyForCustomerInvoiceCantBeNegative'), null, 'errors'); $error ++; } - + if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) { $ret = $object->fetch($id); @@ -444,16 +444,16 @@ exit(); } $ret = $object->fetch_thirdparty(); - + // Clean parameters $date_start = dol_mktime(GETPOST('date_start' . $predef . 'hour'), GETPOST('date_start' . $predef . 'min'), GETPOST('date_start' . $predef . 'sec'), GETPOST('date_start' . $predef . 'month'), GETPOST('date_start' . $predef . 'day'), GETPOST('date_start' . $predef . 'year')); $date_end = dol_mktime(GETPOST('date_end' . $predef . 'hour'), GETPOST('date_end' . $predef . 'min'), GETPOST('date_end' . $predef . 'sec'), GETPOST('date_end' . $predef . 'month'), GETPOST('date_end' . $predef . 'day'), GETPOST('date_end' . $predef . 'year')); $price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT'); - + // Define special_code for special lines $special_code = 0; // if (empty($_POST['qty'])) $special_code=3; // Options should not exists on invoices - + // Ecrase $pu par celui du produit // Ecrase $desc par celui du produit // Ecrase $txtva par celui du produit @@ -463,19 +463,19 @@ { $prod = new Product($db); $prod->fetch($idprod); - + $label = ((GETPOST('product_label') && GETPOST('product_label') != $prod->label) ? GETPOST('product_label') : ''); - + // Update if prices fields are defined $tva_tx = get_default_tva($mysoc, $object->thirdparty, $prod->id); $tva_npr = get_default_npr($mysoc, $object->thirdparty, $prod->id); if (empty($tva_tx)) $tva_npr=0; - + $pu_ht = $prod->price; $pu_ttc = $prod->price_ttc; $price_min = $prod->price_min; $price_base_type = $prod->price_base_type; - + // We define price for product if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->thirdparty->price_level)) { @@ -493,11 +493,11 @@ elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - + $prodcustprice = new Productcustomerprice($db); - + $filter = array('t.fk_product' => $prod->id,'t.fk_soc' => $object->thirdparty->id); - + $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); if ($result) { @@ -510,7 +510,7 @@ } } } - + // if price ht was forced (ie: from gui when calculated by margin rate and cost price) if (! empty($price_ht)) { @@ -530,11 +530,11 @@ $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); } } - + $desc = ''; - + // Define output language - if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) + if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { $outputlangs = $langs; $newlang = ''; @@ -547,16 +547,16 @@ $outputlangs = new Translate("", $conf); $outputlangs->setDefaultLang($newlang); } - + $desc = (! empty($prod->multilangs [$outputlangs->defaultlang] ["description"])) ? $prod->multilangs [$outputlangs->defaultlang] ["description"] : $prod->description; } else { $desc = $prod->description; } - + $desc = dol_concatdesc($desc, $product_desc); - + // Add custom code and origin country into description if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) { @@ -569,13 +569,13 @@ $tmptxt .= $langs->transnoentitiesnoconv("CountryOrigin") . ': ' . getCountry($prod->country_code, 0, $db, $langs, 0); $tmptxt .= ')'; $desc = dol_concatdesc($desc, $tmptxt); - + } - + $type = $prod->type; $fk_unit = $prod->fk_unit; - - } + + } else { $pu_ht = price2num($price_ht, 'MU'); @@ -586,21 +586,21 @@ $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); $desc = $product_desc; $type = GETPOST('type'); - $fk_unit= GETPOST('units', 'alpha'); + $fk_unit= GETPOST('units', 'alpha'); } - + // Margin $fournprice = price2num(GETPOST('fournprice' . $predef) ? GETPOST('fournprice' . $predef) : ''); $buyingprice = price2num(GETPOST('buying_price' . $predef) != '' ? GETPOST('buying_price' . $predef) : ''); // If buying_price is '0', we must keep this value - + // Local Taxes $localtax1_tx = get_localtax($tva_tx, 1, $object->thirdparty, $mysoc, $tva_npr); $localtax2_tx = get_localtax($tva_tx, 2, $object->thirdparty, $mysoc, $tva_npr); - + $info_bits = 0; if ($tva_npr) $info_bits |= 0x01; - + if (! empty($price_min) && (price2num($pu_ht) * (1 - price2num($remise_percent) / 100) < price2num($price_min))) { $mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)); @@ -610,7 +610,7 @@ { // Insert line $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $idprod, $remise_percent, $price_base_type, $info_bits, '', $pu_ttc, $type, - 1, $special_code, $label, $fk_unit); - + if ($result > 0) { /*if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) @@ -626,14 +626,14 @@ } $model=$object->modelpdf; $ret = $object->fetch($id); // Reload to get new records - + $result = $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); }*/ $object->fetch($object->id); // Reload lines - + unset($_POST['prod_entry_mode']); - + unset($_POST['qty']); unset($_POST['type']); unset($_POST['remise_percent']); @@ -651,7 +651,7 @@ unset($_POST['dp_desc']); unset($_POST['idprod']); unset($_POST['units']); - + unset($_POST['date_starthour']); unset($_POST['date_startmin']); unset($_POST['date_startsec']); @@ -664,7 +664,7 @@ unset($_POST['date_endday']); unset($_POST['date_endmonth']); unset($_POST['date_endyear']); - + unset($_POST['situations']); unset($_POST['progress']); } @@ -672,17 +672,17 @@ { setEventMessages($object->error, $object->errors, 'errors'); } - - $action = ''; + + $action = ''; } } } - + elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST('cancel')) { if (! $object->fetch($id) > 0) dol_print_error($db); $object->fetch_thirdparty(); - + // Clean parameters $date_start = ''; $date_end = ''; @@ -692,27 +692,27 @@ $pu_ht = GETPOST('price_ht'); $vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); $qty = GETPOST('qty'); - + // Define info_bits $info_bits = 0; if (preg_match('/\*/', $vat_rate)) $info_bits |= 0x01; - + // Define vat_rate $vat_rate = str_replace('*', '', $vat_rate); $localtax1_rate = get_localtax($vat_rate, 1, $object->thirdparty); $localtax2_rate = get_localtax($vat_rate, 2, $object->thirdparty); - + // Add buying price $fournprice = price2num(GETPOST('fournprice') ? GETPOST('fournprice') : ''); $buyingprice = price2num(GETPOST('buying_price') != '' ? GETPOST('buying_price') : ''); // If buying_price is '0', we muste keep this value - + // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline); // Unset extrafield - if (is_array($extralabelsline)) + if (is_array($extralabelsline)) { // Get extra fields foreach ($extralabelsline as $key => $value) @@ -720,15 +720,15 @@ unset($_POST["options_" . $key]); } } - + // Define special_code for special lines $special_code=GETPOST('special_code'); if (! GETPOST('qty')) $special_code=3; - + /*$line = new FactureLigne($db); $line->fetch(GETPOST('lineid')); $percent = $line->get_prev_progress($object->id); - + if (GETPOST('progress') < $percent) { $mesg = '
' . $langs->trans("CantBeLessThanMinPercent") . '
'; @@ -736,22 +736,22 @@ $error++; $result = -1; }*/ - + // Check minimum price $productid = GETPOST('productid', 'int'); if (! empty($productid)) { $product = new Product($db); $product->fetch($productid); - + $type = $product->type; - + $price_min = $product->price_min; if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->thirdparty->price_level)) $price_min = $product->multiprices_min [$object->thirdparty->price_level]; - + $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); - + // Check price is not lower than minimum (check is done only for standard or replacement invoices) if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent')) / 100) < price2num($price_min))) { setEventMessages($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), null, 'errors'); @@ -760,7 +760,7 @@ } else { $type = GETPOST('type'); $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); - + // Check parameters if (GETPOST('type') < 0) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); @@ -772,14 +772,14 @@ setEventMessages($langs->trans('ErrorQtyForCustomerInvoiceCantBeNegative'), null, 'errors'); $error ++; } - + // Update line if (! $error) { $result = $object->updateline( GETPOST('lineid'), $description, - $pu_ht, + $pu_ht, $qty, $vat_rate, GETPOST('productid'), @@ -787,14 +787,14 @@ 'HT', $info_bits, 0, - 0, + 0, $type, 0, - $special_code, + $special_code, $label, GETPOST('units') ); - + if ($result >= 0) { /*if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { @@ -809,13 +809,13 @@ $outputlangs = new Translate("", $conf); $outputlangs->setDefaultLang($newlang); } - + $ret = $object->fetch($id); // Reload to get new records $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); }*/ - + $object->fetch($object->id); // Reload lines - + unset($_POST['qty']); unset($_POST['type']); unset($_POST['productid']); @@ -831,11 +831,11 @@ unset($_POST['buying_price']); unset($_POST['np_marginRate']); unset($_POST['np_markRate']); - + unset($_POST['dp_desc']); unset($_POST['idprod']); unset($_POST['units']); - + unset($_POST['date_starthour']); unset($_POST['date_startmin']); unset($_POST['date_startsec']); @@ -848,7 +848,7 @@ unset($_POST['date_endday']); unset($_POST['date_endmonth']); unset($_POST['date_endyear']); - + unset($_POST['situations']); unset($_POST['progress']); } @@ -875,7 +875,7 @@ $now = dol_now(); $tmparray=dol_getdate($now); $today = dol_mktime(23,59,59,$tmparray['mon'],$tmparray['mday'],$tmparray['year']); // Today is last second of current day - + /* * Create mode @@ -887,11 +887,11 @@ $object = new Facture($db); // Source invoice $product_static = new Product($db); $formproject = new FormProjets($db); - + if ($object->fetch($id, $ref) > 0) { $result = $object->getLinesArray(); - + print '
'; print ''; print ''; @@ -933,14 +933,14 @@ '__INVOICE_YEAR__' => $langs->trans("PreviousYearOfInvoice").' ('.$langs->trans("Example").': '.dol_print_date($object->date,'%Y').')', '__INVOICE_NEXT_YEAR__' => $langs->trans("NextYearOfInvoice").' ('.$langs->trans("Example").': '.dol_print_date(dol_time_plus_duree($object->date, 1, 'y'),'%Y').')' ); - + $htmltext = ''.$langs->trans("FollowingConstantsWillBeSubstituted").':
'; foreach($substitutionarray as $key => $val) { $htmltext.=$key.' = '.$langs->trans($val).'
'; } $htmltext.='
'; - + // Public note print ''; print ''; @@ -949,7 +949,7 @@ print ''; $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); - + // Private note if (empty($user->societe_id)) { @@ -963,7 +963,7 @@ // print ' print ''; } - + // Author print "".$langs->trans("Author")."".$user->getFullName($langs).""; @@ -983,11 +983,11 @@ $projectid = GETPOST('projectid')?GETPOST('projectid'):$object->fk_project; $langs->load('projects'); print '' . $langs->trans('Project') . ''; - $numprojet = $formproject->select_projects($socid, $projectid, 'projectid', 0); - print '   id).'">' . $langs->trans("AddProject") . ''; + $numprojet = $formproject->select_projects($socid, $projectid, 'projectid', 0, 0, 1, 0, 0, 0, 0, '', 0, $forceaddid=0, $morecss=''); + print '   thirdparty->id.(!empty($id)?'&id='.$id:'')).'">' . $langs->trans("AddProject") . ''; print ''; } - + // Bank account if ($object->fk_account > 0) { @@ -1000,24 +1000,24 @@ print '

'; - + // Autogeneration $title = $langs->trans("Recurrence"); print load_fiche_titre($title, '', 'calendar'); - + print ''; - + // Frequency print '"; - + // First date of execution for cron print ""; - + // Number max of generation print "
'.$form->textwithpicto($langs->trans("Frequency"), $langs->transnoentitiesnoconv('toolTipFrequency')).""; print " ".$form->selectarray('unit_frequency', array('d'=>$langs->trans('Day'), 'm'=>$langs->trans('Month'), 'y'=>$langs->trans('Year')), (GETPOST('unit_frequency')?GETPOST('unit_frequency'):'m')); print "
".$langs->trans('NextDateToExecution').""; $date_next_execution = isset($date_next_execution) ? $date_next_execution : (GETPOST('remonth') ? dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')) : -1); print $form->select_date($date_next_execution, '', 1, 1, '', "add", 1, 1, 1); print "
".$langs->trans("MaxPeriodNumber").""; print ''; @@ -1053,9 +1053,9 @@ $disableremove=1; $ret = $object->printObjectLines('', $mysoc, $soc, $lineid, 0); // No date selector for template invoice } - + print "
\n"; - + print ''; if ($flag_price_may_change) @@ -1102,10 +1102,10 @@ } print $formconfirm; - + $author = new User($db); $author->fetch($object->user_author); - + $head=array(); $h=0; $head[$h][0] = $_SERVER["PHP_SELF"].'?id='.$object->id; @@ -1115,13 +1115,13 @@ dol_fiche_head($head, 'card', $langs->trans("RepeatableInvoice"),0,'bill'); // Add a div // Recurring invoice content - + $linkback = '' . $langs->trans("BackToList") . ''; - + $morehtmlref=''; if ($action != 'editref') $morehtmlref.=$form->editfieldkey($object->ref, 'ref', $object->ref, $object, $user->rights->facture->creer, '', '', 0, 2); else $morehtmlref.= $form->editfieldval('', 'ref', $object->ref, $object, $user->rights->facture->creer, 'string'); - + $morehtmlref.='
'; // Ref customer //$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, $user->rights->facture->creer, 'string', '', 0, 1); @@ -1161,15 +1161,15 @@ } } $morehtmlref.='
'; - + dol_banner_tab($object, 'ref', $linkback, 1, 'titre', 'none', $morehtmlref, '', 0, '', $morehtmlright); - + print '
'; print '
'; print '
'; - + print ''; - + print '"; print ''; @@ -1192,10 +1192,10 @@ print ''; print ''; - + // Note private print ''; print '
'.$langs->trans("Author").''.$author->getFullName($langs)."
'.$langs->trans("AmountHT").''; if ($object->type != Facture::TYPE_CREDIT_NOTE) { - if ($action == 'editconditions') + if ($action == 'editconditions') { $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id'); - } + } else { $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'none'); @@ -1240,14 +1240,14 @@ '__INVOICE_YEAR__' => $langs->trans("PreviousYearOfInvoice").' ('.$langs->trans("Example").': '.dol_print_date($dateexample,'%Y').')', '__INVOICE_NEXT_YEAR__' => $langs->trans("NextYearOfInvoice").' ('.$langs->trans("Example").': '.dol_print_date(dol_time_plus_duree($dateexample, 1, 'y'),'%Y').')' ); - + $htmltext = ''.$langs->trans("FollowingConstantsWillBeSubstituted").':
'; foreach($substitutionarray as $key => $val) { $htmltext.=$key.' = '.$langs->trans($val).'
'; } $htmltext.='
'; - + // Note public print '
'; print $form->editfieldkey($form->textwithpicto($langs->trans('NotePublic'), $htmltext), 'note_public', $object->note_public, $object, $user->rights->facture->creer); @@ -1255,7 +1255,7 @@ print $form->editfieldval($langs->trans("NotePublic"), 'note_public', $object->note_public, $object, $user->rights->facture->creer, 'textarea:'.ROWS_4.':60'); print '
'; print $form->editfieldkey($form->textwithpicto($langs->trans("NotePrivate"), $htmltext), 'note_private', $object->note_private, $object, $user->rights->facture->creer); @@ -1285,20 +1285,20 @@ print '
'; - + print '
'; print '
'; print '
'; print '
'; - + print ''; - + /* * Recurrence */ $title = $langs->trans("Recurrence"); print load_fiche_titre($title, '', 'calendar'); - + print '
'; // if "frequency" is empty or = 0, the reccurence is disabled @@ -1322,7 +1322,7 @@ print ''; print '
'; } - else + else { if ($object->frequency > 0) { @@ -1334,7 +1334,7 @@ } } print ''; - + // Date when print ''; if ($action == 'date_when' || $object->frequency > 0) @@ -1352,7 +1352,7 @@ } print ''; print ''; - + // Max period / Rest period print ''; if ($action == 'nb_gen_max' || $object->frequency > 0) @@ -1374,7 +1374,7 @@ } print ''; print ''; - + // Status of generated invoices print ''; if ($action == 'auto_validate' || $object->frequency > 0) @@ -1389,29 +1389,29 @@ } print ''; print ''; - + print ''; - + // Frequencry/Recurring section if ($object->frequency > 0) { print '
'; - + if (empty($conf->cron->enabled)) { - print info_admin($langs->trans("EnableAndSetupModuleCron", $langs->transnoentitiesnoconv("Module2300Name"))); + print info_admin($langs->trans("EnableAndSetupModuleCron", $langs->transnoentitiesnoconv("Module2300Name"))); } - + print '
'; print ''; - + // Nb of generation already done print ''; print ''; print ''; - + // Date last print ''; print ''; - + print '
'.$langs->trans("NbOfGenerationDone").''; print $object->nb_gen_done?$object->nb_gen_done:'0'; print '
'; print $langs->trans("DateLastGeneration"); @@ -1419,19 +1419,19 @@ print dol_print_date($object->date_last_gen, 'dayhour'); print '
'; - + print '
'; - } - + } + print '
'; print '
'; print '
'; - + print '

'; - - + + // Lines print '
@@ -1439,11 +1439,11 @@ '; - + if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; } - + print ''; // Show object lines if (! empty($object->lines)) @@ -1452,28 +1452,28 @@ //$disablemove=1; $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 0); // No date selector for template invoice } - + // Form to add new line if ($object->statut == 0 && $user->rights->facture->creer && $action != 'valid' && $action != 'editline') { if ($action != 'editline') { $var = true; - + // Add free products/services - $object->formAddObjectLine(0, $mysoc, $soc); // No date selector for template invoice - + $object->formAddObjectLine(0, $mysoc, $soc); // No date selector for template invoice + $parameters = array(); $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook } } - + print "
\n"; - + print "
\n"; dol_fiche_end(); - + /** * Barre d'actions @@ -1513,19 +1513,19 @@ } print ''; - - + + print '
'; print ''; // ancre - - + + // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice')); - + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); - - + + print '
'; } @@ -1547,7 +1547,7 @@ if ($search_montant_ttc != '') $sql.= natural_search('f.total_ttc', $search_montant_ttc, 1); if ($search_frequency == '1') $sql.= ' AND f.frequency > 0'; if ($search_frequency == '0') $sql.= ' AND (f.frequency IS NULL or f.frequency = 0)'; - + if ($month > 0) { if ($year > 0 && empty($day)) @@ -1573,7 +1573,7 @@ else if ($year_date_when > 0) { $sql.= " AND f.date_when BETWEEN '".$db->idate(dol_get_first_day($year_date_when,1,false))."' AND '".$db->idate(dol_get_last_day($year_date_when,12,false))."'"; - } + } $nbtotalofrecords = -1; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -1581,15 +1581,15 @@ $result = $db->query($sql); $nbtotalofrecords = $db->num_rows($result); } - + $sql.= $db->order($sortfield, $sortorder); $sql.= $db->plimit($limit+1,$offset); - + $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); - + $param='&socid='.$socid; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; @@ -1614,9 +1614,9 @@ $tmpkey=preg_replace('/search_options_/','',$key); if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); } - + $massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"))); - + print '
'."\n"; if ($optioncss != '') print ''; print ''; @@ -1646,7 +1646,7 @@ print_liste_field_titre(''); // Field may contains ling text print "\n"; - + // Filters lines print ''; // Ref @@ -1752,8 +1752,8 @@ print $searchpitco; print ''; print "\n"; - - + + if ($num > 0) { $var=true; @@ -1777,7 +1777,7 @@ print ''.yn($objp->frequency?1:0).''; print ''.($objp->frequency ? dol_print_date($objp->date_last_gen,'day') : '').''; print ''.($objp->frequency ? dol_print_date($objp->date_when,'day') : '').''; - + print ''; if ($user->rights->facture->creer) { @@ -1805,7 +1805,7 @@ print ""; print ""; print "
"; - + $db->free($resql); } else