diff --git a/ChangeLog b/ChangeLog index f90a1048074..7396f51c98f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -144,8 +144,44 @@ For users: - 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 +- Fix: [ bug #971 ] html.form.class.php select_contact with autocomplete do not exclude id from exclude array +For translators: +- Update language files. + +For developers: +- System of menu managers has been rewritten to reduce code to do same things. +- An external module can force its theme. +- Add function dol_set_focus('#xxx'). +- A mymodule can bring its own core/modules/mymodule/modules_mymodule.php file. +- Removed not used libraries. +- More web services. +- Renamed some database fields, code variables and parameters from french to english. +- First change to manage margins on contracts. +- Add hook getFormMail. +- Function plimit of databases drivers accept -1 as value (it means default value set + into conf->liste_limit). +- New: Add option dol_hide_topmenu, dol_hide_leftmenu, dol_optimize_smallscreen, + dol_no_mouse_hover and dol_use_jmobile onto login page (to support different terminal). +- New: dol_syslog method accept a suffix to use different log files for log. +- New: Type of fields are received by export format handlers. +- New: when adding an action, we can define a free code to tag it for a specific need. +- New: Enhance Dolibarr migration process to include migration script of external + modules. +- New: [ task #811 ] Uniformanize note field. + + +WARNING: If you used external modules, some of them may need to be upgraded due to: +- Fields of classes were renamed to be normalized (nom, prenom, cp, ville, adresse, tel + were renamed into lastname, firstname, zip, town, address, phone). + This may also be true for some fields into web services. +- If module use hook pdf_writelinedesc, module may have to add return 1 at end of + function to keep same behaviour. + +TODO: +backport commit 53672dff75f4fdaeeed037ff9d15f860968022ca to fix confirm with jmobile +backport commit 384e3812eb73a15adafb472cacfb93397a54459b to fix W3C/edit contract + ***** ChangeLog for 3.3.4 compared to 3.3.3 ***** diff --git a/htdocs/core/modules/export/export_excel.modules.php b/htdocs/core/modules/export/export_excel.modules.php index 85e765c2fb3..5a3f333577c 100644 --- a/htdocs/core/modules/export/export_excel.modules.php +++ b/htdocs/core/modules/export/export_excel.modules.php @@ -178,6 +178,17 @@ class ExportExcel extends ModeleExports { require_once PHPEXCEL_PATH.'PHPExcel.php'; require_once PHPEXCEL_PATH.'PHPExcel/Style/Alignment.php'; + + if ($this->id == 'excel2007') + { + if (! class_exists('ZipArchive')) // For Excel2007, PHPExcel need ZipArchive + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorPHPNeedModule','zip'); + return -1; + } + } + $this->workbook = new PHPExcel(); $this->workbook->getProperties()->setCreator($user->getFullName($outputlangs).' - Dolibarr '.DOL_VERSION); //$this->workbook->getProperties()->setLastModifiedBy('Dolibarr '.DOL_VERSION); diff --git a/htdocs/core/modules/modBanque.class.php b/htdocs/core/modules/modBanque.class.php index 11551fcb8d0..1d682edf9a2 100644 --- a/htdocs/core/modules/modBanque.class.php +++ b/htdocs/core/modules/modBanque.class.php @@ -165,25 +165,24 @@ class modBanque extends DolibarrModules $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]='Bordereaux remise Chq/Fact'; $this->export_permission[$r]=array(array("banque","export")); - $this->export_fields_array[$r]=array('ba.ref'=>'AccountRef','ba.label'=>'AccountLabel','b.datev'=>'DateValue','b.num_chq'=>'ChequeOrTransferNumber','b.amount'=>'Credit','b.num_releve'=>'AccountStatement','b.datec'=>"DateCreation", - "bu.url_id"=>"IdThirdParty","s.nom"=>"ThirdParty","bch.date_bordereau"=>"DateBordereau","bch.number"=>"NumeroBordereau","bch.ref_ext"=>"RefExt","bch.amount"=>"TotalBordereau","bch.nbcheque"=>"NbCheque","f.facnumber"=>"NumFacture" + $this->export_fields_array[$r]=array("bch.number"=>"Numero","bch.ref_ext"=>"RefExt",'ba.ref'=>'AccountRef','ba.label'=>'AccountLabel','b.datev'=>'DateValue','b.num_chq'=>'ChequeOrTransferNumber','b.amount'=>'Credit','b.num_releve'=>'AccountStatement','b.datec'=>"DateCreation", + "bch.date_bordereau"=>"Date","bch.amount"=>"Total","bch.nbcheque"=>"NbCheque","bu.url_id"=>"IdThirdParty","s.nom"=>"ThirdParty","f.facnumber"=>"InvoiceRef" ); $this->export_TypeFields_array[$r]=array('ba.ref'=>'Text','ba.label'=>'Text','b.datev'=>'Date','b.num_chq'=>'Text','b.amount'=>'Number','b.num_releve'=>'Text','b.datec'=>"Date", - "bu.url_id"=>"Text","s.nom"=>"Text","bch.date_bordereau"=>"Date","bch.number"=>"Number","bch.ref_ext"=>"Text","bch.amount"=>"Number","bch.nbcheque"=>"NumBer","f.facnumber"=>"Text" + "bch.date_bordereau"=>"Date","bch.number"=>"Number","bch.ref_ext"=>"Text","bch.amount"=>"Number","bch.nbcheque"=>"NumBer","bu.url_id"=>"Text","s.nom"=>"Text","f.facnumber"=>"Text" ); $this->export_entities_array[$r]=array('ba.ref'=>'account','ba.label'=>'account','b.datev'=>'account','b.num_chq'=>'account','b.amount'=>'account','b.num_releve'=>'account','b.datec'=>"account", - "bu.url_id"=>"company","s.nom"=>"company","s.code_compta"=>"company","s.code_compta_fournisseur"=>"company","f.facnumber"=>"bill"); + "bu.url_id"=>"company","s.nom"=>"company","s.code_compta"=>"company","s.code_compta_fournisseur"=>"company","f.facnumber"=>"invoice"); $this->export_special_array[$r]=array('b.amount'=>'NULLIFNEG'); $this->export_sql_start[$r]='SELECT DISTINCT '; - $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'bank_account as ba, '.MAIN_DB_PREFIX.'bank as b)'; + $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'bordereau_cheque as bch, '.MAIN_DB_PREFIX.'bank_account as ba, '.MAIN_DB_PREFIX.'bank as b)'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."bank_url as bu ON (bu.fk_bank = b.rowid AND bu.type = 'company')"; - $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON bu.url_id = s.rowid'; - $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'bordereau_cheque as bch ON (bch.rowid = b.fk_bordereau and bch.fk_bank_account=ba.rowid)'; - $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiement as p ON b.rowid = p.fk_bank '; - $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON p.rowid = pf.fk_paiement '; - $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'facture as f ON f.rowid = pf.fk_facture '; - $this->export_sql_end[$r] .=' WHERE ba.rowid = b.fk_account'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiement as p ON b.rowid = p.fk_bank'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiement_facture as pf ON p.rowid = pf.fk_paiement'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'facture as f ON f.rowid = pf.fk_facture'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON f.fk_soc = s.rowid'; + $this->export_sql_end[$r] .=' WHERE ba.rowid = b.fk_account AND bch.rowid = b.fk_bordereau and bch.fk_bank_account=ba.rowid'; $this->export_sql_end[$r] .=' AND b.fk_type = "CHQ"'; $this->export_sql_end[$r] .=' AND p.fk_paiement = 7'; $this->export_sql_end[$r] .=' AND ba.entity = '.$conf->entity; diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index c0db78b409c..4bf19f453b8 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -78,4 +78,4 @@ ExtSitesEnableThisTool=Show external calendars into agenda ExtSitesNbOfAgenda=Number of calendars AgendaExtNb=Calendar nb %s ExtSiteUrlAgenda=URL to access .ical file -ExtSiteNoLabel=No Description \ No newline at end of file +ExtSiteNoLabel=No Description diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 913f8f71b5a..7c182f17360 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -125,6 +125,7 @@ ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server ErrorFailedToAddContact=Failed to add contact ErrorDateMustBeBeforeToday=The date can not be greater than today ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. +ErrorPHPNeedModule=Error, your PHP must have module %s installed to use this feature. # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 70ae324d46b..d133620fb16 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -125,6 +125,7 @@ ErrorToConnectToMysqlCheckInstance=Echec de la connection au serveur de base de ErrorFailedToAddContact=Echec à l'ajout du contact ErrorDateMustBeBeforeToday=La date ne peut pas être supérieure à aujourd'hui ErrorPaymentModeDefinedToWithoutSetup=Un mode de paiement a été défini de type %s mais la configuration du module Facture n'a pas été complété pour définir les informations afficher pour ce mode de paiment. +ErrorPHPNeedModule=Erreur, votre PHP doit avoir le module %s installé pour utiliser cette fonctionnalité. # Warnings WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées