Merge remote-tracking branch 'origin/3.9' into develop
Conflicts: htdocs/compta/bank/card.php htdocs/projet/tasks/list.php
BIN
dev/initdata/img/applepieproduct.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
dev/initdata/img/dolidroid_114x114.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
dev/initdata/img/dolidroid_512x512_en.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
dev/initdata/img/dolidroid_screenshot_home_720x1280.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
dev/initdata/img/genericcustomer.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
dev/initdata/img/indiancompany.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
dev/initdata/img/logo_nltechno_94x100.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
dev/initdata/img/nocountrycomp.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
dev/initdata/img/pearpieproduct.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
dev/initdata/img/pinkdressproduct.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 20 KiB |
BIN
dev/initdata/img/rolluproduct.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
dev/initdata/img/spanishcompany.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
dev/initdata/img/swisstouch.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
dev/initdata/img/teclibcompany.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
@@ -183,7 +183,7 @@ if ($action == 'edit')
|
|||||||
|
|
||||||
$var=false;
|
$var=false;
|
||||||
print '<tr '.$bc[$var].'>';
|
print '<tr '.$bc[$var].'>';
|
||||||
print '<td>'.$langs->trans("MAIN_DISABLE_METEO").'</td><td>' .$form->selectyesno('MAIN_DISABLE_METEO',(isset($conf->global->MAIN_DISABLE_METEO)?1:0),1) . '</td></tr>';
|
print '<td>'.$langs->trans("MAIN_DISABLE_METEO").'</td><td>' .$form->selectyesno('MAIN_DISABLE_METEO',(empty($conf->global->MAIN_DISABLE_METEO)?0:1),1) . '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
|
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
|
||||||
* Copyright (C) 2011-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2011-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
|
* Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
|
|||||||
@@ -421,6 +421,20 @@ class ActionComm extends CommonObject
|
|||||||
|
|
||||||
$this->id=0;
|
$this->id=0;
|
||||||
|
|
||||||
|
if (!is_object($fuser))
|
||||||
|
{
|
||||||
|
if ($fuser > 0)
|
||||||
|
{
|
||||||
|
$u = new User($db);
|
||||||
|
$u->fetch($fuser);
|
||||||
|
$fuser = $u;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fuser = $user;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create clone
|
// Create clone
|
||||||
$result=$this->add($fuser);
|
$result=$this->add($fuser);
|
||||||
if ($result < 0) $error++;
|
if ($result < 0) $error++;
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
// Label
|
// Label
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("LabelBankCashAccount").'</td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("LabelBankCashAccount").'</td>';
|
||||||
print '<td colspan="3"><input size="30" type="text" class="flat" name="label" value="'.GETPOST("label").'"></td></tr>';
|
print '<td colspan="3"><input size="30" type="text" class="flat" name="label" value="'.GETPOST("label", 'alpha').'"></td></tr>';
|
||||||
|
|
||||||
// Type
|
// Type
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("AccountType").'</td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("AccountType").'</td>';
|
||||||
@@ -491,7 +491,7 @@ if ($action == 'create')
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td class="fieldrequired" width="25%">'.$langs->trans("AccountancyCode").'</td>';
|
print '<tr><td class="fieldrequired" width="25%">'.$langs->trans("AccountancyCode").'</td>';
|
||||||
print '<td colspan="3"><input type="text" name="account_number" value="'.(GETPOST("account_number")?GETPOST('account_number'):$account->account_number).'"></td></tr>';
|
print '<td colspan="3"><input type="text" name="account_number" value="'.(GETPOST("account_number")?GETPOST('account_number', 'alpha'):$account->account_number).'"></td></tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -506,7 +506,7 @@ if ($action == 'create')
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td width="25%">'.$langs->trans("AccountancyCode").'</td>';
|
print '<tr><td width="25%">'.$langs->trans("AccountancyCode").'</td>';
|
||||||
print '<td colspan="3"><input type="text" name="account_number" value="'.(GETPOST("account_number")?GETPOST('account_number'):$account->account_number).'"></td></tr>';
|
print '<td colspan="3"><input type="text" name="account_number" value="'.(GETPOST("account_number")?GETPOST('account_number', 'alpha'):$account->account_number).'"></td></tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -514,7 +514,7 @@ if ($action == 'create')
|
|||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("AccountancyJournal").'</td>';
|
print '<tr><td>'.$langs->trans("AccountancyJournal").'</td>';
|
||||||
print '<td colspan="3"><input type="text" name="accountancy_journal" value="'.(GETPOST("accountancy_journal")?GETPOST('accountancy_journal'):$account->accountancy_journal).'"></td></tr>';
|
print '<td colspan="3"><input type="text" name="accountancy_journal" value="'.(GETPOST("accountancy_journal")?GETPOST('accountancy_journal', 'alpha'):$account->accountancy_journal).'"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|||||||
@@ -3769,7 +3769,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="paiement.php?facid='.$object->id.'&action=create">'.$langs->trans('DoPaymentBack').'</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="paiement.php?facid='.$object->id.'&action=create&accountid='.$object->fk_account.'">'.$langs->trans('DoPaymentBack').'</a></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2919,6 +2919,7 @@ abstract class CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return if a country is inside the EEC (European Economic Community)
|
* Return if a country is inside the EEC (European Economic Community)
|
||||||
|
* TODO Add a field into dictionary
|
||||||
*
|
*
|
||||||
* @return boolean true = country inside EEC, false = country outside EEC
|
* @return boolean true = country inside EEC, false = country outside EEC
|
||||||
*/
|
*/
|
||||||
@@ -2940,7 +2941,8 @@ abstract class CommonObject
|
|||||||
'FR', // France
|
'FR', // France
|
||||||
'GB', // United Kingdom
|
'GB', // United Kingdom
|
||||||
'GR', // Greece
|
'GR', // Greece
|
||||||
'NL', // Holland
|
'HR', // Croatia
|
||||||
|
'NL', // Holland
|
||||||
'HU', // Hungary
|
'HU', // Hungary
|
||||||
'IE', // Ireland
|
'IE', // Ireland
|
||||||
'IM', // Isle of Man - Included in UK
|
'IM', // Isle of Man - Included in UK
|
||||||
@@ -2950,7 +2952,7 @@ abstract class CommonObject
|
|||||||
'LV', // Latvia
|
'LV', // Latvia
|
||||||
'MC', // Monaco - Included in France
|
'MC', // Monaco - Included in France
|
||||||
'MT', // Malta
|
'MT', // Malta
|
||||||
//'NO', // Norway
|
//'NO', // Norway
|
||||||
'PL', // Poland
|
'PL', // Poland
|
||||||
'PT', // Portugal
|
'PT', // Portugal
|
||||||
'RO', // Romania
|
'RO', // Romania
|
||||||
|
|||||||
@@ -1562,6 +1562,7 @@ function dol_print_skype($skype,$cid=0,$socid=0,$addlink=0,$max=64)
|
|||||||
* @param string $separ Separation between numbers for a better visibility example : xx.xx.xx.xx.xx
|
* @param string $separ Separation between numbers for a better visibility example : xx.xx.xx.xx.xx
|
||||||
* @param string $withpicto Show picto
|
* @param string $withpicto Show picto
|
||||||
* @param string $titlealt Text to show on alt
|
* @param string $titlealt Text to show on alt
|
||||||
|
* @param int $adddivfloat Add div float around phone.
|
||||||
* @return string Formated phone number
|
* @return string Formated phone number
|
||||||
*/
|
*/
|
||||||
function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$separ=" ",$withpicto='',$titlealt='',$adddivfloat=0)
|
function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$separ=" ",$withpicto='',$titlealt='',$adddivfloat=0)
|
||||||
|
|||||||
@@ -93,10 +93,14 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt
|
|||||||
//dol_syslog("Price.lib::calcul_price_total qty=".$qty." pu=".$pu." remiserpercent_ligne=".$remise_percent_ligne." txtva=".$txtva." uselocaltax1_rate=".$uselocaltax1_rate." uselocaltax2_rate=".$uselocaltax2_rate.' remise_percent_global='.$remise_percent_global.' price_base_type='.$ice_base_type.' type='.$type.' progress='.$progress);
|
//dol_syslog("Price.lib::calcul_price_total qty=".$qty." pu=".$pu." remiserpercent_ligne=".$remise_percent_ligne." txtva=".$txtva." uselocaltax1_rate=".$uselocaltax1_rate." uselocaltax2_rate=".$uselocaltax2_rate.' remise_percent_global='.$remise_percent_global.' price_base_type='.$ice_base_type.' type='.$type.' progress='.$progress);
|
||||||
|
|
||||||
$countryid=$seller->country_id;
|
$countryid=$seller->country_id;
|
||||||
|
|
||||||
|
if (is_numeric($uselocaltax1_rate)) $uselocaltax1_rate=(float) $uselocaltax1_rate;
|
||||||
|
if (is_numeric($uselocaltax2_rate)) $uselocaltax2_rate=(float) $uselocaltax2_rate;
|
||||||
|
|
||||||
if ($uselocaltax1_rate < 0) $uselocaltax1_rate=$seller->localtax1_assuj;
|
if ($uselocaltax1_rate < 0) $uselocaltax1_rate=$seller->localtax1_assuj;
|
||||||
if ($uselocaltax2_rate < 0) $uselocaltax2_rate=$seller->localtax2_assuj;
|
if ($uselocaltax2_rate < 0) $uselocaltax2_rate=$seller->localtax2_assuj;
|
||||||
|
|
||||||
dol_syslog('Price.lib::calcul_price_total qty='.$qty.' pu='.$pu.' remise_percent_ligne='.$remise_percent_ligne.' txtva='.$txtva.' uselocaltax1_rate='.$uselocaltax1_rate.' uselocaltax2_rate='.$uselocaltax2_rate.' remise_percent_global='.$remise_percent_global.' price_base_type='.$ice_base_type.' type='.$type.' progress='.$progress);
|
dol_syslog('Price.lib::calcul_price_total qty='.$qty.' pu='.$pu.' remise_percent_ligne='.$remise_percent_ligne.' txtva='.$txtva.' uselocaltax1_rate='.$uselocaltax1_rate.' uselocaltax2_rate='.$uselocaltax2_rate.' remise_percent_global='.$remise_percent_global.' price_base_type='.$price_base_type.' type='.$type.' progress='.$progress);
|
||||||
|
|
||||||
// Now we search localtaxes information ourself (rates and types).
|
// Now we search localtaxes information ourself (rates and types).
|
||||||
$localtax1_type=0;
|
$localtax1_type=0;
|
||||||
|
|||||||
@@ -250,6 +250,9 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
global $action;
|
global $action;
|
||||||
$reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|
||||||
|
// Set nblignes with the new facture lines content after hook
|
||||||
|
$nblignes = count($object->lines);
|
||||||
|
|
||||||
// Create pdf instance
|
// Create pdf instance
|
||||||
$pdf=pdf_getInstance($this->format);
|
$pdf=pdf_getInstance($this->format);
|
||||||
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
$default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance
|
||||||
|
|||||||
@@ -589,9 +589,9 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||||||
$odfHandler->mergeSegment($listlinestaskres);
|
$odfHandler->mergeSegment($listlinestaskres);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Time ressources
|
// Time ressources
|
||||||
$sql = "SELECT t.rowid, t.task_date, t.task_duration, t.fk_user, t.note";
|
$sql = "SELECT t.rowid, t.task_date, t.task_duration, t.fk_user, t.note";
|
||||||
$sql.= ", u.name, u.firstname";
|
$sql.= ", u.lastname, u.firstname";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t";
|
$sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t";
|
||||||
$sql .= " , ".MAIN_DB_PREFIX."user as u";
|
$sql .= " , ".MAIN_DB_PREFIX."user as u";
|
||||||
$sql .= " WHERE t.fk_task =".$object->id;
|
$sql .= " WHERE t.fk_task =".$object->id;
|
||||||
@@ -611,6 +611,7 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||||||
if (!empty($row['fk_user'])) {
|
if (!empty($row['fk_user'])) {
|
||||||
$objectdetail=new User($this->db);
|
$objectdetail=new User($this->db);
|
||||||
$objectdetail->fetch($row['fk_user']);
|
$objectdetail->fetch($row['fk_user']);
|
||||||
|
// TODO Use a cache to aoid fetch for same user
|
||||||
$row['fullcivname']=$objectdetail->getFullName($outputlangs,1);
|
$row['fullcivname']=$objectdetail->getFullName($outputlangs,1);
|
||||||
} else {
|
} else {
|
||||||
$row['fullcivname']='';
|
$row['fullcivname']='';
|
||||||
|
|||||||
@@ -1088,7 +1088,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
$pdf->SetTextColor(0,0,60);
|
$pdf->SetTextColor(0,0,60);
|
||||||
$usehourmin='day';
|
$usehourmin='day';
|
||||||
if (empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) $usehourmin='dayhour';
|
if (!empty($conf->global->SUPPLIER_ORDER_USE_HOUR_FOR_DELIVERY_DATE)) $usehourmin='dayhour';
|
||||||
if (! empty($object->date_livraison))
|
if (! empty($object->date_livraison))
|
||||||
{
|
{
|
||||||
$posy+=4;
|
$posy+=4;
|
||||||
|
|||||||
@@ -341,7 +341,7 @@ if (! empty($conf->margin->enabled))
|
|||||||
setTimeout(function () { rate.focus() }, 50);
|
setTimeout(function () { rate.focus() }, 50);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (npRate == "np_markRate" && rate.val() >= 100)
|
if (npRate == "np_markRate" && rate.val() > 100)
|
||||||
{
|
{
|
||||||
alert('<?php echo $langs->transnoentitiesnoconv("markRateShouldBeLesserThan100"); ?>');
|
alert('<?php echo $langs->transnoentitiesnoconv("markRateShouldBeLesserThan100"); ?>');
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
@@ -362,7 +362,7 @@ if (! empty($conf->margin->enabled))
|
|||||||
price = ((bpjs * (1 + (ratejs / 100))) / (1 - remisejs / 100));
|
price = ((bpjs * (1 + (ratejs / 100))) / (1 - remisejs / 100));
|
||||||
else if (npRate == "np_markRate")
|
else if (npRate == "np_markRate")
|
||||||
{
|
{
|
||||||
if (ratejs != 100)
|
if (ratejs != 100) // If markRate is 100, it means buying price is 0, so it is not possible to retreive price from it and markRate. We keep it unchange
|
||||||
{
|
{
|
||||||
price = ((bpjs / (1 - (ratejs / 100))) / (1 - remisejs / 100));
|
price = ((bpjs / (1 - (ratejs / 100))) / (1 - remisejs / 100));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ if ($resql)
|
|||||||
print_liste_field_titre($langs->trans("TotalHT"),$_SERVER["PHP_SELF"],"d.total_ht","",$param,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("TotalHT"),$_SERVER["PHP_SELF"],"d.total_ht","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("TotalVAT"),$_SERVER["PHP_SELF"],"d.total_tva","",$param,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("TotalVAT"),$_SERVER["PHP_SELF"],"d.total_tva","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("TotalTTC"),$_SERVER["PHP_SELF"],"d.total_ttc","",$param,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("TotalTTC"),$_SERVER["PHP_SELF"],"d.total_ttc","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Statut"),$_SERVER["PHP_SELF"],"","",$param,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"","",$param,'align="right"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
|||||||
@@ -458,6 +458,9 @@ if (empty($reshook))
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Now reload line
|
||||||
|
$object->fetch_lines();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1321,7 +1324,6 @@ if ($action == 'create')
|
|||||||
$datedue=($datetmp==''?-1:$datetmp);
|
$datedue=($datetmp==''?-1:$datetmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_fiche_head();
|
|
||||||
|
|
||||||
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
@@ -1329,6 +1331,8 @@ if ($action == 'create')
|
|||||||
print '<input type="hidden" name="origin" value="'.GETPOST('origin').'">';
|
print '<input type="hidden" name="origin" value="'.GETPOST('origin').'">';
|
||||||
print '<input type="hidden" name="originid" value="'.GETPOST('originid').'">';
|
print '<input type="hidden" name="originid" value="'.GETPOST('originid').'">';
|
||||||
|
|
||||||
|
dol_fiche_head();
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
|
|||||||
@@ -311,5 +311,5 @@ PropalMergePdfProductChooseFile=Select PDF files
|
|||||||
IncludingProductWithTag=Including product/service with tag
|
IncludingProductWithTag=Including product/service with tag
|
||||||
DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer
|
DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer
|
||||||
WarningSelectOneDocument=Please select at least one document
|
WarningSelectOneDocument=Please select at least one document
|
||||||
DefaultUnitToShow=Units
|
DefaultUnitToShow=Unit
|
||||||
NbOfQtyInProposals=Qty in proposals
|
NbOfQtyInProposals=Qty in proposals
|
||||||
|
|||||||
@@ -49,5 +49,6 @@ SendSms=Send SMS
|
|||||||
SmsInfoCharRemain=Nb of remaining characters
|
SmsInfoCharRemain=Nb of remaining characters
|
||||||
SmsInfoNumero= (format international ie : +33899701761)
|
SmsInfoNumero= (format international ie : +33899701761)
|
||||||
DelayBeforeSending=Delay before sending (minutes)
|
DelayBeforeSending=Delay before sending (minutes)
|
||||||
|
SmsNoPossibleSenderFound=No sender available. Check setup of your SMS provider.
|
||||||
SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider.
|
SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||||
|
* Copyright (C) 2016 Regis Houssin <regis.houssin@capnetworks.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
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
|
//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
|
||||||
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
|
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
|
||||||
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1');
|
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1');
|
||||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|||||||
@@ -903,7 +903,14 @@ class Project extends CommonObject
|
|||||||
if (preg_match('/\.php$/',$option)) {
|
if (preg_match('/\.php$/',$option)) {
|
||||||
$link = '<a href="' . dol_buildpath($option,1) . '?id=' . $this->id . $linkclose;
|
$link = '<a href="' . dol_buildpath($option,1) . '?id=' . $this->id . $linkclose;
|
||||||
$linkend = '</a>';
|
$linkend = '</a>';
|
||||||
} else {
|
}
|
||||||
|
else if ($option == 'task')
|
||||||
|
{
|
||||||
|
$link = '<a href="' . DOL_URL_ROOT . '/projet/tasks.php?id=' . $this->id . $linkclose;
|
||||||
|
$linkend = '</a>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$link = '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $this->id . $linkclose;
|
$link = '<a href="' . DOL_URL_ROOT . '/projet/card.php?id=' . $this->id . $linkclose;
|
||||||
$linkend = '</a>';
|
$linkend = '</a>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ if ($resql)
|
|||||||
if (! empty($arrayfields['p.ref']['checked']))
|
if (! empty($arrayfields['p.ref']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
print $projectstatic->getNomUrl(1);
|
print $projectstatic->getNomUrl(1, 'task');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// Title
|
// Title
|
||||||
@@ -574,7 +574,7 @@ if ($resql)
|
|||||||
if (! empty($arrayfields['t.ref']['checked']))
|
if (! empty($arrayfields['t.ref']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $taskstatic->getNomUrl(1);
|
print $taskstatic->getNomUrl(1,'withproject');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// Label
|
// Label
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2014 Charles-Fr Benke <charles.fr@benke.fr>
|
* Copyright (C) 2014 Charles-Fr Benke <charles.fr@benke.fr>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
|
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
@@ -115,9 +116,9 @@ if ($result)
|
|||||||
while ($objp = $db->fetch_object($result))
|
while ($objp = $db->fetch_object($result))
|
||||||
{
|
{
|
||||||
$found=0;
|
$found=0;
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS) && ($objp->client == 2 || $objp->client == 3)) { $found=1; $third['prospect']++; }
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS) && ($objp->client == 2 || $objp->client == 3)) { $found=1; $third['prospect']++; }
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS) && ($objp->client == 1 || $objp->client == 3)) { $found=1; $third['customer']++; }
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS) && ($objp->client == 1 || $objp->client == 3)) { $found=1; $third['customer']++; }
|
||||||
if (! empty($conf->fournisseur->enabled) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS) && $objp->fournisseur) { $found=1; $third['supplier']++; }
|
if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS) && $objp->fournisseur) { $found=1; $third['supplier']++; }
|
||||||
if (! empty($conf->societe->enabled) && $objp->client == 0 && $objp->fournisseur == 0) { $found=1; $third['other']++; }
|
if (! empty($conf->societe->enabled) && $objp->client == 0 && $objp->fournisseur == 0) { $found=1; $third['other']++; }
|
||||||
if ($found) $total++;
|
if ($found) $total++;
|
||||||
}
|
}
|
||||||
@@ -130,9 +131,9 @@ if (! empty($conf->use_javascript_ajax) && ((round($third['prospect'])?1:0)+(rou
|
|||||||
{
|
{
|
||||||
print '<tr '.$bc[0].'><td align="center" colspan="2">';
|
print '<tr '.$bc[0].'><td align="center" colspan="2">';
|
||||||
$dataseries=array();
|
$dataseries=array();
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS)) $dataseries[]=array('label'=>$langs->trans("Prospects"),'data'=>round($third['prospect']));
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS)) $dataseries[]=array('label'=>$langs->trans("Prospects"),'data'=>round($third['prospect']));
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS)) $dataseries[]=array('label'=>$langs->trans("Customers"),'data'=>round($third['customer']));
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS)) $dataseries[]=array('label'=>$langs->trans("Customers"),'data'=>round($third['customer']));
|
||||||
if (! empty($conf->fournisseur->enabled) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS)) $dataseries[]=array('label'=>$langs->trans("Suppliers"),'data'=>round($third['supplier']));
|
if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS)) $dataseries[]=array('label'=>$langs->trans("Suppliers"),'data'=>round($third['supplier']));
|
||||||
if (! empty($conf->societe->enabled)) $dataseries[]=array('label'=>$langs->trans("Others"),'data'=>round($third['other']));
|
if (! empty($conf->societe->enabled)) $dataseries[]=array('label'=>$langs->trans("Others"),'data'=>round($third['other']));
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',0,'',0);
|
dol_print_graph('stats',300,180,$data,1,'pie',0,'',0);
|
||||||
@@ -140,19 +141,19 @@ if (! empty($conf->use_javascript_ajax) && ((round($third['prospect'])?1:0)+(rou
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS))
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS_STATS))
|
||||||
{
|
{
|
||||||
$statstring = "<tr ".$bc[0].">";
|
$statstring = "<tr ".$bc[0].">";
|
||||||
$statstring.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=p">'.$langs->trans("Prospects").'</a></td><td align="right">'.round($third['prospect']).'</td>';
|
$statstring.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=p">'.$langs->trans("Prospects").'</a></td><td align="right">'.round($third['prospect']).'</td>';
|
||||||
$statstring.= "</tr>";
|
$statstring.= "</tr>";
|
||||||
}
|
}
|
||||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS))
|
if (! empty($conf->societe->enabled) && $user->rights->societe->lire && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS_STATS))
|
||||||
{
|
{
|
||||||
$statstring.= "<tr ".$bc[1].">";
|
$statstring.= "<tr ".$bc[1].">";
|
||||||
$statstring.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=c">'.$langs->trans("Customers").'</a></td><td align="right">'.round($third['customer']).'</td>';
|
$statstring.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=c">'.$langs->trans("Customers").'</a></td><td align="right">'.round($third['customer']).'</td>';
|
||||||
$statstring.= "</tr>";
|
$statstring.= "</tr>";
|
||||||
}
|
}
|
||||||
if (! empty($conf->fournisseur->enabled) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS))
|
if (! empty($conf->fournisseur->enabled) && empty($conf->global->SOCIETE_DISABLE_SUPPLIERS_STATS) && $user->rights->fournisseur->lire)
|
||||||
{
|
{
|
||||||
$statstring2 = "<tr ".$bc[0].">";
|
$statstring2 = "<tr ".$bc[0].">";
|
||||||
$statstring2.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=f">'.$langs->trans("Suppliers").'</a></td><td align="right">'.round($third['supplier']).'</td>';
|
$statstring2.= '<td><a href="'.DOL_URL_ROOT.'/societe/list.php?type=f">'.$langs->trans("Suppliers").'</a></td><td align="right">'.round($third['supplier']).'</td>';
|
||||||
|
|||||||