Merge remote-tracking branch 'origin/3.7' into develop
This commit is contained in:
commit
ef4bdcdb2a
@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Helps find duplicate translation keys in language files
|
||||
#
|
||||
# Copyright (C) 2014 Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
|
||||
|
||||
for file in `find . -type f`
|
||||
do
|
||||
dupes=$(
|
||||
sed "s/^\s*//" "$file" | # Remove any leading whitespace
|
||||
sed "s/\s*\=/=/" | # Remove any whitespace before =
|
||||
grep -Po "(^.*?)=" | # Non greedeely match everything before =
|
||||
sed "s/\=//" | # Remove trailing = so we get the key
|
||||
sort | uniq -d # Find duplicates
|
||||
)
|
||||
|
||||
if [ -n "$dupes" ]
|
||||
then
|
||||
echo "Duplicates found in $file"
|
||||
echo "$dupes"
|
||||
fi
|
||||
done
|
||||
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------
|
||||
# Script to find files that are not Unix encoded
|
||||
# Detect files that does not contains any tab inside
|
||||
#
|
||||
# Laurent Destailleur - eldy@users.sourceforge.net
|
||||
#------------------------------------------------------
|
||||
38
dev/fixduplicatelangkey.sh
Executable file
38
dev/fixduplicatelangkey.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
# Helps find duplicate translation keys in language files
|
||||
#
|
||||
# Copyright (C) 2014 Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
|
||||
|
||||
|
||||
# Syntax
|
||||
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
|
||||
then
|
||||
echo "Usage: detectduplicatelangkey.sh (list|fix)"
|
||||
fi
|
||||
|
||||
|
||||
if [ "x$1" = "xlist" ]
|
||||
then
|
||||
for file in `find htdocs/langs/en_US -name *.lang -type f`
|
||||
do
|
||||
dupes=$(
|
||||
sed "s/^\s*//" "$file" | # Remove any leading whitespace
|
||||
sed "s/\s*\=/=/" | # Remove any whitespace before =
|
||||
grep -Po "(^.*?)=" | # Non greedeely match everything before =
|
||||
sed "s/\=//" | # Remove trailing = so we get the key
|
||||
sort | uniq -d # Find duplicates
|
||||
)
|
||||
|
||||
if [ -n "$dupes" ]
|
||||
then
|
||||
echo "Duplicates found in $file"
|
||||
echo "$dupes"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# To convert
|
||||
if [ "x$1" = "xfix" ]
|
||||
then
|
||||
echo Feature not implemented. Please fix files manually.
|
||||
fi
|
||||
@ -10,6 +10,7 @@ INPLACE='0'
|
||||
max_input_size=0
|
||||
max_output_size=0
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EO
|
||||
@ -37,7 +38,8 @@ optimize_image()
|
||||
max_input_size=$(expr $max_input_size + $input_file_size)
|
||||
|
||||
if [ "${1##*.}" = "png" ]; then
|
||||
optipng -o1 -clobber -quiet $1 -out $2.firstpass
|
||||
#optipng -o1 -clobber -quiet $1 -out $2.firstpass
|
||||
optipng -o1 -quiet $1 -out $2.firstpass
|
||||
pngcrush -q -rem alla -reduce $2.firstpass $2 >/dev/null
|
||||
rm -fr $2.firstpass
|
||||
fi
|
||||
@ -67,6 +69,25 @@ get_max_file_length()
|
||||
|
||||
main()
|
||||
{
|
||||
test=`type pngcrush >/dev/null 2>&1`
|
||||
result=$?
|
||||
if [ "x$result" == "x1" ]; then
|
||||
echo "Tool pngcrush not found" && exit
|
||||
fi
|
||||
|
||||
test=`type optipng >/dev/null 2>&1`
|
||||
result=$?
|
||||
if [ "x$result" == "x1" ]; then
|
||||
echo "Tool optipng not found" && exit
|
||||
fi
|
||||
|
||||
test=`type jpegtran >/dev/null 2>&1`
|
||||
result=$?
|
||||
if [ "x$result" == "x1" ]; then
|
||||
echo "Tool jpegtran not found" && exit
|
||||
fi
|
||||
|
||||
|
||||
# If $INPUT is empty, then we use current directory
|
||||
if [[ "$INPUT" == "" ]]; then
|
||||
INPUT=$(pwd)
|
||||
@ -81,6 +102,8 @@ main()
|
||||
OUTPUT='/tmp/optimize'
|
||||
fi
|
||||
|
||||
echo "Mode is $INPLACE (1=Images are replaced, 0=New images are stored into $OUTPUT)"
|
||||
|
||||
# We create the output directory
|
||||
mkdir -p $OUTPUT
|
||||
|
||||
@ -96,6 +119,7 @@ main()
|
||||
|
||||
# Search of all jpg/jpeg/png in $INPUT
|
||||
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
|
||||
echo "Scan $INPUT to find images"
|
||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
||||
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
@ -103,6 +127,7 @@ main()
|
||||
echo
|
||||
fi
|
||||
for CURRENT_IMAGE in $IMAGES; do
|
||||
echo "Process $CURRENT_IMAGE"
|
||||
filename=$(basename $CURRENT_IMAGE)
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
printf '%s ' "$filename"
|
||||
@ -155,6 +180,13 @@ SHORTOPTS="h,i:,o:,q,s,p"
|
||||
LONGOPTS="help,input:,output:,quiet,no-stats,inplace"
|
||||
ARGS=$(getopt -s bash --options $SHORTOPTS --longoptions $LONGOPTS --name $PROGNAME -- "$@")
|
||||
|
||||
# Syntax
|
||||
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
|
||||
then
|
||||
echo "Usage: optimize_images.sh (list|fix) -i dirtoscan"
|
||||
exit
|
||||
fi
|
||||
|
||||
eval set -- "$ARGS"
|
||||
while true; do
|
||||
case $1 in
|
||||
@ -191,5 +223,11 @@ while true; do
|
||||
shift
|
||||
done
|
||||
|
||||
# To convert
|
||||
if [ "x$1" = "xlist" ]
|
||||
then
|
||||
INPLACE=0
|
||||
fi
|
||||
|
||||
main
|
||||
|
||||
|
||||
@ -45,13 +45,13 @@ else
|
||||
|
||||
|
||||
|
||||
$obj_facturation->calculTotaux(); // Redefine prix_total_ttc, prix_total_ht et montant_tva from $_SESSION['poscart']
|
||||
$obj_facturation->calculTotaux(); // Redefine prix_total_ttc, prix_total_ht et montant_tva from $_SESSION['poscart']
|
||||
|
||||
$total_ttc = $obj_facturation->prixTotalTtc();
|
||||
$total_ttc = $obj_facturation->prixTotalTtc();
|
||||
|
||||
/*var_dump($obj_facturation);
|
||||
/*var_dump($obj_facturation);
|
||||
var_dump($_SESSION['poscart']);
|
||||
var_dump($total_ttc);
|
||||
var_dump($total_ttc);
|
||||
exit;*/
|
||||
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ $conf_db_base = $dolibarr_main_db_name;
|
||||
$conf_fksoc = (! empty($_SESSION["CASHDESK_ID_THIRDPARTY"]))?$_SESSION["CASHDESK_ID_THIRDPARTY"]:($conf->global->CASHDESK_ID_THIRDPARTY>0?$conf->global->CASHDESK_ID_THIRDPARTY:0);
|
||||
// Identifiant unique correspondant a l'entrepot a utiliser
|
||||
$conf_fkentrepot = (! empty($_SESSION["CASHDESK_ID_WAREHOUSE"]))?$_SESSION["CASHDESK_ID_WAREHOUSE"]:($conf->global->CASHDESK_ID_WAREHOUSE>0?$conf->global->CASHDESK_ID_WAREHOUSE:0);
|
||||
if (! empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) $conf_fkentrepot = 0; // If option to disable stock decrease is on, we set warehouse id to 0.
|
||||
if (! empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) $conf_fkentrepot = 0; // If option to disable stock decrease is on, we set warehouse id to 0.
|
||||
|
||||
// Identifiant unique correspondant au compte caisse / liquide
|
||||
$conf_fkaccount_cash = (! empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"]))?$_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"]:($conf->global->CASHDESK_ID_BANKACCOUNT_CASH>0?$conf->global->CASHDESK_ID_BANKACCOUNT_CASH:0);
|
||||
|
||||
@ -226,25 +226,25 @@ switch ($action)
|
||||
if ($warehouseidtodecrease > 0)
|
||||
{
|
||||
// Decrease
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
||||
$langs->load("agenda");
|
||||
// Loop on each line
|
||||
$cpt=count($invoice->lines);
|
||||
for ($i = 0; $i < $cpt; $i++)
|
||||
{
|
||||
if ($invoice->lines[$i]->fk_product > 0)
|
||||
{
|
||||
$mouvP = new MouvementStock($db);
|
||||
$mouvP->origin = &$invoice;
|
||||
// We decrease stock for product
|
||||
if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) $result=$mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
else $result=$mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
||||
$langs->load("agenda");
|
||||
// Loop on each line
|
||||
$cpt=count($invoice->lines);
|
||||
for ($i = 0; $i < $cpt; $i++)
|
||||
{
|
||||
if ($invoice->lines[$i]->fk_product > 0)
|
||||
{
|
||||
$mouvP = new MouvementStock($db);
|
||||
$mouvP->origin = &$invoice;
|
||||
// We decrease stock for product
|
||||
if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) $result=$mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
else $result=$mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -263,28 +263,28 @@ switch ($action)
|
||||
|
||||
$resultvalid=$invoice->validate($user, $obj_facturation->numInvoice(), 0);
|
||||
|
||||
if ($warehouseidtodecrease > 0)
|
||||
{
|
||||
// Decrease
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
||||
$langs->load("agenda");
|
||||
// Loop on each line
|
||||
$cpt=count($invoice->lines);
|
||||
for ($i = 0; $i < $cpt; $i++)
|
||||
{
|
||||
if ($invoice->lines[$i]->fk_product > 0)
|
||||
{
|
||||
$mouvP = new MouvementStock($db);
|
||||
$mouvP->origin = &$invoice;
|
||||
// We decrease stock for product
|
||||
if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) $result=$mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
else $result=$mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($warehouseidtodecrease > 0)
|
||||
{
|
||||
// Decrease
|
||||
require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php';
|
||||
$langs->load("agenda");
|
||||
// Loop on each line
|
||||
$cpt=count($invoice->lines);
|
||||
for ($i = 0; $i < $cpt; $i++)
|
||||
{
|
||||
if ($invoice->lines[$i]->fk_product > 0)
|
||||
{
|
||||
$mouvP = new MouvementStock($db);
|
||||
$mouvP->origin = &$invoice;
|
||||
// We decrease stock for product
|
||||
if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) $result=$mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
else $result=$mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos",$invoice->newref));
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$id = $invoice->id;
|
||||
|
||||
|
||||
@ -1998,7 +1998,7 @@ if ($action == 'create' && $user->rights->commande->creer) {
|
||||
$rowspan ++;
|
||||
|
||||
// Bank Account
|
||||
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_ORDER) && ! empty($conf->banque->enabled))
|
||||
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_ORDER) && ! empty($conf->banque->enabled))
|
||||
{
|
||||
print '<tr><td class="nowrap">';
|
||||
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
|
||||
|
||||
0
htdocs/core/modules/modSyncSupplierWebServices.class.php
Executable file → Normal file
0
htdocs/core/modules/modSyncSupplierWebServices.class.php
Executable file → Normal file
@ -1544,7 +1544,7 @@ elseif (! empty($object->id))
|
||||
print '</td></tr>';
|
||||
|
||||
// Bank Account
|
||||
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER) && ! empty($conf->banque->enabled))
|
||||
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER) && ! empty($conf->banque->enabled))
|
||||
{
|
||||
print '<tr><td class="nowrap">';
|
||||
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
|
||||
|
||||
0
htdocs/install/upgrade.php
Executable file → Normal file
0
htdocs/install/upgrade.php
Executable file → Normal file
0
htdocs/install/upgrade2.php
Executable file → Normal file
0
htdocs/install/upgrade2.php
Executable file → Normal file
@ -1039,7 +1039,6 @@ YesInSummer=Yes in summer
|
||||
OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users):
|
||||
SuhosinSessionEncrypt=Session storage encrypted by Suhosin
|
||||
ConditionIsCurrently=Condition is currently %s
|
||||
TestNotPossibleWithCurrentBrowsers=Automatic detection not possible
|
||||
YouUseBestDriver=You use driver %s that is best driver available currently.
|
||||
YouDoNotUseBestDriver=You use drive %s but driver %s is recommended.
|
||||
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
|
||||
@ -1548,7 +1547,6 @@ MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your
|
||||
NbMajMin=Minimum number of uppercase characters
|
||||
NbNumMin=Minimum number of numeric characters
|
||||
NbSpeMin=Minimum number of special characters
|
||||
NbSpeMin=Minimum number of special characters
|
||||
NbIteConsecutive=Maximum number of repeating same characters
|
||||
NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation
|
||||
SalariesSetup=Setup of module salaries
|
||||
|
||||
@ -137,8 +137,6 @@ BillFrom=From
|
||||
BillTo=To
|
||||
ActionsOnBill=Actions on invoice
|
||||
NewBill=New invoice
|
||||
Prélèvements=Standing order
|
||||
Prélèvements=Standing orders
|
||||
LastBills=Last %s invoices
|
||||
LastCustomersBills=Last %s customers invoices
|
||||
LastSuppliersBills=Last %s suppliers invoices
|
||||
@ -219,7 +217,6 @@ NoInvoice=No invoice
|
||||
ClassifyBill=Classify invoice
|
||||
SupplierBillsToPay=Suppliers invoices to pay
|
||||
CustomerBillsUnpaid=Unpaid customers invoices
|
||||
DispenseMontantLettres=The bill drafted by mechanographical are exempt from the order in letters
|
||||
DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters
|
||||
NonPercuRecuperable=Non-recoverable
|
||||
SetConditions=Set payment terms
|
||||
|
||||
@ -101,9 +101,6 @@ CatSupLinks=Links between suppliers and categories
|
||||
CatCusLinks=Links between customers/prospects and categories
|
||||
CatProdLinks=Links between products/services and categories
|
||||
CatMemberLinks=Links between members and categories
|
||||
CatProdLinks=Products
|
||||
CatCusLinks=Customer/Prospects
|
||||
CatSupLinks=Suppliers
|
||||
DeleteFromCat=Remove from category
|
||||
DeletePicture=Picture delete
|
||||
ConfirmDeletePicture=Confirm picture deletion?
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Dolibarr language file - Source file is en_US - contracts
|
||||
ContractsArea=Contracts area
|
||||
ListOfContracts=List of contracts
|
||||
LastContracts=Last %s modified contracts
|
||||
LastModifiedContracts=Last %s modified contracts
|
||||
AllContracts=All contracts
|
||||
ContractCard=Contract card
|
||||
ContractStatus=Contract status
|
||||
|
||||
@ -18,9 +18,8 @@ CronExplainHowToRunUnix=On Unix environment you should use crontab to run Comman
|
||||
CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes
|
||||
# Menu
|
||||
CronJobs=Scheduled jobs
|
||||
CronListActive= List of active jobs
|
||||
CronListInactive= List of disabled jobs
|
||||
CronListActive= List of scheduled jobs
|
||||
CronListActive=List of active/scheduled jobs
|
||||
CronListInactive=List of disabled jobs
|
||||
# Page list
|
||||
CronDateLastRun=Last run
|
||||
CronLastOutput=Last run output
|
||||
|
||||
@ -53,7 +53,7 @@ ShippingExist=A shipment exists
|
||||
DraftOrWaitingApproved=Draft or approved not yet ordered
|
||||
DraftOrWaitingShipped=Draft or validated not yet shipped
|
||||
MenuOrdersToBill=Orders delivered
|
||||
MenuOrdersToBill2=Orders to bill
|
||||
MenuOrdersToBill2=Billable orders
|
||||
SearchOrder=Search order
|
||||
SearchACustomerOrder=Search a customer order
|
||||
ShipProduct=Ship product
|
||||
@ -154,7 +154,6 @@ OrderByPhone=Phone
|
||||
CreateInvoiceForThisCustomer=Bill orders
|
||||
NoOrdersToInvoice=No orders billable
|
||||
CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders.
|
||||
MenuOrdersToBill2=Billables orders
|
||||
OrderCreation=Order creation
|
||||
Ordered=Ordered
|
||||
OrderCreated=Your orders have been created
|
||||
|
||||
@ -16,11 +16,8 @@ ResourceType=Resource type
|
||||
ResourceFormLabel_description=Resource description
|
||||
|
||||
ResourcesLinkedToElement=Resources linked to element
|
||||
RessourceLineSuccessfullyUpdated=Resource successfully updated
|
||||
RessourceLineSuccessfullyDeleted=Resource successfully deleted
|
||||
|
||||
ShowResourcePlanning=Show resource planning
|
||||
NoResourceInDatabase=No resource in database
|
||||
GotoDate=Go to date
|
||||
|
||||
ResourceElementPage=Element resources
|
||||
|
||||
@ -63,7 +63,6 @@ ShowGroup=Show group
|
||||
ShowUser=Show user
|
||||
NonAffectedUsers=Non assigned users
|
||||
UserModified=User modified successfully
|
||||
GroupModified=Group modified successfully
|
||||
PhotoFile=Photo file
|
||||
UserWithDolibarrAccess=User with Dolibarr access
|
||||
ListOfUsersInGroup=List of users in this group
|
||||
|
||||
@ -41,14 +41,13 @@ TransMetod=Transmission method
|
||||
Send=Send
|
||||
Lines=Lines
|
||||
StandingOrderReject=Issue a rejection
|
||||
InvoiceRefused=Invoice refused
|
||||
WithdrawalRefused=Withdrawal refused
|
||||
WithdrawalRefusedConfirm=Are you sure you want to enter a withdrawal rejection for society
|
||||
RefusedData=Date of rejection
|
||||
RefusedReason=Reason for rejection
|
||||
RefusedInvoicing=Billing the rejection
|
||||
NoInvoiceRefused=Do not charge the rejection
|
||||
InvoiceRefused=Charge the rejection to customer
|
||||
InvoiceRefused=Invoice refused (Charge the rejection to customer)
|
||||
Status=Status
|
||||
StatusUnknown=Unknown
|
||||
StatusWaiting=Waiting
|
||||
|
||||
@ -82,7 +82,7 @@ if ($action == 'add' && $user->rights->stock->creer)
|
||||
|
||||
if (! empty($backtopage))
|
||||
{
|
||||
header("Location: ".$backtopage);
|
||||
header("Location: ".$backtopage);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
@ -93,7 +93,7 @@ if ($action == 'add' && $user->rights->stock->creer)
|
||||
}
|
||||
else
|
||||
{
|
||||
$action = 'create';
|
||||
$action = 'create';
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
@ -179,7 +179,7 @@ if ($action == 'create')
|
||||
print "<form action=\"card.php\" method=\"post\">\n";
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
||||
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
||||
|
||||
dol_fiche_head();
|
||||
|
||||
|
||||
@ -824,32 +824,32 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals(dol_nl2br($string, 1, 1), "a<br />a");
|
||||
}
|
||||
|
||||
/**
|
||||
* testDolPrice2Num
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function testDolPrice2Num()
|
||||
/**
|
||||
* testDolPrice2Num
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function testDolPrice2Num()
|
||||
{
|
||||
$this->assertEquals(1000, price2num('1 000.0'));
|
||||
$this->assertEquals(1000, price2num('1 000','MT'));
|
||||
$this->assertEquals(1000, price2num('1 000','MU'));
|
||||
$this->assertEquals(1000, price2num('1 000.0'));
|
||||
$this->assertEquals(1000, price2num('1 000','MT'));
|
||||
$this->assertEquals(1000, price2num('1 000','MU'));
|
||||
|
||||
$this->assertEquals(1000.123456, price2num('1 000.123456'));
|
||||
|
||||
// Round down
|
||||
$this->assertEquals(1000.12, price2num('1 000.123452','MT'));
|
||||
$this->assertEquals(1000.12345, price2num('1 000.123452','MU'),"Test MU");
|
||||
$this->assertEquals(1000.12, price2num('1 000.123452','MT'));
|
||||
$this->assertEquals(1000.12345, price2num('1 000.123452','MU'),"Test MU");
|
||||
|
||||
// Round up
|
||||
$this->assertEquals(1000.13, price2num('1 000.125456','MT'));
|
||||
$this->assertEquals(1000.12546, price2num('1 000.125456','MU'),"Test MU");
|
||||
// Round up
|
||||
$this->assertEquals(1000.13, price2num('1 000.125456','MT'));
|
||||
$this->assertEquals(1000.12546, price2num('1 000.125456','MU'),"Test MU");
|
||||
|
||||
// Text can't be converted
|
||||
$this->assertEquals('12.4$',price2num('12.4$'));
|
||||
$this->assertEquals('12r.4$',price2num('12r.4$'));
|
||||
$this->assertEquals('12r.4$',price2num('12r.4$'));
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user