Merge branch '5.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts: htdocs/admin/translation.php htdocs/comm/card.php htdocs/core/menus/standard/eldy.lib.php
This commit is contained in:
commit
cfde27820e
@ -7,7 +7,7 @@
|
||||
//
|
||||
|
||||
$force_install_packager='deb';
|
||||
$force_install_noedit=2;
|
||||
$force_install_noedit=1;
|
||||
$force_install_message='KeepDefaultValuesDeb';
|
||||
#$force_install_main_data_root='/usr/share/dolibarr/documents';
|
||||
$force_install_main_data_root='/var/lib/dolibarr/documents';
|
||||
|
||||
@ -509,7 +509,7 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`;
|
||||
|
||||
# Removed known external modules to avoid any error when packaging from env where external modules are tested
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom/*`; # For custom we want to keep dir
|
||||
#$ret=`find $BUILDROOT/$PROJECT/htdocs/custom/* -type d -exec rm -fr {} \;`; # For custom we want to keep dir
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/allscreens*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/cabinetmed*`;
|
||||
@ -550,6 +550,7 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/mike42/escpos-php/doc`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/mike42/escpos-php/example`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/mike42/escpos-php/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/mobiledetect/mobiledetectlib/.gitmodules`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/php-iban/docs`;
|
||||
|
||||
@ -145,7 +145,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->adherent-
|
||||
$result=$object->delete($user);
|
||||
if ($result > 0)
|
||||
{
|
||||
header("Location: card_subscriptions.php?rowid=".$object->fk_adherent);
|
||||
header("Location: ".DOL_URL_ROOT."/adherents/card.php?rowid=".$object->fk_adherent);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
|
||||
@ -660,7 +660,11 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
||||
if ($_POST["accountancy_code"] <= 0) $_POST["accountancy_code"]=''; // If empty, we force to null
|
||||
if ($_POST["accountancy_code_sell"] <= 0) $_POST["accountancy_code_sell"]=''; // If empty, we force to null
|
||||
if ($_POST["accountancy_code_buy"] <= 0) $_POST["accountancy_code_buy"]=''; // If empty, we force to null
|
||||
|
||||
if ($id == 10 && isset($_POST["code"])) // Spaces are not allowed into code
|
||||
{
|
||||
$_POST["code"]=preg_replace('/\s/','',$_POST["code"]);
|
||||
}
|
||||
|
||||
// Si verif ok et action add, on ajoute la ligne
|
||||
if ($ok && GETPOST('actionadd'))
|
||||
{
|
||||
|
||||
@ -71,7 +71,7 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
|
||||
|
||||
// Purge search criteria
|
||||
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers
|
||||
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All tests are required to be compatible with all browsers
|
||||
{
|
||||
$transkey='';
|
||||
$transvalue='';
|
||||
@ -114,8 +114,16 @@ if ($action == 'add' || (GETPOST('add') && $action != 'update'))
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
setEventMessages($db->lasterror(), null, 'errors');
|
||||
|
||||
$db->rollback();
|
||||
if ($db->lasterrno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
|
||||
{
|
||||
setEventMessages($langs->trans("WarningAnEntryAlreadyExistForTransKey"), null, 'warnings');
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($db->lasterror(), null, 'errors');
|
||||
}
|
||||
$action='';
|
||||
}
|
||||
}
|
||||
@ -407,9 +415,17 @@ if ($mode == 'searchkey')
|
||||
print '<tr class="oddeven"><td>'.$langcode.'</td><td>'.$key.'</td><td>';
|
||||
print dol_escape_htmltag($val);
|
||||
print '</td><td align="right">';
|
||||
if ($val != $newlangfileonly->tab_translate[$key])
|
||||
if (! empty($newlangfileonly->tab_translate[$key]))
|
||||
{
|
||||
$htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]);
|
||||
if ($val != $newlangfileonly->tab_translate[$key])
|
||||
{
|
||||
$htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]);
|
||||
print $form->textwithpicto('', $htmltext, 1, 'info');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmltext = $langs->trans("TransKeyWithoutOriginalValue", $key);
|
||||
print $form->textwithpicto('', $htmltext, 1, 'warning');
|
||||
}
|
||||
/*if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||
|
||||
@ -1090,11 +1090,15 @@ if ($id > 0)
|
||||
|
||||
if (! empty($conf->commande->enabled))
|
||||
{
|
||||
if (! empty($orders2invoice) && $orders2invoice > 0) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/commande/orderstoinvoice.php?socid='.$object->id.'">'.$langs->trans("CreateInvoiceForThisCustomer").'</a></div>';
|
||||
else print '<div class="inline-block divButAction"><a class="butActionRefused" title="'.dol_escape_js($langs->trans("NoOrdersToInvoice")).'" href="#">'.$langs->trans("CreateInvoiceForThisCustomer").'</a></div>';
|
||||
if ($object->client != 0 && $object->client != 2)
|
||||
{
|
||||
if (! empty($orders2invoice) && $orders2invoice > 0) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/commande/orderstoinvoice.php?socid='.$object->id.'">'.$langs->trans("CreateInvoiceForThisCustomer").'</a></div>';
|
||||
else print '<div class="inline-block divButAction"><a class="butActionRefused" title="'.dol_escape_js($langs->trans("NoOrdersToInvoice")).'" href="#">'.$langs->trans("CreateInvoiceForThisCustomer").'</a></div>';
|
||||
}
|
||||
else print '<div class="inline-block divButAction"><a class="butActionRefused" title="'.dol_escape_js($langs->trans("ThirdPartyMustBeEditAsCustomer")).'" href="#">'.$langs->trans("AddBill").'</a></div>';
|
||||
}
|
||||
|
||||
if ($object->client != 0) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture/card.php?action=create&socid='.$object->id.'">'.$langs->trans("AddBill").'</a></div>';
|
||||
|
||||
if ($object->client != 0 && $object->client != 2) print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture.php?action=create&socid='.$object->id.'">'.$langs->trans("AddBill").'</a></div>';
|
||||
else print '<div class="inline-block divButAction"><a class="butActionRefused" title="'.dol_escape_js($langs->trans("ThirdPartyMustBeEditAsCustomer")).'" href="#">'.$langs->trans("AddBill").'</a></div>';
|
||||
|
||||
}
|
||||
|
||||
@ -464,6 +464,7 @@ class Commande extends CommonOrder
|
||||
if ($this->lines[$i]->fk_product > 0)
|
||||
{
|
||||
$mouvP = new MouvementStock($this->db);
|
||||
$mouvP->origin = &$this;
|
||||
// We increment stock of product (and sub-products)
|
||||
$result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, 0, $langs->trans("OrderBackToDraftInDolibarr",$this->ref));
|
||||
if ($result < 0) { $error++; $this->error=$mouvP->error; break; }
|
||||
|
||||
@ -117,7 +117,7 @@ if ($action == 'add')
|
||||
|
||||
if ($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED && empty($object->account_number))
|
||||
{
|
||||
setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired",$langs->transnoentitiesnoconv("AccountancyCode")), null, 'error');
|
||||
setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired",$langs->transnoentitiesnoconv("AccountancyCode")), null, 'errors');
|
||||
$action='create'; // Force chargement page en mode creation
|
||||
$error++;
|
||||
}
|
||||
|
||||
@ -727,6 +727,10 @@ class ExtraFields
|
||||
{
|
||||
$showsize='minwidth400imp';
|
||||
}
|
||||
elseif ($type == 'boolean')
|
||||
{
|
||||
$showsize='';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (round($size) < 12)
|
||||
|
||||
@ -1584,7 +1584,7 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu
|
||||
$sqlprotectagainstexternals='';
|
||||
$ret=array();
|
||||
|
||||
// find the subdirectory name as the reference
|
||||
// Find the subdirectory name as the reference. For exemple original_file='10/myfile.pdf' -> refname='10'
|
||||
if (empty($refname)) $refname=basename(dirname($original_file)."/");
|
||||
|
||||
$relative_original_file = $original_file;
|
||||
@ -1752,6 +1752,18 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu
|
||||
$original_file=$conf->fckeditor->dir_output.'/'.$original_file;
|
||||
}
|
||||
|
||||
// Wrapping for users
|
||||
else if ($modulepart == 'user' && !empty($conf->user->dir_output))
|
||||
{
|
||||
$canreaduser=(! empty($fuser->admin) || $fuser->rights->user->user->lire);
|
||||
if ($fuser->id == (int) $refname) { $canreaduser=1; } // A user can always read its own card
|
||||
if ($canreaduser || preg_match('/^specimen/i',$original_file))
|
||||
{
|
||||
$accessallowed=1;
|
||||
}
|
||||
$original_file=$conf->user->dir_output.'/'.$original_file;
|
||||
}
|
||||
|
||||
// Wrapping for third parties
|
||||
else if (($modulepart == 'company' || $modulepart == 'societe') && !empty($conf->societe->dir_output))
|
||||
{
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2014-2016 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2017 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* 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
|
||||
@ -1439,7 +1440,7 @@ function dol_print_reduction($reduction,$langs)
|
||||
}
|
||||
else
|
||||
{
|
||||
$string = $reduction.'%';
|
||||
$string = price($reduction).'%';
|
||||
}
|
||||
|
||||
return $string;
|
||||
|
||||
@ -800,9 +800,9 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
if (! empty($conf->facture->enabled))
|
||||
{
|
||||
$langs->load("bills");
|
||||
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("BillsCustomers"),0,$user->rights->facture->lire);
|
||||
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("BillsCustomers"),0,$user->rights->facture->lire, '', $mainmenu, 'customers_bills');
|
||||
$newmenu->add("/compta/facture/card.php?action=create",$langs->trans("NewBill"),1,$user->rights->facture->creer);
|
||||
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("List"),1,$user->rights->facture->lire);
|
||||
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("List"),1,$user->rights->facture->lire, '', $mainmenu, 'customers_bills');
|
||||
|
||||
if ($usemenuhider || empty($leftmenu) || preg_match('/customers_bills/', $leftmenu))
|
||||
{
|
||||
|
||||
@ -69,19 +69,18 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
|
||||
// Define position of columns
|
||||
$this->posxdesc=$this->marge_gauche+1;
|
||||
$this->posxweightvol=$this->page_largeur - $this->marge_droite - 76;
|
||||
$this->posxweightvol=$this->page_largeur - $this->marge_droite - 78;
|
||||
$this->posxqtyordered=$this->page_largeur - $this->marge_droite - 56;
|
||||
$this->posxqtytoship=$this->page_largeur - $this->marge_droite - 28;
|
||||
$this->posxpuht=$this->page_largeur - $this->marge_droite;
|
||||
|
||||
if(!empty($conf->global->MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT)) {
|
||||
if (!empty($conf->global->MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT)) {
|
||||
|
||||
$this->posxweightvol=$this->page_largeur - $this->marge_droite - 130;
|
||||
$this->posxqtyordered=$this->page_largeur - $this->marge_droite - 100;
|
||||
$this->posxqtytoship=$this->page_largeur - $this->marge_droite - 70;
|
||||
$this->posxweightvol=$this->page_largeur - $this->marge_droite - 118;
|
||||
$this->posxqtyordered=$this->page_largeur - $this->marge_droite - 96;
|
||||
$this->posxqtytoship=$this->page_largeur - $this->marge_droite - 68;
|
||||
$this->posxpuht=$this->page_largeur - $this->marge_droite - 40;
|
||||
$this->posxtotalht=$this->page_largeur - $this->marge_droite - 20;
|
||||
|
||||
}
|
||||
|
||||
$this->posxpicture=$this->posxweightvol - (empty($conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH)?20:$conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH); // width of images
|
||||
@ -344,7 +343,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
// Rect prend une longueur en 3eme param
|
||||
$pdf->SetDrawColor(192,192,192);
|
||||
$pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1);
|
||||
|
||||
|
||||
$tab_height = $tab_height - $height_note;
|
||||
$tab_top = $nexY+6;
|
||||
}
|
||||
@ -459,16 +458,17 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$weighttxt='';
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->weight)
|
||||
{
|
||||
$weighttxt=$object->lines[$i]->weight*$object->lines[$i]->qty_shipped.' '.measuring_units_string($object->lines[$i]->weight_units,"weight");
|
||||
$weighttxt=round($object->lines[$i]->weight * $object->lines[$i]->qty_shipped, 5).' '.measuring_units_string($object->lines[$i]->weight_units,"weight");
|
||||
}
|
||||
$voltxt='';
|
||||
if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->volume)
|
||||
{
|
||||
$voltxt=$object->lines[$i]->volume*$object->lines[$i]->qty_shipped.' '.measuring_units_string($object->lines[$i]->volume_units?$object->lines[$i]->volume_units:0,"volume");
|
||||
$voltxt=round($object->lines[$i]->volume * $object->lines[$i]->qty_shipped, 5).' '.measuring_units_string($object->lines[$i]->volume_units?$object->lines[$i]->volume_units:0,"volume");
|
||||
}
|
||||
|
||||
$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), 3, $weighttxt.(($weighttxt && $voltxt)?', ':'').$voltxt,'','C');
|
||||
|
||||
|
||||
$pdf->writeHTMLCell($this->posxqtyordered - $this->posxweightvol + 2, 3, $this->posxweightvol - 1, $curY, $weighttxt.(($weighttxt && $voltxt)?'<br>':'').$voltxt, 0, 0, false, true, 'C');
|
||||
//$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), 3, $weighttxt.(($weighttxt && $voltxt)?'<br>':'').$voltxt,'','C');
|
||||
|
||||
if (empty($conf->global->SHIPPING_PDF_HIDE_ORDERED))
|
||||
{
|
||||
$pdf->SetXY($this->posxqtyordered, $curY);
|
||||
@ -479,27 +479,27 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$pdf->MultiCell(($this->posxpuht - $this->posxqtytoship), 3, $object->lines[$i]->qty_shipped,'','C');
|
||||
|
||||
if(!empty($conf->global->MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT))
|
||||
{
|
||||
{
|
||||
$pdf->SetXY($this->posxpuht, $curY);
|
||||
$pdf->MultiCell(($this->posxtotalht - $this->posxpuht-1), 3, price($object->lines[$i]->subprice, 0, $outputlangs),'','R');
|
||||
|
||||
$pdf->SetXY($this->posxtotalht, $curY);
|
||||
$pdf->MultiCell(($this->page_largeur - $this->marge_droite - $this->posxtotalht), 3, price($object->lines[$i]->total_ht, 0, $outputlangs),'','R');
|
||||
|
||||
}
|
||||
|
||||
$nexY+=3;
|
||||
if ($weighttxt && $voltxt) $nexY+=2;
|
||||
|
||||
// Add line
|
||||
if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1))
|
||||
{
|
||||
$pdf->setPage($pageposafter);
|
||||
$pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(80,80,80)));
|
||||
//$pdf->SetDrawColor(190,190,200);
|
||||
$pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1);
|
||||
$pdf->line($this->marge_gauche, $nexY-1, $this->page_largeur - $this->marge_droite, $nexY-1);
|
||||
$pdf->SetLineStyle(array('dash'=>0));
|
||||
}
|
||||
|
||||
$nexY+=2; // Passe espace entre les lignes
|
||||
|
||||
// Detect if some page were added automatically and output _tableau for past pages
|
||||
while ($pagenb < $pageposafter)
|
||||
{
|
||||
@ -650,7 +650,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$pdf->SetXY($this->posxqtytoship, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($this->posxpuht - $this->posxqtytoship, $tab2_hl, $totalToShip, 0, 'C', 1);
|
||||
|
||||
if(!empty($conf->global->MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT)) {
|
||||
if(!empty($conf->global->MAIN_PDF_SHIPPING_DISPLAY_AMOUNT_HT)) {
|
||||
|
||||
$pdf->SetXY($this->posxpuht, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($this->posxtotalht - $this->posxpuht, $tab2_hl, '', 0, 'C', 1);
|
||||
@ -658,20 +658,20 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$pdf->SetXY($this->posxtotalht, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxtotalht, $tab2_hl, price($object->total_ht, 0, $outputlangs), 0, 'C', 1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Total Weight
|
||||
if ($totalWeighttoshow)
|
||||
{
|
||||
$pdf->SetXY($col2x-20, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2+20, $tab2_hl, $totalWeighttoshow, 0, 'R', 1);
|
||||
$pdf->SetXY($this->posxweightvol, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), $tab2_hl, $totalWeighttoshow, 0, 'C', 1);
|
||||
|
||||
$index++;
|
||||
}
|
||||
if ($totalVolumetoshow)
|
||||
{
|
||||
$pdf->SetXY($col2x-20, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2+20, $tab2_hl, $totalVolumetoshow, 0, 'R', 1);
|
||||
$pdf->SetXY($this->posxweightvol, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell(($this->posxqtyordered - $this->posxweightvol), $tab2_hl, $totalVolumetoshow, 0, 'C', 1);
|
||||
|
||||
$index++;
|
||||
}
|
||||
@ -949,6 +949,7 @@ class pdf_rouget extends ModelePdfExpedition
|
||||
$pdf->SetFillColor(230,230,230);
|
||||
$pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->SetFillColor(255,255,255);
|
||||
|
||||
// Show sender name
|
||||
$pdf->SetXY($posx+2,$posy+3);
|
||||
|
||||
@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT .'/core/modules/import/modules_import.php';
|
||||
/**
|
||||
* Class to import Excel files
|
||||
*/
|
||||
class Importxlsx extends ModeleImports
|
||||
class ImportXlsx extends ModeleImports
|
||||
{
|
||||
var $db;
|
||||
var $datatoimport;
|
||||
|
||||
@ -34,7 +34,7 @@ print '<br>';
|
||||
$extrafields->fetch_name_optionals_label($elementtype);
|
||||
|
||||
print '<div class="div-table-responsive">';
|
||||
print "<table summary=\"listofattributes\" class=\"noborder\" width=\"100%\">";
|
||||
print '<table summary="listofattributes" class="noborder" width="100%">';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td align="left">'.$langs->trans("Position").'</td>';
|
||||
|
||||
@ -268,9 +268,8 @@ if ($result > 0)
|
||||
print '<td colspan="2">'.$langs->trans('BankAccount').'</td>';
|
||||
print '<td colspan="3">';
|
||||
$accountstatic=new Account($db);
|
||||
$accountstatic->id=$bankline->fk_account;
|
||||
$accountstatic->label=$bankline->bank_account_ref.' - '.$bankline->bank_account_label;
|
||||
print $accountstatic->getNomUrl(0);
|
||||
$accountstatic->fetch($bankline->fk_account);
|
||||
print $accountstatic->getNomUrl(1);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
0
htdocs/includes/swiftmailer/lib/swiftmailer_generate_mimes_config.php
Normal file → Executable file
0
htdocs/includes/swiftmailer/lib/swiftmailer_generate_mimes_config.php
Normal file → Executable file
@ -45,13 +45,13 @@ dolibarr_install_syslog("--- fileconf: entering fileconf.php page");
|
||||
// install.forced.php into directory htdocs/install (This is the case with some wizard
|
||||
// installer like DoliWamp, DoliMamp or DoliBuntu).
|
||||
// We first init "forced values" to nothing.
|
||||
if (! isset($force_install_noedit)) $force_install_noedit=''; // 1=To block var specific to distrib, 2 to block all technical parameters
|
||||
if (! isset($force_install_noedit)) $force_install_noedit=''; // 1=To block vars specific to distrib, 2 to block all technical parameters
|
||||
if (! isset($force_install_type)) $force_install_type='';
|
||||
if (! isset($force_install_dbserver)) $force_install_dbserver='';
|
||||
if (! isset($force_install_port)) $force_install_port='';
|
||||
if (! isset($force_install_database)) $force_install_database='';
|
||||
if (! isset($force_install_prefix)) $force_install_prefix='';
|
||||
if (! isset($force_install_createdatabase)) $force_install_createdatabase='';
|
||||
if (! isset($force_install_prefix)) $force_install_prefix='';
|
||||
if (! isset($force_install_createdatabase)) $force_install_createdatabase='';
|
||||
if (! isset($force_install_databaselogin)) $force_install_databaselogin='';
|
||||
if (! isset($force_install_databasepass)) $force_install_databasepass='';
|
||||
if (! isset($force_install_databaserootlogin)) $force_install_databaserootlogin='';
|
||||
@ -324,7 +324,7 @@ if (! empty($force_install_message))
|
||||
?>
|
||||
<select id="db_type"
|
||||
name="db_type"
|
||||
<?php if ($force_install_noedit && $force_install_type !== null) {
|
||||
<?php if ($force_install_noedit == 2 && $force_install_type !== null) {
|
||||
print ' disabled';
|
||||
} ?>
|
||||
>
|
||||
|
||||
@ -15,8 +15,8 @@
|
||||
|
||||
-- Requests to change character set and collation of a column
|
||||
|
||||
-- ALTER TABLE llx_accountingaccount MODIFY account_number VARCHAR(20) CHARACTER SET utf8;
|
||||
-- ALTER TABLE llx_accountingaccount MODIFY account_number VARCHAR(20) COLLATE utf8_unicode_ci;
|
||||
-- ALTER TABLE llx_accounting_account MODIFY account_number VARCHAR(20) CHARACTER SET utf8;
|
||||
-- ALTER TABLE llx_accounting_account MODIFY account_number VARCHAR(20) COLLATE utf8_unicode_ci;
|
||||
-- You can check with "show full columns from llx_accountingaccount";
|
||||
|
||||
|
||||
|
||||
@ -305,12 +305,12 @@ LastActivationDate=Latest activation date
|
||||
UpdateServerOffline=Update server offline
|
||||
WithCounter=Manage a counter
|
||||
GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see dictionary-thirdparty types).<br>
|
||||
GenericMaskCodes2=<b>{cccc}</b> the client code on n characters<br><b>{cccc000}</b> the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.<br><b>{tttt}</b> The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.<br>
|
||||
GenericMaskCodes3=All other characters in the mask will remain intact.<br>Spaces are not allowed.<br>
|
||||
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany done 2007-01-31:</u><br>
|
||||
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany, with date 2007-01-31:</u><br>
|
||||
GenericMaskCodes4b=<u>Example on third party created on 2007-03-01:</u><br>
|
||||
GenericMaskCodes4c=<u>Example on product created on 2007-03-01:</u><br>
|
||||
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
|
||||
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100@1}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br><b>IN{yy}{mm}-{0000}-{t}</b> will give <b>IN0701-0099-A</b> if the type of company is 'Responsable Inscripto' with code for type that is 'A_RI'
|
||||
GenericNumRefModelDesc=Returns a customizable number according to a defined mask.
|
||||
ServerAvailableOnIPOrPort=Server is available at address <b>%s</b> on port <b>%s</b>
|
||||
ServerNotAvailableOnIPOrPort=Server is not available at address <b>%s</b> on port <b>%s</b>
|
||||
@ -1091,6 +1091,7 @@ CurrentTranslationString=Current translation string
|
||||
WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string
|
||||
NewTranslationStringToShow=New translation string to show
|
||||
OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
|
||||
TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
|
||||
TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
|
||||
YouMustEnableOneModule=You must at least enable 1 module
|
||||
ClassNotFoundIntoPathWarning=Class %s not found into PHP path
|
||||
|
||||
@ -206,3 +206,4 @@ WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice
|
||||
WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit.
|
||||
WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent.
|
||||
WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action.
|
||||
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
|
||||
@ -35,7 +35,7 @@ MailingStatusSentPartialy=Sent partialy
|
||||
MailingStatusSentCompletely=Sent completely
|
||||
MailingStatusError=Error
|
||||
MailingStatusNotSent=Not sent
|
||||
MailSuccessfulySent=Email successfully accepted for delivery (from %s to %s)
|
||||
MailSuccessfulySent=Email (from %s to %s) successfully accepted for delivery
|
||||
MailingSuccessfullyValidated=EMailing successfully validated
|
||||
MailUnsubcribe=Unsubscribe
|
||||
MailingStatusNotContact=Don't contact anymore
|
||||
|
||||
Loading…
Reference in New Issue
Block a user