Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2013-07-11 20:22:21 +02:00
commit 7cff7d3250
16 changed files with 59 additions and 27 deletions

View File

@ -119,6 +119,8 @@ For users:
- New: [ task #823 ] Shipping_validate email notification.
- New: [ task #900 ] Review code of ficheinter.class.php
- Fix: [Bug #958] LocalTax2 for Spain fails on Suppliers
- Fix: [ bug #972 ] Auto completion contact field do not take account the min caract number before search
- Fix : [ bug #971 ] html.form.class.php select_contact with autocomplete do not exclude id from exclude array
For translators:
- Update language files.

View File

@ -59,4 +59,4 @@ Description: Web based software to manage a small company or foundation
PDF exports,
And a lot of more modules...
.
You can also add third parties external modules or develop yours.
You can also add third parties external modules or develop yours.

View File

@ -88,6 +88,8 @@ if ($result)
$title=$langs->trans("ListOfSubscriptions");
if (! empty($date_select)) $title.=' ('.$langs->trans("Year").' '.$date_select.')';
$param="";
$param.="&statut=$statut&date_select=$date_select";
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num);

View File

@ -126,12 +126,12 @@ print '<br>';
print $langs->trans("NoteOnPathLocation").'<br>';
$url1='http://www.maxmind.com/app/perl?rId=awstats';
$url1='http://www.maxmind.com/en/city?rId=awstats';
print $langs->trans("YouCanDownloadFreeDatFileTo",'<a href="'.$url1.'" target="_blank">'.$url1.'</a>');
print '<br>';
$url2='http://www.maxmind.com/app/perl?rId=awstats';
$url2='http://www.maxmind.com/en/city?rId=awstats';
print $langs->trans("YouCanDownloadAdvancedDatFileTo",'<a href="'.$url2.'" target="_blank">'.$url2.'</a>');
if ($geoip)

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2005-2013 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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
@ -403,7 +403,7 @@ if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
// Product search
print '<br>';
print '<strong>'.$langs->trans("ProductSearch").'</strong>: ';
print '<strong>'.$langs->trans("SearchOptim").'</strong>: ';
print '<br>';
$tab = array();
$sql = "SELECT COUNT(*) as nb";
@ -434,15 +434,23 @@ if ($resql)
// Browser
print '<br>';
print '<strong>'.$langs->trans("Browser").'</strong>: ';
var_dump($conf->browser);
print '<strong>'.$langs->trans("Browser").'</strong>:<br>';
if (! in_array($conf->browser->name, array('chrome','opera','safari','firefox')))
{
print img_picto('','warning.png').' '.$langs->trans("BrowserIsKO",$conf->browser->name);
}
else
{
print img_picto('','tick.png').' '.$langs->trans("BrowserIsOK",$conf->browser->name);
}
print '<br>';
// Database statistics update
/*
print '<br>';
print '<strong>'.$langs->trans("DatabaseStatistics").'</strong>: ';
print '<br>';
*/
llxFooter();

View File

@ -639,9 +639,9 @@ class Commande extends CommonOrder
$sql.= ", remise_absolue, remise_percent";
$sql.= ", entity";
$sql.= ")";
$sql.= " VALUES ('(PROV)',".$this->socid.", ".$this->db->idate($now).", ".$user->id;
$sql.= " VALUES ('(PROV)',".$this->socid.", '".$this->db->idate($now)."', ".$user->id;
$sql.= ", ".($this->fk_project?$this->fk_project:"null");
$sql.= ", ".$this->db->idate($date);
$sql.= ", '".$this->db->idate($date)."'";
$sql.= ", ".($this->source>=0 && $this->source != '' ?$this->source:'null');
$sql.= ", '".$this->db->escape($this->note_private)."'";
$sql.= ", '".$this->db->escape($this->note_public)."'";
@ -991,7 +991,7 @@ class Commande extends CommonOrder
$this->fetch($ret);
$this->valid($user);
}
return 1;
return $ret;
}
else return -1;
}

View File

@ -971,7 +971,7 @@ class Form
if ($conf->use_javascript_ajax && $conf->global->CONTACT_USE_SEARCH_TO_SELECT && ! $forcecombo && ! $options_only)
{
$out.= ajax_combobox($htmlname, $event);
$out.= ajax_combobox($htmlname, $event, $conf->global->CONTACT_USE_SEARCH_TO_SELECT);
}
if ($htmlname != 'none' || $options_only) $out.= '<select class="flat'.($moreclass?' '.$moreclass:'').'" id="'.$htmlname.'" name="'.$htmlname.'">';
@ -2590,6 +2590,7 @@ class Form
$.each(inputok, function(i, inputname) {
var more = "";
if ($("#" + inputname).attr("type") == "checkbox") { more = ":checked"; }
if ($("#" + inputname).attr("type") == "radio") { more = ":checked"; }
var inputvalue = $("#" + inputname + more).val();
if (typeof inputvalue == "undefined") { inputvalue=""; }
options += "&" + inputname + "=" + inputvalue;

View File

@ -810,7 +810,7 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton,
minLength: this.options.minLengthToAutocomplete,
source: function( request, response ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
response( select.children( "option" ).map(function() {
response( select.children( "option:enabled" ).map(function() {
var text = $( this ).text();
if ( this.value && ( !request.term || matcher.test(text) ) )
return {

View File

@ -144,9 +144,9 @@ if (! empty($hookmanager->resArray['options'])) {
<br>
<?php if ($message) { ?>
<center><div align="center" style="max-width: 680px; margin-left: 10px; margin-right: 10px;"><div class="error">
<?php echo $message; ?>
</div></div></center>
<center><div align="center" style="max-width: 680px; margin-left: 10px; margin-right: 10px;">
<?php echo dol_htmloutput_mesg($message,'','',1); ?>
</div></center>
<?php } ?>
</center> <!-- end of center -->

View File

@ -33,6 +33,10 @@ $sref=GETPOST('search_ref');
$snom=GETPOST('search_nom');
$suser=GETPOST('search_user');
$sttc=GETPOST('search_ttc');
$search_ref=GETPOST('search_ref');
$search_nom=GETPOST('search_nom');
$search_user=GETPOST('search_user');
$search_ttc=GETPOST('search_ttc');
$sall=GETPOST('search_all');
$page = GETPOST('page','int');
@ -119,9 +123,13 @@ if ($resql)
$num = $db->num_rows($resql);
$i = 0;
print_barre_liste($title, $page, "liste.php", "", $sortfield, $sortorder, '', $num);
print '<form action="liste.php" method="GET">';
$param="";
if ($search_ref) $param.="&search_ref=".$search_ref;
if ($search_nom) $param.="&search_nom=".$search_nom;
if ($search_user) $param.="&search_user=".$search_user;
if ($search_ttc) $param.="&search_ttc=".$search_ttc;
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"cf.ref","","",'',$sortfield,$sortorder);

View File

@ -162,4 +162,6 @@ Pcg_version=Versió del pla
Pcg_type=Tipus de compte
Pcg_subtype=Subtipus de compte
InvoiceLinesToDispatch=Línies de factures a desglossar
InvoiceDispatched=Factures desglossades
InvoiceDispatched=Factures desglossades
AccountancyDashboard=Resum financer
ByProductsAndServices=Per productes i serveis

View File

@ -986,7 +986,10 @@ YouUseBestDriver=You use driver %s that is best driver available currently.
YouDoNotUseBestDriver=You use drive %s but driver %s is recommanded.
SearchProduct=Optimisation recherche produits
NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization.
SearchOptim=Search optimization
YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response.
BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance.
BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
##### Module password generation
PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase.
PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually.

View File

@ -165,3 +165,5 @@ Pcg_type=Tipo de cuenta
Pcg_subtype=Subtipo de cuenta
InvoiceLinesToDispatch=Líneas de facturas a desglosar
InvoiceDispatched=Facturas desglosadas
AccountancyDashboard=Resumen financiero
ByProductsAndServices=Por productos y servicios

View File

@ -1002,6 +1002,10 @@ TestNotPossibleWithCurrentBrowsers=Détection automatique non possible
YouUseBestDriver=Vous utilisez le driver %s qui est le driver recommandé actuellement.
YouDoNotUseBestDriver=Vous utilisez le driver %s mais le driver %s est recommandé.
NbOfProductIsLowerThanNoPb=Vous n'avez que %s produits/services en base. Ceci ne requiert pas d'optimisation particulière.
SearchOptim=Optimization des recherches
YouHaveXProductUseSearchOptim=Vous avez %s produits/services en base. Il est recommandé d'ajouter la constante PRODUCT_DONOTSEARCH_ANYWHERE à 1 dans Accueil-Configuration-Divers, vous limiterez ainsi la recherche au début de la chaine rendant possible l'utilisation de l'index et obtiendrez une réponse immédiate.
BrowserIsOK=Vous utilisez le navigateur %s. Ce navigateur est réputé optimisé pour la sécurité et performance.
BrowserIsKO=Vous utilisez le navigateur %s. Ce navigateur est déconseillé pour des raisons de sécurité, performance et qualité des pages restituées. Nous vous recommandons d'utiliser Firefox, Chrome, Opera ou Safari.
##### Module password generation
PasswordGenerationStandard=Renvoie un mot de passe généré selon l'algorithme interne de Dolibarr : 8 caractères, chiffres et caractères en minuscules mélangés.
PasswordGenerationNone=Ne propose pas de mots de passe générés. Le mot de passe est à saisir manuellement.

View File

@ -250,9 +250,9 @@ $sandboxpaypalurl='developer.paypal.com';
print '<div id="apidoc">';
print 'Your API authentication information can be found with following steps. We recommend that you open a separate Web browser session when carrying out this procedure.<br>
1. Log in to your PayPal Premier or Business account (on real paypal <a href="https://'.$realpaypalurl.'" target="_blank">'.$realpaypalurl.'</a> (or sandbox <a href="https://'.$sandboxpaypalurl.'" target="_blank">'.$sandboxpaypalurl.'</a>).<br>
2. Click the Profile subtab located under the My Account heading.<br>
3. Click the API Access link under the Account Information header.<br>
1. Log in to your PayPal account (on real paypal <a href="https://'.$realpaypalurl.'" target="_blank">'.$realpaypalurl.'</a> (or sandbox <a href="https://'.$sandboxpaypalurl.'" target="_blank">'.$sandboxpaypalurl.'</a>).<br>
2. Click the "Profile" or "Preferencies" subtab located under the My Account heading.<br>
3. Click the link "API Access".<br>
4. Click the View API Certificate link in the right column.<br>
5. Click the Request API signature radio button on the Request API Credentials page.<br>
6. Complete the Request API Credential Request form by clicking the agreement checkbox and clicking Submit.<br>

View File

@ -126,10 +126,10 @@ class ModulesTest extends PHPUnit_Framework_TestCase
$db=$this->savdb;
$modulelist=array('Accounting','Adherent','Agenda','Banque','Barcode','Bookmark','Boutique',
'CashDesk','Categorie','ClickToDial','Commande','Comptabilite','Contrat','Deplacement','Document','Don',
'CashDesk','Categorie','ClickToDial','Commande','Comptabilite','Contrat','Cron','Deplacement','Document','Don',
'ECM','Expedition','Export','ExternalRss','ExternalSite','Facture',
'Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Import','Label','Ldap','Mailing',
'Notification','Paybox','Paypal','Prelevement','Product','Projet','Propale',
'Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Holiday','Import','Label','Ldap','Mailing',
'Notification','Opensurvey','Paybox','Paypal','Prelevement','Product','Projet','Propale',
'Service','Societe','Stock','Syslog','Tax','User','WebServices','Workflow');
foreach($modulelist as $modlabel)
{