Merge branch '3.7' into bug-1533
This commit is contained in:
commit
1179f722af
@ -182,6 +182,7 @@ Dolibarr better:
|
|||||||
- Fix: Show sender Country on PDF docs when sender Country <> receiver Country
|
- Fix: Show sender Country on PDF docs when sender Country <> receiver Country
|
||||||
- Fix: [ bug #1624 ] Use lowest buying price for margin when selling with POS
|
- Fix: [ bug #1624 ] Use lowest buying price for margin when selling with POS
|
||||||
- Fix: [ bug #1749 ] Undefined $mailchimp
|
- Fix: [ bug #1749 ] Undefined $mailchimp
|
||||||
|
- Fix: [ bug #1736 ] Failing supplier Elephant numeration module with some masks
|
||||||
|
|
||||||
***** ChangeLog for 3.6.1 compared to 3.6.* *****
|
***** ChangeLog for 3.6.1 compared to 3.6.* *****
|
||||||
For users:
|
For users:
|
||||||
|
|||||||
@ -678,7 +678,7 @@ if ($action == 'create')
|
|||||||
$listofuserid=dol_json_decode($_SESSION['assignedtouser'], true);
|
$listofuserid=dol_json_decode($_SESSION['assignedtouser'], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print $form->select_dolusers_forevent(($action=='create'?'add':'update'),'assignedtouser',1);
|
print $form->select_dolusers_forevent(($action=='create'?'add':'update'), 'assignedtouser', 1, '', 0, '', '', 0, 0, 0, 'AND u.statut != 0');
|
||||||
if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': <input id="transparency" type="checkbox" name="transparency"'.(((! isset($_GET['transparency']) && ! isset($_POST['transparency'])) || GETPOST('transparency'))?' checked="checked"':'').'> '.$langs->trans("Busy");
|
if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': <input id="transparency" type="checkbox" name="transparency"'.(((! isset($_GET['transparency']) && ! isset($_POST['transparency'])) || GETPOST('transparency'))?' checked="checked"':'').'> '.$langs->trans("Busy");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -925,7 +925,7 @@ if ($id > 0)
|
|||||||
$listofuserid=dol_json_decode($_SESSION['assignedtouser'], true);
|
$listofuserid=dol_json_decode($_SESSION['assignedtouser'], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print $form->select_dolusers_forevent(($action=='create'?'add':'update'),'assignedtouser',1);
|
print $form->select_dolusers_forevent(($action=='create'?'add':'update'), 'assignedtouser', 1, '', 0, '', '', 0, 0, 0, 'AND u.statut != 0');
|
||||||
if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': <input id="transparency" type="checkbox" name="transparency"'.($listofuserid[$user->id]['transparency']?' checked="checked"':'').'">'.$langs->trans("Busy");
|
if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': <input id="transparency" type="checkbox" name="transparency"'.($listofuserid[$user->id]['transparency']?' checked="checked"':'').'">'.$langs->trans("Busy");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -2109,12 +2109,14 @@ if ($action == 'create')
|
|||||||
|
|
||||||
// Create an invoice and classify billed
|
// Create an invoice and classify billed
|
||||||
if ($object->statut == 2) {
|
if ($object->statut == 2) {
|
||||||
if (! empty($conf->facture->enabled) && $user->rights->facture->creer) {
|
if (! empty($conf->facture->enabled) && $user->rights->facture->creer)
|
||||||
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&origin=' . $object->element . '&originid=' . $object->id . '&socid=' . $object->socid . '">' . $langs->trans("AddBill") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . DOL_URL_ROOT . '/compta/facture.php?action=create&origin=' . $object->element . '&originid=' . $object->id . '&socid=' . $object->socid . '">' . $langs->trans("AddBill") . '</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$arraypropal = $object->getInvoiceArrayList();
|
$arrayofinvoiceforpropal = $object->getInvoiceArrayList();
|
||||||
if (is_array($arraypropal) && count($arraypropal) > 0) {
|
if ((is_array($arrayofinvoiceforpropal) && count($arrayofinvoiceforpropal) > 0) || ! empty($conf->global->WORKFLOW_PROPAL_CAN_CLASSIFIED_BILLED_WITHOUT_INVOICES))
|
||||||
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled&socid=' . $object->socid . '">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=classifybilled&socid=' . $object->socid . '">' . $langs->trans("ClassifyBilled") . '</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1987,16 +1987,19 @@ class Propal extends CommonObject
|
|||||||
{
|
{
|
||||||
$linkedInvoices[] = $objectid[$i];
|
$linkedInvoices[] = $objectid[$i];
|
||||||
}
|
}
|
||||||
// Cas des factures liees via la commande
|
// Cas des factures liees par un autre objet (ex: commande)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->fetchObjectLinked($objectid[$i],$objecttype);
|
$this->fetchObjectLinked($objectid[$i],$objecttype);
|
||||||
foreach($this->linkedObjectsIds as $subobjecttype => $subobjectid)
|
foreach($this->linkedObjectsIds as $subobjecttype => $subobjectid)
|
||||||
{
|
{
|
||||||
$numj=count($subobjectid);
|
$numj=count($subobjectid);
|
||||||
for ($j=0;$j<$numj;$j++)
|
for ($j=0;$j<$numj;$j++)
|
||||||
{
|
{
|
||||||
$linkedInvoices[] = $subobjectid[$j];
|
if ($subobjecttype == 'facture')
|
||||||
|
{
|
||||||
|
$linkedInvoices[] = $subobjectid[$j];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -102,7 +102,7 @@ if ($conf->salaries->enabled)
|
|||||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||||
$sql.= " AND s.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
$sql.= " AND s.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||||
}
|
}
|
||||||
if (preg_match('/^s/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
if (preg_match('/^s\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||||
|
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
@ -204,7 +204,7 @@ if ($conf->tax->enabled)
|
|||||||
$sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
$sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
|
||||||
$sql .= ")";
|
$sql .= ")";
|
||||||
}
|
}
|
||||||
if (! preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
if (preg_match('/^cs\./',$sortfield) || preg_match('/^c\./',$sortfield) || preg_match('/^pc\./',$sortfield) || preg_match('/^pct\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||||
//$sql.= $db->plimit($limit+1,$offset);
|
//$sql.= $db->plimit($limit+1,$offset);
|
||||||
//print $sql;
|
//print $sql;
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ if ($conf->tax->enabled)
|
|||||||
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
// ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
|
||||||
$sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
$sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
|
||||||
}
|
}
|
||||||
if (preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
if (preg_match('/^pv\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder);
|
||||||
|
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr>
|
/* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr>
|
||||||
|
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
@ -45,7 +46,7 @@ class box_project extends ModeleBoxes
|
|||||||
$langs->load("boxes");
|
$langs->load("boxes");
|
||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
|
|
||||||
$this->boxlabel="Projet";
|
$this->boxlabel="Projects";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,13 +64,8 @@ class box_project extends ModeleBoxes
|
|||||||
$totalMnt = 0;
|
$totalMnt = 0;
|
||||||
$totalnb = 0;
|
$totalnb = 0;
|
||||||
$totalnbTask=0;
|
$totalnbTask=0;
|
||||||
include_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php");
|
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/project.lib.php");
|
|
||||||
$projectstatic=new Project($db);
|
|
||||||
|
|
||||||
|
$textHead = $langs->trans("Projects");
|
||||||
|
|
||||||
$textHead = $langs->trans("Projet");
|
|
||||||
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead));
|
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead));
|
||||||
|
|
||||||
// list the summary of the orders
|
// list the summary of the orders
|
||||||
@ -91,14 +87,15 @@ class box_project extends ModeleBoxes
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projectpub');
|
|
||||||
|
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
$projectstatic->fetch($objp->rowid);
|
|
||||||
|
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"',
|
||||||
|
'logo' => 'object_project',
|
||||||
|
'url' => DOL_URL_ROOT."/projet/card.php?id=".$objp->rowid);
|
||||||
|
|
||||||
$this->info_box_contents[$i][1] = array('td' => 'align="left"',
|
$this->info_box_contents[$i][1] = array('td' => 'align="left"',
|
||||||
'text' =>$projectstatic->getNomUrl(1)
|
'text' => $objp->ref,
|
||||||
);
|
'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid);
|
||||||
|
|
||||||
$this->info_box_contents[$i][2] = array('td' => 'align="left"',
|
$this->info_box_contents[$i][2] = array('td' => 'align="left"',
|
||||||
'text' => $objp->title
|
'text' => $objp->title
|
||||||
|
|||||||
@ -1851,7 +1851,7 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sql.= "(fk_source = '".$sourceid."' AND sourcetype = '".$sourcetype."')";
|
$sql.= "(fk_source = '".$sourceid."' AND sourcetype = '".$sourcetype."')";
|
||||||
$sql.= " ".$clause." (fk_target = '".$targetid."' AND targettype = '".$targettype."')";
|
$sql.= " ".$clause." (fk_target = '".$targetid."' AND targettype = '".$targettype."')";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -784,9 +784,10 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m
|
|||||||
$sql = "SELECT MAX(".$sqlstring.") as val";
|
$sql = "SELECT MAX(".$sqlstring.") as val";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$table;
|
$sql.= " FROM ".MAIN_DB_PREFIX.$table;
|
||||||
$sql.= " WHERE ".$field." LIKE '".$maskLike."'";
|
$sql.= " WHERE ".$field." LIKE '".$maskLike."'";
|
||||||
$sql.= " AND ".$field." NOT LIKE '%PROV%'";
|
$sql.= " AND ".$field." NOT LIKE '(PROV%)'";
|
||||||
if ($bentityon) // only if entity enable
|
if ($bentityon) // only if entity enable
|
||||||
$sql.= " AND entity IN (".getEntity($table, 1).")";
|
$sql.= " AND entity IN (".getEntity($table, 1).")";
|
||||||
|
|
||||||
if ($where) $sql.=$where;
|
if ($where) $sql.=$where;
|
||||||
if ($sqlwhere) $sql.=' AND '.$sqlwhere;
|
if ($sqlwhere) $sql.=' AND '.$sqlwhere;
|
||||||
|
|
||||||
|
|||||||
@ -33,13 +33,13 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
{
|
{
|
||||||
if ($action == 'edit_extras')
|
if ($action == 'edit_extras')
|
||||||
{
|
{
|
||||||
$value = (isset($_POST ["options_" . $key]) ? $_POST ["options_" . $key] : $object->array_options ["options_" . $key]);
|
$value = (isset($_POST["options_" . $key]) ? $_POST["options_" . $key] : $object->array_options["options_" . $key]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$value = $object->array_options ["options_" . $key];
|
$value = $object->array_options["options_" . $key];
|
||||||
}
|
}
|
||||||
if ($extrafields->attribute_type [$key] == 'separate')
|
if ($extrafields->attribute_type[$key] == 'separate')
|
||||||
{
|
{
|
||||||
print $extrafields->showSeparator($key);
|
print $extrafields->showSeparator($key);
|
||||||
}
|
}
|
||||||
@ -47,7 +47,8 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
{
|
{
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print '<table width="100%" class="nobordernopadding"><tr><td';
|
print '<table width="100%" class="nobordernopadding"><tr><td';
|
||||||
if (! empty($extrafields->attribute_required [$key])) print ' class="fieldrequired"';
|
//var_dump($action);exit;
|
||||||
|
if ((! empty($action) && $action != 'view') && ! empty($extrafields->attribute_required[$key])) print ' class="fieldrequired"';
|
||||||
print '>' . $label . '</td>';
|
print '>' . $label . '</td>';
|
||||||
|
|
||||||
//TODO Improve element and rights detection
|
//TODO Improve element and rights detection
|
||||||
@ -67,8 +68,8 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
print '<td colspan="5">';
|
print '<td colspan="5">';
|
||||||
|
|
||||||
// Convert date into timestamp format
|
// Convert date into timestamp format
|
||||||
if (in_array($extrafields->attribute_type [$key], array('date','datetime'))) {
|
if (in_array($extrafields->attribute_type[$key], array('date','datetime'))) {
|
||||||
$value = isset($_POST ["options_" . $key]) ? dol_mktime($_POST ["options_" . $key . "hour"], $_POST ["options_" . $key . "min"], 0, $_POST ["options_" . $key . "month"], $_POST ["options_" . $key . "day"], $_POST ["options_" . $key . "year"]) : $db->jdate($object->array_options ['options_' . $key]);
|
$value = isset($_POST["options_" . $key]) ? dol_mktime($_POST["options_" . $key . "hour"], $_POST["options_" . $key . "min"], 0, $_POST["options_" . $key . "month"], $_POST["options_" . $key . "day"], $_POST["options_" . $key . "year"]) : $db->jdate($object->array_options['options_' . $key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO Improve element and rights detection
|
//TODO Improve element and rights detection
|
||||||
@ -77,7 +78,7 @@ if (empty($reshook) && ! empty($extrafields->attribute_label))
|
|||||||
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formextra">';
|
print '<form enctype="multipart/form-data" action="' . $_SERVER["PHP_SELF"] . '" method="post" name="formextra">';
|
||||||
print '<input type="hidden" name="action" value="update_extras">';
|
print '<input type="hidden" name="action" value="update_extras">';
|
||||||
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
print '<input type="hidden" name="attribute" value="' . $key . '">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="id" value="' . $object->id . '">';
|
print '<input type="hidden" name="id" value="' . $object->id . '">';
|
||||||
|
|
||||||
print $extrafields->showInputField($key, $value);
|
print $extrafields->showInputField($key, $value);
|
||||||
|
|||||||
@ -121,7 +121,13 @@ if ($result)
|
|||||||
{
|
{
|
||||||
$num = $db->num_rows($result);
|
$num = $db->num_rows($result);
|
||||||
|
|
||||||
$urlparam="&socid=$socid";
|
$urlparam='';
|
||||||
|
if ($socid) $urlparam.="&socid=".$socid;
|
||||||
|
if ($search_ref) $urlparam.="&search_ref=".urlencode($search_ref);
|
||||||
|
if ($search_company) $urlparam.="&search_company=".urlencode($search_company);
|
||||||
|
if ($search_desc) $urlparam.="&search_desc=".urlencode($search_desc);
|
||||||
|
if ($search_status != '' && $search_status > -1) $urlparam.="&search_status=".urlencode($search_status);
|
||||||
|
|
||||||
print_barre_liste($langs->trans("ListOfInterventions"), $page, $_SERVER['PHP_SELF'], $urlparam, $sortfield, $sortorder, '', $num);
|
print_barre_liste($langs->trans("ListOfInterventions"), $page, $_SERVER['PHP_SELF'], $urlparam, $sortfield, $sortorder, '', $num);
|
||||||
|
|
||||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
||||||
@ -193,7 +199,7 @@ if ($result)
|
|||||||
print '<td align="right">'.convertSecondToTime($objp->duree).'</td>';
|
print '<td align="right">'.convertSecondToTime($objp->duree).'</td>';
|
||||||
}
|
}
|
||||||
print '<td align="right">'.$interventionstatic->LibStatut($objp->fk_statut,5).'</td>';
|
print '<td align="right">'.$interventionstatic->LibStatut($objp->fk_statut,5).'</td>';
|
||||||
|
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -207,7 +213,7 @@ if ($result)
|
|||||||
print '<td align="right" class="nowrap liste_total">'.convertSecondToTime($total).'</td><td> </td><td> </td>';
|
print '<td align="right" class="nowrap liste_total">'.convertSecondToTime($total).'</td><td> </td><td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print "</form>\n";
|
print "</form>\n";
|
||||||
$db->free($result);
|
$db->free($result);
|
||||||
|
|||||||
@ -150,7 +150,7 @@ if ($filter && $filter != -1) // GETPOST('filtre') may be a string
|
|||||||
|
|
||||||
if ($search_ref)
|
if ($search_ref)
|
||||||
{
|
{
|
||||||
if (is_numeric($search_ref)) $sql .= natural_search(array('fac.rowid', 'fac.ref'), $search_ref);// For backward compatibility
|
if (is_numeric($search_ref)) $sql .= natural_search(array('fac.ref'), $search_ref);
|
||||||
else $sql .= natural_search('fac.ref', $search_ref);
|
else $sql .= natural_search('fac.ref', $search_ref);
|
||||||
}
|
}
|
||||||
if (search_ref_supplier)
|
if (search_ref_supplier)
|
||||||
|
|||||||
@ -22,8 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class Import
|
* Class to manage imports
|
||||||
* \brief Class to manage imports
|
|
||||||
*/
|
*/
|
||||||
class Import
|
class Import
|
||||||
{
|
{
|
||||||
@ -313,10 +312,12 @@ class Import
|
|||||||
{
|
{
|
||||||
if (! $notrigger)
|
if (! $notrigger)
|
||||||
{
|
{
|
||||||
|
/* Not used. This is not a business object. To convert it we must herit from CommonObject
|
||||||
// Call trigger
|
// Call trigger
|
||||||
$result=$this->call_trigger('IMPORT_DELETE',$user);
|
$result=$this->call_trigger('IMPORT_DELETE',$user);
|
||||||
if ($result < 0) $error++;
|
if ($result < 0) $error++;
|
||||||
// End call triggers
|
// End call triggers
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1136,6 +1136,8 @@ ALTER TABLE llx_facture_fourn MODIFY COLUMN ref VARCHAR(255);
|
|||||||
ALTER TABLE llx_facture_fourn MODIFY COLUMN ref_ext VARCHAR(255);
|
ALTER TABLE llx_facture_fourn MODIFY COLUMN ref_ext VARCHAR(255);
|
||||||
ALTER TABLE llx_facture_fourn MODIFY COLUMN ref_supplier VARCHAR(255);
|
ALTER TABLE llx_facture_fourn MODIFY COLUMN ref_supplier VARCHAR(255);
|
||||||
|
|
||||||
|
UPDATE llx_facture_fourn SET ref = rowid WHERE ref IS NULL or ref = '';
|
||||||
|
|
||||||
ALTER TABLE llx_facture_rec ADD COLUMN revenuestamp double(24,8) DEFAULT 0;
|
ALTER TABLE llx_facture_rec ADD COLUMN revenuestamp double(24,8) DEFAULT 0;
|
||||||
ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3);
|
ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3);
|
||||||
ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL;
|
ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Dolibarr language file - Source file is en_US - admin
|
# Dolibarr language file - Source file is en_US - admin
|
||||||
WorkflowSetup=Workflow module setup
|
WorkflowSetup=Workflow module setup
|
||||||
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can enabled automatic actions that you are interesting in.
|
WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in.
|
||||||
ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated.
|
ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated.
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed
|
||||||
descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed
|
descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user