diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php
index 198b08cb4511255d88ea0d1a383a7236dd2786fb..de76577e78b7c308f4198a33818e82b4d100d14f 100644
--- a/htdocs/compta/facture/fiche-rec.php
+++ b/htdocs/compta/facture/fiche-rec.php
@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
@@ -128,6 +128,8 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include,
include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once
+if (GETPOST('cancel')) $action='';
+
// Create predefined invoice
if ($action == 'add')
{
@@ -266,6 +268,16 @@ elseif ($action == 'classin' && $user->rights->facture->creer)
$object->setProject(GETPOST('projectid', 'int'));
}
// Set bank account
+elseif ($action == 'setref' && $user->rights->facture->creer)
+{
+ $result=$object->setValueFrom('titre', GETPOST('ref', 'alpha'));
+ if ($result > 0)
+ {
+ $object->titre = GETPOST('ref', 'alpha');
+ $object->ref = $object->titre;
+ }
+}
+// Set bank account
elseif ($action == 'setbankaccount' && $user->rights->facture->creer)
{
$result=$object->setBankAccount(GETPOST('fk_account', 'int'));
@@ -840,15 +852,15 @@ if ($action == 'create')
$object->fetch_thirdparty();
- // Third party
- print '<tr><td class="titlefieldcreate">'.$langs->trans("Customer").'</td><td>'.$object->thirdparty->getNomUrl(1,'customer').'</td>';
- print '</tr>';
-
// Title
- print '<tr><td class="fieldrequired">'.$langs->trans("Title").'</td><td>';
+ print '<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans("Title").'</td><td>';
print '<input class="flat quatrevingtpercent" type="text" name="titre" value="'.$_POST["titre"].'">';
print '</td></tr>';
+ // Third party
+ print '<tr><td class="titlefieldcreate">'.$langs->trans("Customer").'</td><td>'.$object->thirdparty->getNomUrl(1,'customer').'</td>';
+ print '</tr>';
+
// Note public
print '<tr><td>'.$langs->trans("NotePublic").'</td><td valign="top">';
print '<textarea class="flat centpercent" name="note_public" wrap="soft" rows="'.ROWS_4.'"></textarea>';
@@ -950,176 +962,7 @@ if ($action == 'create')
}
print "</table>\n";
-
- /*
- print '<table class="notopnoleftnoright" width="100%">';
- print '<tr><td colspan="3">';
-
- $sql = 'SELECT l.fk_product, l.product_type, l.label as custom_label, l.description, l.qty, l.rowid, l.tva_tx,';
- $sql.= ' l.fk_remise_except,';
- $sql.= ' l.remise_percent, l.subprice, l.info_bits,';
- $sql.= ' l.total_ht, l.total_tva as total_vat, l.total_ttc,';
- $sql.= ' l.date_start,';
- $sql.= ' l.date_end,';
- $sql.= ' l.product_type,';
- $sql.= ' l.fk_unit,';
- $sql.= ' p.ref, p.fk_product_type, p.label as product_label,';
- $sql.= ' p.description as product_desc';
- $sql.= " FROM ".MAIN_DB_PREFIX."facturedet as l";
- $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product = p.rowid";
- $sql.= " WHERE l.fk_facture = ".$object->id;
- $sql.= " ORDER BY l.rowid";
-
- $result = $db->query($sql);
- if ($result)
- {
- $num = $db->num_rows($result);
- $i = 0; $total = 0;
-
- echo '<table class="noborder" width="100%">';
- if ($num)
- {
- print '<tr class="liste_titre">';
- print '<td>'.$langs->trans("Description").'</td>';
- print '<td align="center">'.$langs->trans("VAT").'</td>';
- print '<td align="center">'.$langs->trans("Qty").'</td>';
- if ($conf->global->PRODUCT_USE_UNITS) {
- print '<td width="8%" align="left">'.$langs->trans("Unit").'</td>';
- }
- print '<td>'.$langs->trans("ReductionShort").'</td>';
- print '<td align="right">'.$langs->trans("TotalHT").'</td>';
- print '<td align="right">'.$langs->trans("TotalVAT").'</td>';
- print '<td align="right">'.$langs->trans("TotalTTC").'</td>';
- print '<td align="right">'.$langs->trans("PriceUHT").'</td>';
- if (empty($conf->global->PRODUIT_MULTIPRICES)) print '<td align="right">'.$langs->trans("CurrentProductPrice").'</td>';
- print "</tr>\n";
- }
- $var=true;
- while ($i < $num)
- {
- $objp = $db->fetch_object($result);
-
- if ($objp->fk_product > 0)
- {
- $product = New Product($db);
- $product->fetch($objp->fk_product);
- }
-
- $var=!$var;
- print "<tr ".$bc[$var].">";
-
- // Show product and description
- $type=(isset($objp->product_type)?$objp->product_type:$objp->fk_product_type);
- $product_static->fk_unit=$objp->fk_unit;
-
- if ($objp->fk_product > 0)
- {
- print '<td>';
-
- print '<a name="'.$objp->rowid.'"></a>'; // ancre pour retourner sur la ligne
-
- // Show product and description
- $product_static->fetch($objp->fk_product); // We need all information later
- $text=$product_static->getNomUrl(1);
- $text.= ' - '.(! empty($objp->custom_label)?$objp->custom_label:$objp->product_label);
- $description=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($objp->description));
- print $form->textwithtooltip($text,$description,3,'','',$i);
-
- // Show range
- print_date_range($db->jdate($objp->date_start), $db->jdate($objp->date_end));
-
- // Add description in form
- if (! empty($conf->global->PRODUIT_DESC_IN_FORM))
- print (! empty($objp->description) && $objp->description!=$objp->product_label)?'<br>'.dol_htmlentitiesbr($objp->description):'';
-
- print '</td>';
- }
- else
- {
- print '<td>';
- print '<a name="'.$objp->rowid.'"></a>'; // ancre pour retourner sur la ligne
-
- if ($type==1) $text = img_object($langs->trans('Service'),'service');
- else $text = img_object($langs->trans('Product'),'product');
-
- if (! empty($objp->custom_label)) {
-
- $text.= ' <strong>'.$objp->custom_label.'</strong>';
- print $form->textwithtooltip($text,dol_htmlentitiesbr($objp->description),3,'','',$i);
-
- } else {
-
- print $text.' '.nl2br($objp->description);
- }
-
- // Show range
- print_date_range($db->jdate($objp->date_start), $db->jdate($objp->date_end));
-
- print "</td>\n";
- }
-
- // Vat rate
- print '<td align="center">'.vatrate($objp->tva_tx).'%</td>';
-
- // Qty
- print '<td align="center">'.$objp->qty.'</td>';
-
- if ($conf->global->PRODUCT_USE_UNITS) {
- print '<td align="left">'.$product_static->getLabelOfUnit().'</td>';
- }
-
- // Percent
- if ($objp->remise_percent > 0)
- {
- print '<td align="right">'.$objp->remise_percent." %</td>\n";
- }
- else
- {
- print '<td> </td>';
- }
-
- // Total HT
- print '<td align="right">'.price($objp->total_ht)."</td>\n";
-
- // Total VAT
- print '<td align="right">'.price($objp->total_vat)."</td>\n";
-
- // Total TTC
- print '<td align="right">'.price($objp->total_ttc)."</td>\n";
-
- // Total Unit price
- print '<td align="right">'.price($objp->subprice)."</td>\n";
-
- // Current price of product
- if (empty($conf->global->PRODUIT_MULTIPRICES))
- {
- if ($objp->fk_product > 0)
- {
- $flag_price_may_change++;
- $prodprice=$product_static->price; // price HT
- print '<td align="right">'.price($prodprice)."</td>\n";
- }
- else
- {
- print '<td> </td>';
- }
- }
-
- print "</tr>";
-
- $i++;
- }
-
- $db->free($result);
-
- }
- else
- {
- print $db->error();
- }
- print "</table>";
- */
-
+
print '</td></tr>';
if ($flag_price_may_change)
@@ -1178,20 +1021,13 @@ else
$linkback = '<a href="' . DOL_URL_ROOT . '/compta/facture/fiche-rec.php' . (! empty($socid) ? '?socid=' . $socid : '') . '">' . $langs->trans("BackToList") . '</a>';
// Ref
- print '<tr><td width="20%">' . $langs->trans('Ref') . '</td>';
- print '<td colspan="5">';
- $morehtmlref = '';
- /*
- require_once DOL_DOCUMENT_ROOT . '/core/class/discount.class.php';
- $discount = new DiscountAbsolute($db);
- $result = $discount->fetch(0, $object->id);
- if ($result > 0) {
- $morehtmlref = ' (' . $langs->trans("CreditNoteConvertedIntoDiscount", $discount->getNomUrl(1, 'discount')) . ')';
- }
- if ($result < 0) {
- dol_print_error('', $discount->error);
- }*/
- print $form->showrefnav($object, 'ref', $linkback, 1, 'titre', 'titre', $morehtmlref);
+ print '<tr><td class="titlefield">';
+ //print $langs->trans('Ref');
+ print $form->editfieldkey($langs->trans("Ref"), 'ref', $object->ref, $object, $user->rights->facture->creer);
+ print '</td>';
+ print '<td colspan="3">';
+ $morehtmlref = $form->editfieldval($langs->trans("Ref"), 'ref', $object->ref, $object, $user->rights->facture->creer, 'string');
+ print $form->showrefnav($object, 'ref', $linkback, 1, 'titre', 'none', $morehtmlref);
print '</td></tr>';
diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php
index fd92db95dfcfb843e9a566c29800dcb64ef469f5..69e969c56d964f254fe9f3401763f2afac039832 100644
--- a/htdocs/contrat/class/contrat.class.php
+++ b/htdocs/contrat/class/contrat.class.php
@@ -2127,6 +2127,7 @@ class Contrat extends CommonObject
$this->ref_supplier = 'SPECIMENSUPP';
$this->socid = 1;
$this->statut= 0;
+ $this->date_creation = (dol_now() - 3600 * 24 * 7);
$this->date_contrat = dol_now();
$this->commercial_signature_id = 1;
$this->commercial_suivi_id = 1;
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 2929044a858a994ba545e4b187b37473511860db..cebb623823acb7655f6a3fe4518ebd926f645b77 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -5580,15 +5580,15 @@ class Form
* @param string $paramid Name of parameter to use to name the id into the URL next/previous link
* @param string $morehtml More html content to output just before the nav bar
* @param int $shownav Show Condition (navigation is shown if value is 1)
- * @param string $fieldid Nom du champ en base a utiliser pour select next et previous (we make the select max and min on this field)
- * @param string $fieldref Nom du champ objet ref (object->ref) a utiliser pour select next et previous
+ * @param string $fieldid Name of field id into database to use for select next and previous (we make the select max and min on this field)
+ * @param string $fieldref Name of field ref of object (object->ref) to show or 'none' to not show ref.
* @param string $morehtmlref More html to show after ref
* @param string $moreparam More param to add in nav link url.
* @param int $nodbprefix Do not include DB prefix to forge table name
* @param string $morehtmlleft More html code to show before ref
* @param string $morehtmlstatus More html code to show under navigation arrows (status place)
* @param string $morehtmlright More html code to show after ref
- * @return string Portion HTML avec ref + boutons nav
+ * @return string Portion HTML with ref + navigation buttons
*/
function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='',$nodbprefix=0,$morehtmlleft='',$morehtmlstatus='',$morehtmlright='')
{
@@ -5613,7 +5613,7 @@ class Form
$ret.='<div class="inline-block floatleft valignmiddle refid'.(($shownav && ($previous_ref || $next_ref))?' refidpadding':'').'">';
- // For thirdparty and contact, the ref is the id, so we show something else
+ // For thirdparty, contact, user, member, the ref is the id, so we show something else
if ($object->element == 'societe')
{
$ret.=dol_htmlentities($object->name);
@@ -5622,7 +5622,7 @@ class Form
{
$ret.=dol_htmlentities($object->getFullName($langs));
}
- else $ret.=dol_htmlentities($object->$fieldref);
+ else if ($fieldref != 'none') $ret.=dol_htmlentities($object->$fieldref);
if ($morehtmlref)
{
$ret.=' '.$morehtmlref;
diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php
index 2785a0aeafcb1ef8a27152dc8b37f703c8f15f14..7731c7473e5a945f8518fc487468b21bcdfa9fe5 100644
--- a/htdocs/core/lib/geturl.lib.php
+++ b/htdocs/core/lib/geturl.lib.php
@@ -59,6 +59,9 @@ function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addhea
if (count($addheaders)) curl_setopt($ch, CURLOPT_HTTPHEADER, $addheaders);
curl_setopt($ch, CURLINFO_HEADER_OUT, true); // To be able to retrieve request header and log it
+ // TLSv1 by default or change to TLSv1.2 in module configuration
+ //curl_setopt($ch, CURLOPT_SSLVERSION, (empty($conf->global->MAIN_CURL_SSLVERSION)?1:$conf->global->MAIN_CURL_SSLVERSION));
+
//turning off the server and peer verification(TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php
index a2828fb466acd8d4460b518b73c9aa0f7c69b7e8..a25c9918408f47beeb9aadd14ac41c39fdf717fe 100644
--- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php
+++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php
@@ -554,7 +554,7 @@ class pdf_strato extends ModelePDFContract
$posy+=4;
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
- $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->date_creation,"day",false,$outputlangs,true), '', 'R');
+ $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->date_contrat,"day",false,$outputlangs,true), '', 'R');
if ($object->thirdparty->code_client)
{