diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 47accf6b9a0d606b8aa56bb87d73b727af98ee57..ce22d192f81c57420ec63f140eceebf507a69528 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -41,6 +41,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/modules/propale/modules_propale.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/propal.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; @@ -305,7 +306,8 @@ if (empty($reshook)) $object->fk_project = GETPOST('projectid'); $object->modelpdf = GETPOST('model'); $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); + $object->note_private = GETPOST('note_private'); + $object->note_public = GETPOST('note_public'); $object->statut = Propal::STATUS_DRAFT; $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); @@ -331,7 +333,8 @@ if (empty($reshook)) $object->fk_project = GETPOST('projectid'); $object->modelpdf = GETPOST('model'); $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); + $object->note_private = GETPOST('note_private'); + $object->note_public = GETPOST('note_public'); $object->fk_incoterms = GETPOST('incoterm_id', 'int'); $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); @@ -1256,6 +1259,7 @@ $formother = new FormOther($db); $formfile = new FormFile($db); $formpropal = new FormPropal($db); $companystatic = new Societe($db); +if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } $now = dol_now(); @@ -1340,7 +1344,7 @@ if ($action == 'create') print '<table class="border" width="100%">'; // Reference - print '<tr><td class="fieldrequired">' . $langs->trans('Ref') . '</td><td colspan="2">' . $langs->trans("Draft") . '</td></tr>'; + print '<tr><td width="25%" 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">'; @@ -1444,13 +1448,20 @@ if ($action == 'create') } print '</td></tr>'; - // Model - print '<tr>'; - print '<td>' . $langs->trans("DefaultModel") . '</td>'; - print '<td colspan="2">'; - $liste = ModelePDFPropales::liste_modeles($db); - print $form->selectarray('model', $liste, ($conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT ? $conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT : $conf->global->PROPALE_ADDON_PDF)); - print "</td></tr>"; + // Project + if (! empty($conf->projet->enabled) && $socid > 0) + { + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); + + $langs->load("projects"); + print '<tr>'; + print '<td>' . $langs->trans("Project") . '</td><td colspan="2">'; + $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + print ' <a href="../projet/card.php?socid=' . $soc->id . '&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'">' . $langs->trans("AddProject") . '</a>'; + print '</td>'; + print '</tr>'; + } // Incoterms if (!empty($conf->incoterm->enabled)) @@ -1462,25 +1473,41 @@ if ($action == 'create') print '</td></tr>'; } - // Project - if (! empty($conf->projet->enabled) && $socid > 0) - { - $formproject = new FormProjets($db); + // Template to use by default + print '<tr>'; + print '<td>' . $langs->trans("DefaultModel") . '</td>'; + print '<td colspan="2">'; + $liste = ModelePDFPropales::liste_modeles($db); + print $form->selectarray('model', $liste, ($conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT ? $conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT : $conf->global->PROPALE_ADDON_PDF)); + print "</td></tr>"; - $projectid = 0; - if ($origin == 'project') - $projectid = ($originid ? $originid : 0); + // Public note + print '<tr>'; + print '<td class="border" valign="top">' . $langs->trans('NotePublic') . '</td>'; + print '<td valign="top" colspan="2">'; + $note_public = ''; + if (is_object($objectsrc)) // Take value from source object + { + $note_public = $objectsrc->note_public; + } + $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)) + { print '<tr>'; - print '<td>' . $langs->trans("Project") . '</td><td colspan="2">'; - - $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); - if ($numprojet == 0) { - $langs->load("projects"); - print ' <a href="../projet/card.php?socid=' . $soc->id . '&action=create">' . $langs->trans("AddProject") . '</a>'; + print '<td class="border" valign="top">' . $langs->trans('NotePrivate') . '</td>'; + print '<td valign="top" colspan="2">'; + $note_private = ''; + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) // Take value from source object + { + $note_private = $objectsrc->note_private; } - print '</td>'; - print '</tr>'; + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); + print $doleditor->Create(1); + // print '<textarea name="note_private" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'.</textarea> + print '</td></tr>'; } // Other attributes diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 5a4b434286c839c0cbd7ddacb12824d4985e2658..fcd96f8c898dc3de2536ef4d884413246b5b45c3 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -1214,6 +1214,7 @@ llxHeader('', $langs->trans('Order'), 'EN:Customers_Orders|FR:Commandes_Clients| $form = new Form($db); $formfile = new FormFile($db); $formorder = new FormOrder($db); +if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } /** * ******************************************************************* @@ -1320,7 +1321,7 @@ if ($action == 'create' && $user->rights->commande->creer) print '<table class="border" width="100%">'; // Reference - print '<tr><td class="fieldrequired">' . $langs->trans('Ref') . '</td><td colspan="2">' . $langs->trans("Draft") . '</td></tr>'; + print '<tr><td width="25%" class="fieldrequired">' . $langs->trans('Ref') . '</td><td colspan="2">' . $langs->trans("Draft") . '</td></tr>'; // Reference client print '<tr><td>' . $langs->trans('RefCustomer') . '</td><td colspan="2">'; @@ -1422,14 +1423,16 @@ if ($action == 'create' && $user->rights->commande->creer) // Project if (! empty($conf->projet->enabled) && $socid > 0) { - $formproject = new FormProjets($db); + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); - print '<tr><td>' . $langs->trans('Project') . '</td><td colspan="2">'; + $langs->load("projects"); + print '<tr>'; + print '<td>' . $langs->trans("Project") . '</td><td colspan="2">'; $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); - if ($numprojet == 0) { - print ' <a href="' . DOL_URL_ROOT . '/projet/card.php?socid=' . $soc->id . '&action=create">' . $langs->trans("AddProject") . '</a>'; - } - print '</td></tr>'; + print ' <a href="../projet/card.php?socid=' . $soc->id . '&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'">' . $langs->trans("AddProject") . '</a>'; + print '</td>'; + print '</tr>'; } // Incoterms @@ -1458,29 +1461,30 @@ if ($action == 'create' && $user->rights->commande->creer) print $form->selectarray('model', $liste, $conf->global->COMMANDE_ADDON_PDF); print "</td></tr>"; - // Note publique + // Note public print '<tr>'; print '<td class="border" valign="top">' . $langs->trans('NotePublic') . '</td>'; print '<td valign="top" colspan="2">'; - $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print '<textarea name="note_public" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_public.'</textarea>'; print '</td></tr>'; - // Note privee + // Note private if (empty($user->societe_id)) { print '<tr>'; print '<td class="border" valign="top">' . $langs->trans('NotePrivate') . '</td>'; print '<td valign="top" colspan="2">'; - $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print '<textarea name="note" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'</textarea>'; print '</td></tr>'; } - if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) + { // TODO for compatibility if ($origin == 'contrat') { // Calcul contrat->price (HT), contrat->total (TTC), contrat->tva @@ -1514,8 +1518,11 @@ if ($action == 'create' && $user->rights->commande->creer) } print '<tr><td>' . $langs->trans('TotalTTC') . '</td><td colspan="2">' . price($objectsrc->total_ttc) . "</td></tr>"; - } else { - if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { + } + else + { + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) + { /* * Services/produits predefinis */ diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 410377c5683d47dc20196d3c8dbec5fa6ee4435d..379d2d2ee5ddaa9a9b2bc2a410373edd45333dae 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1854,6 +1854,8 @@ $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); $bankaccountstatic = new Account($db); +if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } + $now = dol_now(); llxHeader('', $langs->trans('Bill'), 'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); @@ -2080,22 +2082,21 @@ if ($action == 'create') } print '<tr><td valign="top" class="fieldrequired">' . $langs->trans('Type') . '</td><td colspan="2">'; - print '<table class="nobordernopadding">' . "\n"; + + print '<div class="tagtable">' . "\n"; // Standard invoice - print '<tr height="18"><td width="16px" valign="middle">'; - print '<input type="radio" id="radio_standard" name="type" value="0"' . (GETPOST('type') == 0 ? ' checked' : '') . '>'; - print '</td><td valign="middle">'; - $desc = $form->textwithpicto($langs->trans("InvoiceStandardAsk"), $langs->transnoentities("InvoiceStandardDesc"), 1); + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" id="radio_standard" name="type" value="0"' . (GETPOST('type') == 0 ? ' checked' : '') . '> '; + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceStandardAsk"), $langs->transnoentities("InvoiceStandardDesc"), 1, 'help', '', 0, 3); print $desc; - print '</td></tr>' . "\n"; + print '</div></div>'; if ((empty($origin)) || ((($origin == 'propal') || ($origin == 'commande')) && (! empty($originid)))) { // Deposit - print '<tr height="18"><td width="16px" valign="middle">'; - print '<input type="radio" id="radio_deposit" name="type" value="3"' . (GETPOST('type') == 3 ? ' checked' : '') . '>'; - print '</td><td valign="middle" class="nowrap">'; + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" id="radio_deposit" name="type" value="3"' . (GETPOST('type') == 3 ? ' checked' : '') . '> '; print '<script type="text/javascript" language="javascript"> jQuery(document).ready(function() { jQuery("#typedeposit, #valuedeposit").click(function() { @@ -2103,9 +2104,13 @@ if ($action == 'create') }); }); </script>'; - $desc = $form->textwithpicto($langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1); - print '<table class="nobordernopadding"><tr><td>' . $desc . '</td>'; - if (($origin == 'propal') || ($origin == 'commande')) { + + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1, 'help', '', 0, 3); + print '<table class="nobordernopadding"><tr><td>'; + print $desc; + print '</td>'; + if (($origin == 'propal') || ($origin == 'commande')) + { print '<td class="nowrap" style="padding-left: 5px">'; $arraylist = array('amount' => 'FixAmount','variable' => 'VarAmount'); print $form->selectarray('typedeposit', $arraylist, GETPOST('typedeposit'), 0, 0, 0, '', 1); @@ -2113,44 +2118,41 @@ if ($action == 'create') print '<td class="nowrap" style="padding-left: 5px">' . $langs->trans('Value') . ':<input type="text" id="valuedeposit" name="valuedeposit" size="3" value="' . GETPOST('valuedeposit', 'int') . '"/>'; } print '</td></tr></table>'; - print '</td></tr>' . "\n"; + + print '</div></div>'; } if ($socid > 0) { if (! empty($conf->global->INVOICE_USE_SITUATION)) { - // First situation invoice - print '<tr height="18"><td width="16px" valign="middle">'; - print '<input type="radio" name="type" value="5"' . (GETPOST('type') == 5 ? ' checked' : '') . '>'; - print '</td><td valign="middle">'; - $desc = $form->textwithpicto($langs->trans("InvoiceFirstSituationAsk"), $langs->transnoentities("InvoiceFirstSituationDesc"), 1); - print $desc; - print '</td></tr>' . "\n"; - - // Next situation invoice - $opt = $form->load_situation_invoices(GETPOST('originid'), $socid); - print '<tr height="18"><td valign="middle">'; - print '<input type="radio" name="type" value="5"' . (GETPOST('type') == 5 && GETPOST('originid') ? ' checked' : '') . ' '; - if ($opt == '<option value ="0" selected>' . $langs->trans('NoSituations') . '</option>' || (GETPOST('origin') && GETPOST('origin') != 'facture')) print 'disabled'; - print '>'; - print '</td><td valign="middle">'; - $text = $langs->trans("InvoiceSituationAsk") . ' '; - $text .= '<select class="flat" id="situations" name="situations">'; - $text .= $opt; - $text .= '</select>'; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceSituationDesc"), 1); - print $desc; - print '</td></tr>' . "\n"; + // First situation invoice + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" name="type" value="5"' . (GETPOST('type') == 5 ? ' checked' : '') . '> '; + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceFirstSituationAsk"), $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3); + print $desc; + print '</div></div>'; + + // Next situation invoice + $opt = $form->load_situation_invoices(GETPOST('originid'), $socid); + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" name="type" value="5"' . (GETPOST('type') == 5 && GETPOST('originid') ? ' checked' : ''); + if ($opt == ('<option value ="0" selected>' . $langs->trans('NoSituations') . '</option>') || (GETPOST('origin') && GETPOST('origin') != 'facture')) $tmp.=' disabled'; + $tmp.= '> '; + $text = $tmp.$langs->trans("InvoiceSituationAsk") . ' '; + $text .= '<select class="flat" id="situations" name="situations">'; + $text .= $opt; + $text .= '</select>'; + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceSituationDesc"), 1, 'help', '', 0, 3); + print $desc; + print '</div></div>'; } // Replacement - print '<tr height="18"><td valign="middle">'; - print '<input type="radio" name="type" id="radio_replacement" value="1"' . (GETPOST('type') == 1 ? ' checked' : ''); - if (! $options) - print ' disabled'; - print '>'; - print '</td><td valign="middle">'; + print '<!-- replacement line --><div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" name="type" id="radio_replacement" value="1"' . (GETPOST('type') == 1 ? ' checked' : ''); + if (! $options) $tmp.=' disabled'; + $tmp.='> '; print '<script type="text/javascript" language="javascript"> jQuery(document).ready(function() { jQuery("#fac_replacement").change(function() { @@ -2158,7 +2160,7 @@ if ($action == 'create') }); }); </script>'; - $text = $langs->trans("InvoiceReplacementAsk") . ' '; + $text = $tmp.$langs->trans("InvoiceReplacementAsk") . ' '; $text .= '<select class="flat" name="fac_replacement" id="fac_replacement"'; if (! $options) $text .= ' disabled'; @@ -2170,20 +2172,19 @@ if ($action == 'create') $text .= '<option value="-1">' . $langs->trans("NoReplacableInvoice") . '</option>'; } $text .= '</select>'; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); print $desc; - print '</td></tr>' . "\n"; + print '</div></div>'; } else { - print '<tr height="18"><td valign="middle">'; - print '<input type="radio" name="type" id="radio_replacement" value="0" disabled>'; - print '</td><td valign="middle">'; - $text = $langs->trans("InvoiceReplacement") . ' '; + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" name="type" id="radio_replacement" value="0" disabled> '; + $text = $tmp.$langs->trans("InvoiceReplacement") . ' '; $text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') '; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); print $desc; - print '</td></tr>' . "\n"; + print '</div></div>'; } if (empty($origin)) @@ -2191,12 +2192,10 @@ if ($action == 'create') if ($socid > 0) { // Credit note - print '<tr height="18"><td valign="top">'; - print '<input type="radio" id="radio_creditnote" name="type" value="2"' . (GETPOST('type') == 2 ? ' checked' : ''); - if (! $optionsav) - print ' disabled'; - print '>'; - print '</td><td valign="top">'; + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" id="radio_creditnote" name="type" value="2"' . (GETPOST('type') == 2 ? ' checked' : ''); + if (! $optionsav) $tmp.=' disabled'; + $tmp.= '> '; // Show credit note options only if we checked credit note print '<script type="text/javascript" language="javascript"> jQuery(document).ready(function() { @@ -2212,7 +2211,7 @@ if ($action == 'create') }); }); </script>'; - $text = $langs->transnoentities("InvoiceAvoirAsk") . ' '; + $text = $tmp.$langs->transnoentities("InvoiceAvoirAsk") . ' '; // $text.='<input type="text" value="">'; $text .= '<select class="flat" name="fac_avoir" id="fac_avoir"'; if (! $optionsav) @@ -2225,7 +2224,7 @@ if ($action == 'create') $text .= '<option value="-1">' . $langs->trans("NoInvoiceToCorrect") . '</option>'; } $text .= '</select>'; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); print $desc; print '<div id="credit_note_options">'; @@ -2233,22 +2232,22 @@ if ($action == 'create') print '<br> <input type="checkbox" name="invoiceAvoirWithPaymentRestAmount" id="invoiceAvoirWithPaymentRestAmount" value="1" onclick="if($(this).is(\':checked\') ) { $(\'#radio_creditnote\').prop("checked", true); $(\'#invoiceAvoirWithLines\').removeAttr(\'checked\'); }" '.(GETPOST('invoiceAvoirWithPaymentRestAmount','int')>0 ? 'checked':'').' /> <label for="invoiceAvoirWithPaymentRestAmount">'.$langs->trans('invoiceAvoirWithPaymentRestAmount')."</label>"; print '</div>'; - print '</td></tr>' . "\n"; + print '</div></div>'; } else { - print '<tr height="18"><td valign="middle">'; - print '<input type="radio" name="type" id="radio_creditnote" value="0" disabled>'; - print '</td><td valign="middle">'; - $text = $langs->trans("InvoiceAvoir") . ' '; + print '<div class="tagtr listofinvoicetype"><div class="tagtd listofinvoicetype">'; + $tmp='<input type="radio" name="type" id="radio_creditnote" value="0" disabled> '; + $text = $tmp.$langs->trans("InvoiceAvoir") . ' '; $text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') '; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); print $desc; - print '</td></tr>' . "\n"; + print '</div></div>' . "\n"; } } - print '</table>'; + print '</div>'; + print '</td></tr>'; if ($socid > 0) @@ -2293,12 +2292,15 @@ if ($action == 'create') print '</td></tr>'; // Project - if (! empty($conf->projet->enabled) && $socid > 0) { - $formproject = new FormProjets($db); + if (! empty($conf->projet->enabled) && $socid > 0) + { + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); $langs->load('projects'); print '<tr><td>' . $langs->trans('Project') . '</td><td colspan="2">'; - $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + print ' <a href="../projet/card.php?socid=' . $soc->id . '&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'">' . $langs->trans("AddProject") . '</a>'; print '</td></tr>'; } @@ -2320,7 +2322,7 @@ if ($action == 'create') print $object->showOptionals($extrafields, 'edit'); } - // Modele PDF + // Template to use by default print '<tr><td>' . $langs->trans('Model') . '</td>'; print '<td>'; include_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php'; @@ -2337,7 +2339,7 @@ if ($action == 'create') { $note_public = $objectsrc->note_public; } - $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // Private note @@ -2351,7 +2353,7 @@ if ($action == 'create') { $note_private = $objectsrc->note_private; } - $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print '<textarea name="note_private" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'.</textarea> print '</td></tr>'; @@ -2418,7 +2420,9 @@ if ($action == 'create') print '<tr><td>' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '</td><td colspan="2">' . price($objectsrc->total_localtax2) . "</td></tr>"; } print '<tr><td>' . $langs->trans('TotalTTC') . '</td><td colspan="2">' . price($objectsrc->total_ttc) . "</td></tr>"; - } else { + } + else + { // Show deprecated optional form to add product line here if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { print '<tr><td colspan="3">'; @@ -3486,50 +3490,50 @@ if ($action == 'create') // Show global modifiers if (! empty($conf->global->INVOICE_US_SITUATION)) { - if ($object->situation_cycle_ref && $object->statut == 0) { - print '<tr class="liste_titre nodrag nodrop">'; - print '<form name="updatealllines" id="updatealllines" action="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '"#updatealllines" method="POST">'; - print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '" />'; - print '<input type="hidden" name="action" value="updatealllines" />'; - print '<input type="hidden" name="id" value="' . $object->id . '" />'; - - if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { - print '<td align="center" width="5"> </td>'; - } - print '<td>' . $langs->trans('ModifyAllLines') . '</td>'; - print '<td align="right" width="50"> </td>'; - print '<td align="right" width="80"> </td>'; - if ($inputalsopricewithtax) print '<td align="right" width="80"> </td>'; - print '<td align="right" width="50"> </td>'; - print '<td align="right" width="50"> </td>'; - print '<td align="right" width="50">' . $langs->trans('Progress') . '</td>'; - if (! empty($conf->margin->enabled) && empty($user->societe_id)) - { - print '<td align="right" class="margininfos" width="80"> </td>'; - if ((! empty($conf->global->DISPLAY_MARGIN_RATES) || ! empty($conf->global->DISPLAY_MARK_RATES)) && $user->rights->margins->liretous) { - print '<td align="right" class="margininfos" width="50"> </td>'; - } - } - print '<td align="right" width="50"> </td>'; - print '<td> </td>'; - print '<td width="10"> </td>'; - print '<td width="10"> </td>'; - print "</tr>\n"; - - if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { - print '<td align="center" width="5"> </td>'; - } - print '<tr width="100%" height="18" class="nodrag nodrop">'; - print '<td> </td>'; - print '<td width="50"> </td>'; - print '<td width="80"> </td>'; - print '<td width="50"> </td>'; - print '<td width="50"> </td>'; - print '<td align="right" class="nowrap"><input type="text" size="1" value="" name="all_progress">%</td>'; - print '<td colspan="4" align="right"><input class="button" type="submit" name="all_percent" value="Modifier" /></td>'; - print '</tr>'; - print '</form>'; - } + if ($object->situation_cycle_ref && $object->statut == 0) { + print '<tr class="liste_titre nodrag nodrop">'; + print '<form name="updatealllines" id="updatealllines" action="' . $_SERVER['PHP_SELF'] . '?id=' . $object->id . '"#updatealllines" method="POST">'; + print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '" />'; + print '<input type="hidden" name="action" value="updatealllines" />'; + print '<input type="hidden" name="id" value="' . $object->id . '" />'; + + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { + print '<td align="center" width="5"> </td>'; + } + print '<td>' . $langs->trans('ModifyAllLines') . '</td>'; + print '<td align="right" width="50"> </td>'; + print '<td align="right" width="80"> </td>'; + if ($inputalsopricewithtax) print '<td align="right" width="80"> </td>'; + print '<td align="right" width="50"> </td>'; + print '<td align="right" width="50"> </td>'; + print '<td align="right" width="50">' . $langs->trans('Progress') . '</td>'; + if (! empty($conf->margin->enabled) && empty($user->societe_id)) + { + print '<td align="right" class="margininfos" width="80"> </td>'; + if ((! empty($conf->global->DISPLAY_MARGIN_RATES) || ! empty($conf->global->DISPLAY_MARK_RATES)) && $user->rights->margins->liretous) { + print '<td align="right" class="margininfos" width="50"> </td>'; + } + } + print '<td align="right" width="50"> </td>'; + print '<td> </td>'; + print '<td width="10"> </td>'; + print '<td width="10"> </td>'; + print "</tr>\n"; + + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { + print '<td align="center" width="5"> </td>'; + } + print '<tr width="100%" class="nodrag nodrop">'; + print '<td> </td>'; + print '<td width="50"> </td>'; + print '<td width="80"> </td>'; + print '<td width="50"> </td>'; + print '<td width="50"> </td>'; + print '<td align="right" class="nowrap"><input type="text" size="1" value="" name="all_progress">%</td>'; + print '<td colspan="4" align="right"><input class="button" type="submit" name="all_percent" value="Modifier" /></td>'; + print '</tr>'; + print '</form>'; + } } // Show object lines diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index b7ea6bd798b3b472e592e53f752f0f21c1672ef9..791f01d593271e2acd73b48522e88d77f97c7330 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -39,6 +39,7 @@ $ref=GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); $backtopage=GETPOST('backtopage','alpha'); $cancel=GETPOST('cancel','alpha'); +$status=GETPOST('status','int'); if ($id == '' && $ref == '' && ($action != "create" && $action != "add" && $action != "update" && ! $_POST["cancel"])) accessforbidden(); @@ -139,6 +140,7 @@ if (empty($reshook)) $object->datec=dol_now(); $object->date_start=$date_start; $object->date_end=$date_end; + $object->statuts = $status; // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$object); @@ -167,8 +169,16 @@ if (empty($reshook)) { $db->commit(); - header("Location:card.php?id=".$object->id); - exit; + if ($backtopage) + { + header("Location: ".$backtopage.'&projectid='.$object->id); + exit; + } + else + { + header("Location:card.php?id=".$object->id); + exit; + } } else { @@ -444,6 +454,15 @@ if ($action == 'create' && $user->rights->projet->creer) else print $text; print '</td></tr>'; + // Status + if ($status != '') + { + print '<tr><td>'.$langs->trans("Status").'</td><td>'; + print '<input type="hidden" name="status" value="'.$status.'">'; + print $object->LibStatut($status, 4); + print '</td></tr>'; + } + // Public print '<tr><td>'.$langs->trans("Visibility").'</td><td>'; $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject")); diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 8d3e9f39a085ca621c47ad0dd0ceb5172f8d020f..ff005dd088f3578f3f23f22bcc2cdb252494bc92 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -125,12 +125,12 @@ class Project extends CommonObject $sql.= ", '" . $this->db->escape($this->description) . "'"; $sql.= ", " . ($this->socid > 0 ? $this->socid : "null"); $sql.= ", " . $user->id; - $sql.= ", 0"; + $sql.= ", ".(is_numeric($this->statuts) ? $this->statuts : '0'); $sql.= ", " . ($this->public ? 1 : 0); $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", " . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); $sql.= ", " . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); - $sql.= ", " . ($this->budget_amount != ''?price2num($this->budget_amount):'null'); + $sql.= ", " . ($this->budget_amount != '' ? price2num($this->budget_amount) : 'null'); $sql.= ", ".$conf->entity; $sql.= ")"; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 2a63e558801f2c25567b7a6ec582992616b4d6ba..93bd5a09d9aad4a1cef12cebf1a248d46fe5013b 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -448,6 +448,10 @@ textarea.centpercent { #formuserfile_link { margin-left: 1px; } +.listofinvoicetype { + height: 28px; + vertical-align: middle; +} /* Style to move picto into left of button */ /*