diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 6962fc2639b..82e2c659f15 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -3084,6 +3084,7 @@ else $pageprev = $page - 1; $pagenext = $page + 1; + $day = GETPOST('day','int'); $month = GETPOST('month','int'); $year = GETPOST('year','int'); @@ -3137,8 +3138,10 @@ else } if ($month > 0) { - if ($year > 0) + if ($year > 0 && empty($day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; + else if ($year > 0 && ! empty($day)) + $sql.= " AND f.datef BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; else $sql.= " AND date_format(f.datef, '%m') = '".$month."'"; } @@ -3202,11 +3205,9 @@ else print ''; print ''; print ''; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; print ''; - //print ' '.$langs->trans('Year').': '.$syear; - //print 'xx'.$syear.'zz'; - //if ($syear == '') $syear = date("Y"); - $htmlother->select_year($syear?$syear:-1,'year',1, 20, 5); + $htmlother->select_year($year?$year:-1,'year',1, 20, 5); print ''; print ' '; print ''; diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 743c75284eb..d6638e3d094 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -247,7 +247,7 @@ class FormFile if (is_array($genallowed)) $modellist=$genallowed; else { - include_once(DOL_DOCUMENT_ROOT.'/core/modules/expedition/doc/ModelePdfExpedition.class.php'); + include_once(DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php'); $modellist=ModelePDFExpedition::liste_modeles($this->db); } } diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php index e22e5e49dee..43b8a09b10e 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php @@ -24,7 +24,7 @@ * \brief Fichier de la classe permettant de generer les bordereaux envoi au modele Rouget */ -require_once DOL_DOCUMENT_ROOT."/core/modules/expedition/expedition/modules_expedition.php"; +require_once DOL_DOCUMENT_ROOT."/core/modules/expedition/modules_expedition.php"; require_once(DOL_DOCUMENT_ROOT."/core/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'); diff --git a/htdocs/install/mysql/data/llx_c_paiement.sql b/htdocs/install/mysql/data/llx_c_paiement.sql index 9086a6c1ece..802f088caf3 100644 --- a/htdocs/install/mysql/data/llx_c_paiement.sql +++ b/htdocs/install/mysql/data/llx_c_paiement.sql @@ -31,15 +31,15 @@ -- delete from llx_c_paiement; -insert into llx_c_paiement (id,code,libelle,type,active) values (0, '', '-', 3,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (1, 'TIP', 'TIP', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (2, 'VIR', 'Virement', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (3, 'PRE', 'Prélèvement', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (4, 'LIQ', 'Espèces', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (5, 'VAD', 'Paiement en ligne', 2,0); -insert into llx_c_paiement (id,code,libelle,type,active) values (6, 'CB', 'Carte Bancaire', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (7, 'CHQ', 'Chèque', 2,1); -insert into llx_c_paiement (id,code,libelle,type,active) values (8, 'TRA', 'Traite', 2,0); -insert into llx_c_paiement (id,code,libelle,type,active) values (9, 'LCR', 'LCR', 2,0); -insert into llx_c_paiement (id,code,libelle,type,active) values (10,'FAC', 'Factor', 2,0); -insert into llx_c_paiement (id,code,libelle,type,active) values (11,'PRO', 'Proforma', 2,0); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 0, '', '-', 3,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 1, 'TIP', 'TIP', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 2, 'VIR', 'Virement', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 3, 'PRE', 'Prélèvement', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 4, 'LIQ', 'Espèces', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 6, 'CB', 'Carte Bancaire', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values ( 7, 'CHQ', 'Chèque', 2,1); +insert into llx_c_paiement (id,code,libelle,type,active) values (50, 'VAD', 'Paiement en ligne', 2,0); +insert into llx_c_paiement (id,code,libelle,type,active) values (51, 'TRA', 'Traite', 2,0); +insert into llx_c_paiement (id,code,libelle,type,active) values (52, 'LCR', 'LCR', 2,0); +insert into llx_c_paiement (id,code,libelle,type,active) values (53, 'FAC', 'Factor', 2,0); +insert into llx_c_paiement (id,code,libelle,type,active) values (54, 'PRO', 'Proforma', 2,0); diff --git a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql index 50432e0f64d..69e71660538 100755 --- a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql +++ b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql @@ -71,7 +71,7 @@ DROP TABLE IF EXISTS llx_pos_tmp; ALTER TABLE llx_deplacement ADD COLUMN fk_user_modif integer AFTER fk_user_author; -CREATE TABLE IF NOT EXISTS llx_localtax +CREATE TABLE llx_localtax ( rowid integer AUTO_INCREMENT PRIMARY KEY, entity integer NOT NULL DEFAULT '1', diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index de78ffcc49f..28866032f63 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -308,6 +308,8 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) $beforeversionarray=explode('.','3.2.9'); if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) { + migrate_mode_reglement($db,$langs,$conf); + // Reload modules migrate_reload_modules($db,$langs,$conf); @@ -1742,7 +1744,7 @@ function migrate_modeles($db,$langs,$conf) if (! empty($conf->expedition->enabled)) { - include_once(DOL_DOCUMENT_ROOT.'/core/modules/expedition/doc/ModelePdfExpedition.class.php'); + include_once(DOL_DOCUMENT_ROOT.'/core/modules/expedition/modules_expedition.php'); $modellist=ModelePDFExpedition::liste_modeles($db); if (count($modellist)==0) { @@ -3085,59 +3087,145 @@ function migrate_shipping_delivery2($db,$langs,$conf) */ function migrate_actioncomm_element($db,$langs,$conf) { - print ''; + print ''; + + print '
'; + print ''.$langs->trans('MigrationActioncommElement')."
\n"; + + $elements = array( + 'propal' => 'propalrowid', + 'order' => 'fk_commande', + 'invoice' => 'fk_facture', + 'contract' => 'fk_contract', + 'order_supplier' => 'fk_supplier_order', + 'invoice_supplier' => 'fk_supplier_invoice' + ); + + foreach($elements as $type => $field) + { + $result = $db->DDLDescTable(MAIN_DB_PREFIX."actioncomm",$field); + $obj = $db->fetch_object($result); + if ($obj) + { + dolibarr_install_syslog("upgrade2::migrate_actioncomm_element field=".$field); + + $db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."actioncomm SET "; + $sql.= "fk_element = ".$field.", elementtype = '".$type."'"; + $sql.= " WHERE ".$field." IS NOT NULL"; + $sql.= " AND fk_element IS NULL"; + $sql.= " AND elementtype IS NULL"; + + $resql = $db->query($sql); + if ($resql) + { + $db->commit(); + + // DDL commands must not be inside a transaction + // We will drop at next version because a migrate should be runnable several times if it fails. + //$sqlDrop = "ALTER TABLE ".MAIN_DB_PREFIX."actioncomm DROP COLUMN ".$field; + //$db->query($sqlDrop); + //print ". "; + } + else + { + dol_print_error($db); + $db->rollback(); + } + } + else + { + print $langs->trans('AlreadyDone')."
\n"; + } + } + + print ''; +} - print '
'; - print ''.$langs->trans('MigrationActioncommElement')."
\n"; +/* + * Migrate link stored into fk_mode_reglement + */ +function migrate_mode_reglement($db,$langs,$conf) +{ + print ''; + + print '
'; + print ''.$langs->trans('MigrationPaymentMode')."
\n"; + + $elements = array( + 'old_id' => array(5,8,9,10,11), + 'new_id' => array(50,51,52,53,54), + 'code' => array('VAD','TRA','LCR','FAC','PRO'), + 'tables' => array('commande_fournisseur','commande','facture_rec','facture','propal') + ); + + foreach($elements['old_id'] as $key => $old_id) + { + $error=0; + + dolibarr_install_syslog("upgrade2::migrate_mode_reglement code=".$elements['code'][$key]); + + $sqlSelect = "SELECT id"; + $sqlSelect.= " FROM ".MAIN_DB_PREFIX."c_paiement"; + $sqlSelect.= " WHERE id = ".$old_id; + $sqlSelect.= " AND code = '".$elements['code'][$key]."'"; - $elements = array( 'propal' => 'propalrowid', - 'order' => 'fk_commande', - 'invoice' => 'fk_facture', - 'contract' => 'fk_contract', - 'order_supplier' => 'fk_supplier_order', - 'invoice_supplier' => 'fk_supplier_invoice' - ); + $resql = $db->query($sqlSelect); + if ($resql) + { + $num = $db->num_rows($resql); + if ($num) + { + $db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."c_paiement SET "; + $sql.= "id = ".$elements['new_id'][$key]; + $sql.= " WHERE id = ".$old_id; + $sql.= " AND code = '".$elements['code'][$key]."'"; - foreach($elements as $type => $field) + $resql = $db->query($sql); + if ($resql) + { + foreach($elements['tables'] as $table) + { + $sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET "; + $sql.= "fk_mode_reglement = ".$elements['new_id'][$key]; + $sql.= " WHERE fk_mode_reglement = ".$old_id; + + $resql = $db->query($sql); + if (! $resql) { - $result = $db->DDLDescTable(MAIN_DB_PREFIX."actioncomm",$field); - $obj = $db->fetch_object($result); - if ($obj) - { - dolibarr_install_syslog("upgrade2::migrate_actioncomm_element field=".$field); - - $db->begin(); - - $sql = "UPDATE ".MAIN_DB_PREFIX."actioncomm SET "; - $sql.= "fk_element = ".$field.", elementtype = '".$type."'"; - $sql.= " WHERE ".$field." IS NOT NULL"; - $sql.= " AND fk_element IS NULL"; - $sql.= " AND elementtype IS NULL"; - - $resql = $db->query($sql); - if ($resql) - { - $db->commit(); - - // DDL commands must not be inside a transaction - // We will drop at next version because a migrate should be runnable several times if it fails. - //$sqlDrop = "ALTER TABLE ".MAIN_DB_PREFIX."actioncomm DROP COLUMN ".$field; - //$db->query($sqlDrop); - //print ". "; - } - else - { - dol_print_error($db); - $db->rollback(); - } - } - else - { - print $langs->trans('AlreadyDone')."
\n"; - } + dol_print_error($db); + $error++; } - - print ''; + print ". "; + } + + if (! $error) + { + $db->commit(); + } + else + { + dol_print_error($db); + $db->rollback(); + } + } + else + { + dol_print_error($db); + $db->rollback(); + } + } + else + { + print $langs->trans('AlreadyDone')."
\n"; + } + } + } + + print ''; } diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 700f4750687..f40d500f2cf 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -232,4 +232,7 @@ MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_ MigrationProjectTaskTime=Update time spent in seconds # Migration Acctioncom -MigrationActioncommElement=Update data on actions \ No newline at end of file +MigrationActioncommElement=Update data on actions + +# Migration payment mode +MigrationPaymentMode=Data migration for payment mode \ No newline at end of file diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index 55872123ef4..8c772dc390f 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -236,3 +236,6 @@ MigrationProjectTaskTime=Mise à jour du temps consommé en secondes # Migration Acctioncom MigrationActioncommElement=Mise à jour des données des actions des éléments + +# Migration payment mode +MigrationPaymentMode=Migration des modes de paiement diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index fade073eca4..354acc4a241 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2006 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * 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 @@ -27,7 +27,6 @@ /** * \class Address * \brief Class to manage addresses - * @deprecated */ class Address { diff --git a/test/phpunit/BuildDocTest.php b/test/phpunit/BuildDocTest.php index 10857fa5e0f..378b8c5fbf6 100644 --- a/test/phpunit/BuildDocTest.php +++ b/test/phpunit/BuildDocTest.php @@ -51,7 +51,7 @@ require_once dirname(__FILE__).'/../../htdocs/core/modules/commande/modules_comm require_once dirname(__FILE__).'/../../htdocs/core/modules/propale/modules_propale.php'; require_once dirname(__FILE__).'/../../htdocs/core/modules/project/modules_project.php'; require_once dirname(__FILE__).'/../../htdocs/core/modules/fichinter/modules_fichinter.php'; -require_once dirname(__FILE__).'/../../htdocs/core/modules/expedition/doc/ModelePdfExpedition.class.php'; +require_once dirname(__FILE__).'/../../htdocs/core/modules/expedition/modules_expedition.php'; if (empty($user->id)) {