mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge branch '5.0' of git@github.com:Dolibarr/dolibarr.git into 5.0
This commit is contained in:
commit
5e4697b62d
|
|
@ -300,6 +300,8 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
|
|||
if (preg_match('/^BoxTitleLatest/', $value)) $qualifiedforclean=0;
|
||||
// install.lang
|
||||
if (preg_match('/^KeepDefaultValues/', $value)) $qualifiedforclean=0;
|
||||
// mail.lang
|
||||
if (preg_match('/MailingModuleDesc/i', $value)) $qualifiedforclean=0;
|
||||
// main.lang
|
||||
if (preg_match('/^Duration/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^FormatDate/', $value)) $qualifiedforclean=0;
|
||||
|
|
|
|||
|
|
@ -1208,20 +1208,12 @@ if ($id > 0)
|
|||
// Affichage fiche action en mode visu
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Ref
|
||||
/*print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
print $form->showrefnav($object, 'id', $linkback, ($user->societe_id?0:1), 'id', 'ref', '');
|
||||
print '</td></tr>';*/
|
||||
|
||||
// Type
|
||||
if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
{
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Type").'</td><td colspan="3">'.$object->type.'</td></tr>';
|
||||
}
|
||||
|
||||
// Title
|
||||
//print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.dol_htmlentities($object->label).'</td></tr>';
|
||||
|
||||
// Full day event
|
||||
print '<tr><td class="titlefield">'.$langs->trans("EventOnFullDay").'</td><td colspan="3">'.yn($object->fulldayevent, 3).'</td></tr>';
|
||||
|
||||
|
|
@ -1243,11 +1235,6 @@ if ($id > 0)
|
|||
if ($object->percentage > 0 && $object->percentage < 100 && $object->datef && $object->datef < ($now- $delay_warning)) print img_warning($langs->trans("Late"));
|
||||
print '</td></tr>';
|
||||
|
||||
// Status
|
||||
/*print '<tr><td class="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
|
||||
print $object->getLibStatut(4);
|
||||
print '</td></tr>';*/
|
||||
|
||||
// Location
|
||||
if (empty($conf->global->AGENDA_DISABLE_LOCATION))
|
||||
{
|
||||
|
|
@ -1281,7 +1268,7 @@ if ($id > 0)
|
|||
print '<div class="assignedtouser">';
|
||||
print $form->select_dolusers_forevent('view', 'assignedtouser', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
||||
print '</div>';
|
||||
if (in_array($user->id,array_keys($listofuserid)))
|
||||
if ($object->datep != $object->datef && in_array($user->id,array_keys($listofuserid)))
|
||||
{
|
||||
print '<div class="myavailability">';
|
||||
print $langs->trans("MyAvailability").': '.(($object->userassigned[$user->id]['transparency'] > 0)?$langs->trans("Busy"):$langs->trans("Available")); // We show nothing if event is assigned to nobody
|
||||
|
|
|
|||
|
|
@ -158,10 +158,10 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
|
|||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("ProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
|
||||
|
||||
$var=true;
|
||||
if ($num > 0)
|
||||
{
|
||||
$i = 0;
|
||||
$var=true;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
|
@ -239,10 +239,10 @@ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_propos
|
|||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("SupplierProposalsDraft").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
|
||||
|
||||
$var=true;
|
||||
if ($num > 0)
|
||||
{
|
||||
$i = 0;
|
||||
$var=true;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
|
@ -318,10 +318,10 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
|
|||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("DraftOrders").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
|
||||
|
||||
if ($num)
|
||||
$var = true;
|
||||
if ($num > 0)
|
||||
{
|
||||
$i = 0;
|
||||
$var = true;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var=!$var;
|
||||
|
|
@ -399,10 +399,10 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande
|
|||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("DraftSuppliersOrders").($num?' <span class="badge">'.$num.'</span>':'').'</td></tr>';
|
||||
|
||||
if ($num)
|
||||
$var = true;
|
||||
if ($num > 0)
|
||||
{
|
||||
$i = 0;
|
||||
$var = true;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var=!$var;
|
||||
|
|
|
|||
|
|
@ -977,7 +977,12 @@ if ($resql)
|
|||
}
|
||||
|
||||
// Show total line
|
||||
if (isset($totalarray['totalhtfield']))
|
||||
if (isset($totalarray['totalhtfield'])
|
||||
|| isset($totalarray['totalvatfield'])
|
||||
|| isset($totalarray['totalttcfield'])
|
||||
|| isset($totalarray['totalamfield'])
|
||||
|| isset($totalarray['totalrtpfield'])
|
||||
)
|
||||
{
|
||||
print '<tr class="liste_total">';
|
||||
$i=0;
|
||||
|
|
|
|||
|
|
@ -1398,7 +1398,12 @@ if ($resql)
|
|||
}
|
||||
|
||||
// Show total line
|
||||
if (isset($totalarray['totalhtfield']))
|
||||
if (isset($totalarray['totalhtfield'])
|
||||
|| isset($totalarray['totalvatfield'])
|
||||
|| isset($totalarray['totalttcfield'])
|
||||
|| isset($totalarray['totalamfield'])
|
||||
|| isset($totalarray['totalrtpfield'])
|
||||
)
|
||||
{
|
||||
print '<tr class="liste_total">';
|
||||
$i=0;
|
||||
|
|
|
|||
|
|
@ -249,6 +249,8 @@ class box_graph_product_distribution extends ModeleBoxes
|
|||
|
||||
if (! empty($conf->commande->enabled) && ! empty($user->rights->commande->lire))
|
||||
{
|
||||
$langs->load("orders");
|
||||
|
||||
// Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...)
|
||||
if ($showordernb)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -931,36 +931,40 @@ class Form
|
|||
/**
|
||||
* Output html form to select a third party
|
||||
*
|
||||
* @param string $selected Preselected type
|
||||
* @param string $htmlname Name of field in form
|
||||
* @param string $filter optional filters criteras (example: 's.rowid <> x', 's.client IN (1,3)')
|
||||
* @param string $showempty Add an empty field (Can be '1' or text key to use on empty line like 'SelectThirdParty')
|
||||
* @param int $showtype Show third party type in combolist (customer, prospect or supplier)
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @param array $events Ajax event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
|
||||
* @param int $limit Maximum number of elements
|
||||
* @param string $morecss Add more css styles to the SELECT component
|
||||
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
||||
* @return string HTML string with select box for thirdparty.
|
||||
* @param string $selected Preselected type
|
||||
* @param string $htmlname Name of field in form
|
||||
* @param string $filter optional filters criteras (example: 's.rowid <> x', 's.client IN (1,3)')
|
||||
* @param string $showempty Add an empty field (Can be '1' or text key to use on empty line like 'SelectThirdParty')
|
||||
* @param int $showtype Show third party type in combolist (customer, prospect or supplier)
|
||||
* @param int $forcecombo Force to use combo box
|
||||
* @param array $events Ajax event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
|
||||
* @param int $limit Maximum number of elements
|
||||
* @param string $morecss Add more css styles to the SELECT component
|
||||
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
||||
* @param string $selected_input_value Value of preselected input text (for use with ajax)
|
||||
* @param int $hidelabel Hide label (0=no, 1=yes, 2=show search icon (before) and placeholder, 3 search icon after)
|
||||
* @param array $ajaxoptions Options for ajax_autocompleter
|
||||
* @return string HTML string with select box for thirdparty.
|
||||
*/
|
||||
function select_company($selected='', $htmlname='socid', $filter='', $showempty='', $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100', $moreparam='')
|
||||
function select_company($selected='', $htmlname='socid', $filter='', $showempty='', $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100', $moreparam='', $selected_input_value='', $hidelabel=1, $ajaxoptions=array())
|
||||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
$out='';
|
||||
|
||||
/* TODO Use ajax_autocompleter like for products (not finished)
|
||||
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT) && ! $forcecombo)
|
||||
{
|
||||
$placeholder='';
|
||||
|
||||
if ($selected && empty($selected_input_value))
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/societe/ajaxcompanies.php';
|
||||
$societe = new Societe($this->db);
|
||||
$societe->fetch($selected);
|
||||
$selected_input_value=$societe->ref;
|
||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||
$societetmp = new Societe($this->db);
|
||||
$societetmp->fetch($selected);
|
||||
$selected_input_value=$societetmp->name;
|
||||
unset($societetmp);
|
||||
}
|
||||
// mode=1 means customers products
|
||||
$urloption='htmlname='.$htmlname.'&outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished;
|
||||
// mode 1
|
||||
$urloption='htmlname='.$htmlname.'&outjson=1&filter='.$filter;
|
||||
print ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/societe/ajax/company.php', $urloption, $conf->global->COMPANY_USE_SEARCH_TO_SELECT, 0, $ajaxoptions);
|
||||
if (empty($hidelabel)) print $langs->trans("RefOrLabel").' : ';
|
||||
else if ($hidelabel > 1) {
|
||||
|
|
@ -970,15 +974,15 @@ class Form
|
|||
print img_picto($langs->trans("Search"), 'search');
|
||||
}
|
||||
}
|
||||
print '<input type="text" size="20" name="search_'.$htmlname.'" id="search_'.$htmlname.'" value="'.$selected_input_value.'"'.$placeholder.' />';
|
||||
print '<input type="text" class="minwidth100" name="search_'.$htmlname.'" id="search_'.$htmlname.'" value="'.$selected_input_value.'"'.$placeholder.' '.(!empty($conf->global->THIRDPARTY_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />';
|
||||
if ($hidelabel == 3) {
|
||||
print img_picto($langs->trans("Search"), 'search');
|
||||
}
|
||||
}
|
||||
else
|
||||
{*/
|
||||
{
|
||||
$out.=$this->select_thirdparty_list($selected, $htmlname, $filter, $showempty, $showtype, $forcecombo, $events, '', 0, $limit, $morecss, $moreparam);
|
||||
//}
|
||||
}
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
|
@ -1004,7 +1008,8 @@ class Form
|
|||
{
|
||||
global $conf,$user,$langs;
|
||||
|
||||
$out=''; $num=0;
|
||||
$out='';
|
||||
$num=0;
|
||||
$outarray=array();
|
||||
|
||||
// On recherche les societes
|
||||
|
|
@ -1020,19 +1025,18 @@ class Form
|
|||
if ($filterkey && $filterkey != '')
|
||||
{
|
||||
$sql.=" AND (";
|
||||
if (! empty($conf->global->COMPANY_DONOTSEARCH_ANYWHERE)) // Can use index
|
||||
{
|
||||
$sql.="(s.name LIKE '".$this->db->escape($filterkey)."%')";
|
||||
$prefix=empty($conf->global->COMPANY_DONOTSEARCH_ANYWHERE)?'%':''; // Can use index if COMPANY_DONOTSEARCH_ANYWHERE is on
|
||||
// For natural search
|
||||
$scrit = explode(' ', $filterkey);
|
||||
$i=0;
|
||||
if (count($scrit) > 1) $sql.="(";
|
||||
foreach ($scrit as $crit) {
|
||||
if ($i > 0) $sql.=" AND ";
|
||||
$sql.="(s.nom LIKE '".$this->db->escape($prefix.$crit)."%')";
|
||||
$i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
// For natural search
|
||||
$scrit = explode(' ', $filterkey);
|
||||
foreach ($scrit as $crit) {
|
||||
$sql.=" AND (s.name LIKE '%".$this->db->escape($crit)."%')";
|
||||
}
|
||||
}
|
||||
if (! empty($conf->barcode->enabled))
|
||||
if (count($scrit) > 1) $sql.=")";
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
$sql .= " OR s.barcode LIKE '".$this->db->escape($filterkey)."%'";
|
||||
}
|
||||
|
|
@ -1041,20 +1045,22 @@ class Form
|
|||
$sql.=$this->db->order("nom","ASC");
|
||||
if ($limit > 0) $sql.=$this->db->plimit($limit);
|
||||
|
||||
// Build output string
|
||||
dol_syslog(get_class($this)."::select_thirdparty_list", LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$events = null;
|
||||
|
||||
if ($conf->use_javascript_ajax && ! $forcecombo)
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
|
||||
$comboenhancement =ajax_combobox($htmlname, $events, $conf->global->COMPANY_USE_SEARCH_TO_SELECT);
|
||||
$out.= $comboenhancement;
|
||||
$nodatarole=($comboenhancement?' data-role="none"':'');
|
||||
}
|
||||
|
||||
// Construct $out and $outarray
|
||||
$out.= '<select id="'.$htmlname.'" class="flat'.($morecss?' '.$morecss:'').'"'.($moreparam?' '.$moreparam:'').' name="'.$htmlname.'"'.$nodatarole.'>'."\n";
|
||||
$out.= '<select id="'.$htmlname.'" class="flat'.($morecss?' '.$morecss:'').'"'.($moreparam?' '.$moreparam:'').' name="'.$htmlname.'">'."\n";
|
||||
|
||||
$textifempty='';
|
||||
// Do not use textifempty = ' ' or ' ' here, or search on key will search on ' key'.
|
||||
|
|
@ -1066,7 +1072,7 @@ class Form
|
|||
}
|
||||
if ($showempty) $out.= '<option value="-1">'.$textifempty.'</option>'."\n";
|
||||
|
||||
$num = $this->db->num_rows($resql);
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num)
|
||||
{
|
||||
|
|
@ -1109,7 +1115,7 @@ class Form
|
|||
$out.= '<option value="'.$obj->rowid.'">'.$label.'</option>';
|
||||
}
|
||||
|
||||
array_push($outarray, array('key'=>$obj->rowid, 'value'=>$obj->rowid, 'label'=>$label));
|
||||
array_push($outarray, array('key'=>$obj->rowid, 'value'=>$label, 'label'=>$label));
|
||||
|
||||
$i++;
|
||||
if (($i % 10) == 0) $out.="\n";
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||
print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
|
||||
print $langs->trans("ThirdParty").' ';
|
||||
print '</td><td class="nowrap" style="padding-bottom: 2px;">';
|
||||
print $form->select_company($socid, 'socid', '', 1);
|
||||
print $form->select_company($socid, 'socid', '', 'SelectThirdParty', 0, 0, null, 0);
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1725,7 +1725,6 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu
|
|||
}
|
||||
$original_file=$conf->expedition->dir_output."/sending/".$original_file;
|
||||
}
|
||||
|
||||
// Wrapping pour les bons de livraison
|
||||
else if ($modulepart == 'livraison' && !empty($conf->expedition->dir_output))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ $(document).ready(function(){
|
|||
$(".tdlineupdown").css("background-repeat","no-repeat");
|
||||
$(".tdlineupdown").css("background-position","center center");
|
||||
|
||||
console.log("Prepare tableDnd for #<?php echo $tagidfortablednd; ?>");
|
||||
$("#<?php echo $tagidfortablednd; ?>").tableDnD({
|
||||
onDrop: function(table, row) {
|
||||
var reloadpage = "<?php echo $forcereloadpage; ?>";
|
||||
|
|
|
|||
|
|
@ -1950,7 +1950,7 @@ class CommandeFournisseur extends CommonOrder
|
|||
}
|
||||
|
||||
}
|
||||
if (! $error && ! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS_NEED_APPROVE) && ($type == 'tot')) // Accept to move to rception done, only if status of all line are ok (refuse denied)
|
||||
if (! $error && ! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS_NEED_APPROVE) && ($type == 'tot')) // Accept to move to reception done, only if status of all line are ok (refuse denied)
|
||||
{
|
||||
$dispatcheddenied=$this->getDispachedLines(2);
|
||||
if (count($dispatchedlinearray) > 0)
|
||||
|
|
@ -1989,7 +1989,8 @@ class CommandeFournisseur extends CommonOrder
|
|||
$result = 0;
|
||||
$old_statut = $this->statut;
|
||||
$this->statut = $statut;
|
||||
|
||||
$this->actionmsg2 = $comment;
|
||||
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('ORDER_SUPPLIER_RECEIVE',$user);
|
||||
if ($result < 0) $error++;
|
||||
|
|
@ -2811,13 +2812,14 @@ class CommandeFournisseur extends CommonOrder
|
|||
*
|
||||
* @param User $user User action
|
||||
* @param int $closeopenorder Close if received
|
||||
* @param string $comment Comment
|
||||
* @return int <0 if KO, 0 if not applicable, >0 if OK
|
||||
*/
|
||||
public function calcAndSetStatusDispatch(User $user, $closeopenorder=1)
|
||||
public function calcAndSetStatusDispatch(User $user, $closeopenorder=1, $comment='')
|
||||
{
|
||||
global $conf;
|
||||
global $conf, $langs;
|
||||
|
||||
if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled))
|
||||
if (! empty($conf->fournisseur->enabled))
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php';
|
||||
|
||||
|
|
@ -2846,14 +2848,18 @@ class CommandeFournisseur extends CommonOrder
|
|||
foreach($this->lines as $line) {
|
||||
$qtywished[$line->fk_product]+=$line->qty;
|
||||
}
|
||||
|
||||
$date_liv = dol_now();
|
||||
|
||||
//Compare array
|
||||
$diff_array=array_diff_assoc($qtydelivered,$qtywished);
|
||||
if (count($diff_array)==0)
|
||||
|
||||
if (count($diff_array)==0) //No diff => mean everythings is received
|
||||
{
|
||||
//No diff => mean everythings is received
|
||||
if ($closeopenorder)
|
||||
{
|
||||
$ret=$this->setStatus($user,5);
|
||||
//$ret=$this->setStatus($user,5);
|
||||
$ret = $this->Livraison($user, $date_liv, 'tot', $comment); // GETPOST("type") is 'tot', 'par', 'nev', 'can'
|
||||
if ($ret<0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -2862,7 +2868,8 @@ class CommandeFournisseur extends CommonOrder
|
|||
else
|
||||
{
|
||||
//Diff => received partially
|
||||
$ret=$this->setStatus($user,4);
|
||||
//$ret=$this->setStatus($user,4);
|
||||
$ret = $this->Livraison($user, $date_liv, 'par', $comment); // GETPOST("type") is 'tot', 'par', 'nev', 'can'
|
||||
if ($ret<0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -2872,7 +2879,7 @@ class CommandeFournisseur extends CommonOrder
|
|||
else
|
||||
{
|
||||
//Diff => received partially
|
||||
$ret=$this->setStatus($user,4);
|
||||
$ret = $this->Livraison($user, $date_liv, 'par', $comment); // GETPOST("type") is 'tot', 'par', 'nev', 'can'
|
||||
if ($ret<0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner)
|
|||
}
|
||||
|
||||
if (! $error) {
|
||||
$result = $object->calcAndSetStatusDispatch($user, GETPOST('closeopenorder')?1:0);
|
||||
$result = $object->calcAndSetStatusDispatch($user, GETPOST('closeopenorder')?1:0, GETPOST('comment'));
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error ++;
|
||||
|
|
@ -340,26 +340,7 @@ if ($id > 0 || ! empty($ref)) {
|
|||
print '<div class="underbanner clearboth"></div>';
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
/*
|
||||
// Ref
|
||||
print '<tr><td class="titlefield">' . $langs->trans("Ref") . '</td>';
|
||||
print '<td colspan="2">';
|
||||
print $form->showrefnav($object, 'ref', '', 1, 'ref', 'ref');
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
// Fournisseur
|
||||
print '<tr><td>' . $langs->trans("Supplier") . "</td>";
|
||||
print '<td colspan="2">' . $soc->getNomUrl(1, 'supplier') . '</td>';
|
||||
print '</tr>';
|
||||
|
||||
// Statut
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans("Status") . '</td>';
|
||||
print '<td colspan="2">';
|
||||
print $object->getLibStatut(4);
|
||||
print "</td></tr>";
|
||||
*/
|
||||
// Date
|
||||
if ($object->methode_commande_id > 0) {
|
||||
print '<tr><td class="titlefield">' . $langs->trans("Date") . '</td><td>';
|
||||
|
|
@ -585,7 +566,8 @@ if ($id > 0 || ! empty($ref)) {
|
|||
} elseif (count($listwarehouses) == 1) {
|
||||
print $formproduct->selectWarehouses(GETPOST("entrepot" . $suffix), "entrepot" . $suffix, '', 0, 0, $objp->fk_product);
|
||||
} else {
|
||||
print $langs->trans("NoWarehouseDefined");
|
||||
$langs->load("errors");
|
||||
print $langs->trans("ErrorNoWarehouseDefined");
|
||||
}
|
||||
print "</td>\n";
|
||||
|
||||
|
|
@ -609,7 +591,7 @@ if ($id > 0 || ! empty($ref)) {
|
|||
|
||||
print '<br><div class="center">';
|
||||
print $langs->trans("Comment") . ' : ';
|
||||
print '<input type="text" class="minwidth200" maxlength="128" name="comment" value="';
|
||||
print '<input type="text" class="minwidth400" maxlength="128" name="comment" value="';
|
||||
print $_POST["comment"] ? GETPOST("comment") : $langs->trans("DispatchSupplierOrder", $object->ref);
|
||||
// print ' / '.$object->ref_supplier; // Not yet available
|
||||
print '" class="flat"><br>';
|
||||
|
|
@ -662,7 +644,7 @@ if ($id > 0 || ! empty($ref)) {
|
|||
print '<table class="noborder" width="100%">';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>' . $langs->trans("Description") . '</td>';
|
||||
print '<td>' . $langs->trans("Product") . '</td>';
|
||||
if (! empty($conf->productbatch->enabled)) {
|
||||
print '<td>' . $langs->trans("batch_number") . '</td>';
|
||||
print '<td>' . $langs->trans("EatByDate") . '</td>';
|
||||
|
|
@ -705,7 +687,7 @@ if ($id > 0 || ! empty($ref)) {
|
|||
print '</td>';
|
||||
|
||||
// Comment
|
||||
print '<td>' . dol_trunc($objp->comment) . '</td>';
|
||||
print '<td class="tdoverflowmax300">' . $objp->comment . '</td>';
|
||||
|
||||
// Status
|
||||
if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) {
|
||||
|
|
|
|||
|
|
@ -956,7 +956,12 @@ if ($resql)
|
|||
}
|
||||
|
||||
// Show total line
|
||||
if (isset($totalarray['totalhtfield']))
|
||||
if (isset($totalarray['totalhtfield'])
|
||||
|| isset($totalarray['totalvatfield'])
|
||||
|| isset($totalarray['totalttcfield'])
|
||||
|| isset($totalarray['totalamfield'])
|
||||
|| isset($totalarray['totalrtpfield'])
|
||||
)
|
||||
{
|
||||
print '<tr class="liste_total">';
|
||||
$i=0;
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ $langs->load("boxes");
|
|||
|
||||
|
||||
|
||||
// Last leave requests
|
||||
// Latest leave requests
|
||||
if (! empty($conf->holiday->enabled) && $user->rights->holiday->read)
|
||||
{
|
||||
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.photo, u.statut, x.rowid, x.rowid as ref, x.fk_type, x.date_debut as date_start, x.date_fin as date_end, x.halfday, x.tms as dm, x.statut as status";
|
||||
|
|
@ -204,7 +204,7 @@ if (! empty($conf->holiday->enabled) && $user->rights->holiday->read)
|
|||
$starthalfday=($obj->halfday == -1 || $obj->halfday == 2)?'afternoon':'morning';
|
||||
$endhalfday=($obj->halfday == 1 || $obj->halfday == 2)?'morning':'afternoon';
|
||||
|
||||
print '<td>'.dol_print_date($obj->date_start,'day').' '.$langs->trans($listhalfday[$endhalfday]);
|
||||
print '<td>'.dol_print_date($obj->date_start,'day').' '.$langs->trans($listhalfday[$starthalfday]);
|
||||
print '<td>'.dol_print_date($obj->date_end,'day').' '.$langs->trans($listhalfday[$endhalfday]);
|
||||
print '<td align="right">'.dol_print_date($db->jdate($obj->dm),'day').'</td>';
|
||||
print '<td>'.$holidaystatic->LibStatut($obj->status,3).'</td>';
|
||||
|
|
|
|||
|
|
@ -184,6 +184,7 @@ ErrorTaskAlreadyAssigned=Task already assigned to user
|
|||
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
|
||||
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
|
||||
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
|
||||
ErrorNoWarehouseDefined=Error, no warehouses defined.
|
||||
|
||||
# Warnings
|
||||
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
|
||||
|
|
|
|||
|
|
@ -79,6 +79,10 @@ MailingModuleDescContactsWithThirdpartyFilter=Contact with customer filters
|
|||
MailingModuleDescContactsByCompanyCategory=Contacts by third party category
|
||||
MailingModuleDescContactsByCategory=Contacts by categories
|
||||
MailingModuleDescContactsByFunction=Contacts by position
|
||||
MailingModuleDescEmailsFromFile=Emails from file
|
||||
MailingModuleDescEmailsFromUser=Emails input by user
|
||||
MailingModuleDescDolibarrUsers=Users with Emails
|
||||
MailingModuleDescThirdPartiesByCategories=Third parties (by categories)
|
||||
|
||||
# Libelle des modules de liste de destinataires mailing
|
||||
LineInFile=Line %s in file
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ if ($action == 'create')
|
|||
}
|
||||
|
||||
// Capital
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("LoanCapital").'</td><td><input name="capital" size="10" value="' . GETPOST("capital") . '"></td></tr>';
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("LoanCapital").'</td><td><input name="capital" size="10" value="' . dol_escape_htmltag(GETPOST("capital")) . '"></td></tr>';
|
||||
|
||||
// Date Start
|
||||
print "<tr>";
|
||||
|
|
@ -245,10 +245,10 @@ if ($action == 'create')
|
|||
print '</td></tr>';
|
||||
|
||||
// Number of terms
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Nbterms").'</td><td><input name="nbterm" size="5" value="' . GETPOST('nbterm') . '"></td></tr>';
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Nbterms").'</td><td><input name="nbterm" size="5" value="' . dol_escape_htmltag(GETPOST('nbterm')) . '"></td></tr>';
|
||||
|
||||
// Rate
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Rate").'</td><td><input name="rate" size="5" value="' . GETPOST("rate") . '"> %</td></tr>';
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Rate").'</td><td><input name="rate" size="5" value="' . dol_escape_htmltag(GETPOST("rate")) . '"> %</td></tr>';
|
||||
|
||||
// Note Private
|
||||
print '<tr>';
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.
|
|||
$langs->load("products");
|
||||
$langs->load("suppliers");
|
||||
$langs->load("bills");
|
||||
if (! empty($conf->margin->enabled)) $langs->load("margins");
|
||||
$langs->load("margins");
|
||||
|
||||
$id = GETPOST('id', 'int');
|
||||
$ref = GETPOST('ref', 'alpha');
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/product/ajax/company.php
|
||||
* \brief File to return Ajax response on product list request
|
||||
* \file htdocs/societe/ajax/company.php
|
||||
* \brief File to return Ajax response on thirdparty list request
|
||||
*/
|
||||
|
||||
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); // Disables token renewal
|
||||
|
|
@ -33,15 +33,11 @@ if (empty($_GET['keysearch']) && ! defined('NOREQUIREHTML')) define('NOREQUIREH
|
|||
require '../../main.inc.php';
|
||||
|
||||
$htmlname=GETPOST('htmlname','alpha');
|
||||
$socid=GETPOST('socid','int');
|
||||
$type=GETPOST('type','int');
|
||||
$mode=GETPOST('mode','int');
|
||||
$status=((GETPOST('status','int') >= 0) ? GETPOST('status','int') : -1);
|
||||
$filter=GETPOST('filter','alpha');
|
||||
$outjson=(GETPOST('outjson','int') ? GETPOST('outjson','int') : 0);
|
||||
$price_level=GETPOST('price_level','int');
|
||||
$action=GETPOST('action', 'alpha');
|
||||
$id=GETPOST('id', 'int');
|
||||
$price_by_qty_rowid=GETPOST('pbq', 'int');
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
|
|
@ -49,7 +45,7 @@ $price_by_qty_rowid=GETPOST('pbq', 'int');
|
|||
|
||||
//print '<!-- Ajax page called with url '.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
||||
|
||||
dol_syslog(join(',',$_GET));
|
||||
dol_syslog(join(',', $_GET));
|
||||
//print_r($_GET);
|
||||
|
||||
if (! empty($action) && $action == 'fetch' && ! empty($id))
|
||||
|
|
@ -63,8 +59,11 @@ if (! empty($action) && $action == 'fetch' && ! empty($id))
|
|||
if ($ret > 0)
|
||||
{
|
||||
$outname=$object->name;
|
||||
|
||||
$outjson = array('name'=>$outname);
|
||||
$outlabel = '';
|
||||
$outdesc = '';
|
||||
$outtype = $object->type;
|
||||
|
||||
$outjson = array('ref' => $outref,'name' => $outname,'desc' => $outdesc,'type' => $outtype);
|
||||
}
|
||||
|
||||
echo json_encode($outjson);
|
||||
|
|
@ -73,7 +72,7 @@ else
|
|||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
||||
|
||||
$langs->load("products");
|
||||
$langs->load("companies");
|
||||
$langs->load("main");
|
||||
|
||||
top_httphead();
|
||||
|
|
@ -90,14 +89,7 @@ else
|
|||
$searchkey=(GETPOST($id)?GETPOST($id):(GETPOST($htmlname)?GETPOST($htmlname):''));
|
||||
|
||||
$form = new Form($db);
|
||||
if (empty($mode) || $mode == 'customer')
|
||||
{
|
||||
$arrayresult=$form->select_company_html($socid,$htmlname,"client IN (1,3)",0,0,0,null,$searchkey,$outjson);
|
||||
}
|
||||
elseif ($mode == 'supplier')
|
||||
{
|
||||
$arrayresult=$form->select_company_html($socid,$htmlname,"fournisseur=1",0,0,0,null,$searchkey,$outjson);
|
||||
}
|
||||
$arrayresult=$form->select_thirdparty_list(0,$htmlname,$filter,1,0,0,null,$searchkey,$outjson);
|
||||
|
||||
$db->close();
|
||||
|
||||
|
|
|
|||
|
|
@ -1050,7 +1050,9 @@ if ($action == 'create')
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code;
|
||||
$cond_reglement_id = $soc->cond_reglement_supplier_id;
|
||||
$mode_reglement_id = $soc->mode_reglement_supplier_id;
|
||||
if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code;
|
||||
}
|
||||
|
||||
$object = new SupplierProposal($db);
|
||||
|
|
@ -1087,12 +1089,12 @@ if ($action == 'create')
|
|||
|
||||
// Terms of payment
|
||||
print '<tr><td class="nowrap">' . $langs->trans('PaymentConditionsShort') . '</td><td colspan="2">';
|
||||
$form->select_conditions_paiements(GETPOST('cond_reglement_id') > 0 ? GETPOST('cond_reglement_id') : $soc->cond_reglement_id, 'cond_reglement_id', -1, 1);
|
||||
$form->select_conditions_paiements(GETPOST('cond_reglement_id') > 0 ? GETPOST('cond_reglement_id') : $cond_reglement_id, 'cond_reglement_id', -1, 1);
|
||||
print '</td></tr>';
|
||||
|
||||
// Mode of payment
|
||||
print '<tr><td>' . $langs->trans('PaymentMode') . '</td><td colspan="2">';
|
||||
$form->select_types_paiements(GETPOST('mode_reglement_id') > 0 ? GETPOST('mode_reglement_id') : $soc->mode_reglement_id, 'mode_reglement_id');
|
||||
$form->select_types_paiements(GETPOST('mode_reglement_id') > 0 ? GETPOST('mode_reglement_id') : $mode_reglement_id, 'mode_reglement_id');
|
||||
print '</td></tr>';
|
||||
|
||||
// Bank Account
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user