From d5731dd3107b6e6b322e3d087cf6db4627a4b7c7 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Thu, 18 Jul 2013 10:47:08 +0200 Subject: [PATCH 1/2] [ task #165 ] Add export of multiprices --- htdocs/core/modules/modProduct.class.php | 51 ++++++++++++++++++++++++ htdocs/langs/en_US/products.lang | 1 + htdocs/langs/fr_FR/products.lang | 1 + 3 files changed, 53 insertions(+) diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index c4ded22f591..47fe114480c 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -243,6 +243,57 @@ class modProduct extends DolibarrModules 'sp.remise_percent'=>'0' ); } + + if (! empty($conf->global->PRODUIT_MULTIPRICES)) { + // Exports product multiprice + //-------- + $r++; + $this->export_code[$r]=$this->rights_class.'_'.$r; + $this->export_label[$r]="ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->export_permission[$r]=array(array("produit","export")); + $this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref", + 'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel", + 'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC", + 'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC", + 'pr.tva_tx'=>'PriceLevelVATRate', + 'pr.date_price'=>'DateCreation'); + $this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product", + 'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product", + 'pr.price_ttc'=>"product", + 'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC", + 'pr.tva_tx'=>'product', + 'pr.date_price'=>"product"); + $this->export_sql_start[$r]='SELECT DISTINCT '; + $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product'; + $this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')'; + + + // Import product multiprice + //-------- + $r=0; + + $r++; + $this->import_code[$r]=$this->rights_class.'_'.$r; + $this->import_label[$r]="ProductsMultiPrice"; // Translation key + $this->import_icon[$r]=$this->picto; + $this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon + $this->import_tables_array[$r]=array('pr'=>MAIN_DB_PREFIX.'product_price'); + $this->import_tables_creator_array[$r]=array('pr'=>'fk_user_author'); // Fields to store import user id + $this->import_fields_array[$r]=array('pr.fk_product'=>"ProductRowid*", + 'pr.price_base_type'=>"PriceLevelPriceBase",'pr.price_level'=>"PriceLevel", + 'pr.price'=>"PriceLevelUnitPriceHT",'pr.price_ttc'=>"PriceLevelUnitPriceTTC", + 'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC", + 'pr.tva_tx'=>'PriceLevelVATRate', + 'pr.date_price'=>'DateCreation*'); + $this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$'); + $this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1", + 'pr.price_base_type'=>"HT",'pr.price_level'=>"1", + 'pr.price'=>"100",'pr.price_ttc'=>"110", + 'pr.price_min'=>"100",'pr.price_min_ttc'=>"110", + 'pr.tva_tx'=>'19.6', + 'pr.date_price'=>'2013-04-10'); + } } diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index 43a3b54bc35..d527b2bc047 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -198,3 +198,4 @@ UnitPmp=Net unit VWAP CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed +ProductsMultiPrice=Product multi-price diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index c0a1eab3a82..5d95fa9c5c0 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -194,3 +194,4 @@ BuildindListInfo=Nombre de produit fabricable par entrepot, si saisie à zéro o QtyNeed=Affectée UnitPmp=Prix Achat Unitaire CostPmpHT=Cout à l'achat HT +ProductsMultiPrice=Produits multi-prix From 93810cbb8d0f1ff5f00a2266d6f1ddc4d7e0b658 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Thu, 18 Jul 2013 10:58:08 +0200 Subject: [PATCH 2/2] MErge Devellop and update changelog --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 028cc1c85e7..677c21aacbb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -32,6 +32,8 @@ For users: - Qual: Implement same rule for return value of all command line scripts (0 when success, <>0 if error). - New : [ task #925 ] Add ODT document generation for Tasks in project module - New : [ task #924 ] Add numbering rule on task +- New : [ task #165 ] Add import/export of multiprices + For translators: