From a43e7fd34e950f92becc4510a5aa2fc8ebee8227 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 27 Jul 2013 12:39:01 +0200 Subject: [PATCH 1/8] Fix: Changelog --- ChangeLog | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 06189a39564..003679cf3f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,12 +2,15 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 3.3.4 compared to 3.3.3 ***** + +- Fix: [ bug #1001 ] Social Contribution : State not correct + ***** ChangeLog for 3.3.3 compared to 3.3.2 ***** - Fix: [ bug #903 ] Fatal error: Call to undefined function dol_get_first_day() in htdocs/commande/liste.php - Fix: [ bug #934 ] Error on proformat invoice creation (pgsql) - Fix: [ bug #947 ] Can't create proposal lines with unit price = 0 -- Fix: [ bug #1001 ] Social Contribution : State not correct ***** ChangeLog for 3.3.2 compared to 3.3.1 ***** From bbaa344801c7a7c824db748759acee6374a88ab7 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Mon, 29 Jul 2013 12:17:24 +0200 Subject: [PATCH 2/8] Defaulted PDF model document with default value (set in admin) for Shipping and delivery --- htdocs/expedition/class/expedition.class.php | 5 +++++ htdocs/livraison/class/livraison.class.php | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 18147a67061..0fe0dbc1cc9 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -59,6 +59,7 @@ class Expedition extends CommonObject var $billed; var $note_public; var $note_private; + var $model_pdf; var $trueWeight; var $weight_units; @@ -162,6 +163,8 @@ class Expedition extends CommonObject global $conf, $langs; $now=dol_now(); + + if (empty($this->model_pdf)) $this->model_pdf=$conf->global->EXPEDITION_ADDON_PDF; require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; $error = 0; @@ -196,6 +199,7 @@ class Expedition extends CommonObject $sql.= ", size_units"; $sql.= ", note_private"; $sql.= ", note_public"; + $sql.= ", model_pdf"; $sql.= ") VALUES ("; $sql.= "'(PROV)'"; $sql.= ", ".$conf->entity; @@ -217,6 +221,7 @@ class Expedition extends CommonObject $sql.= ", ".$this->size_units; $sql.= ", ".(!empty($this->note_private)?"'".$this->db->escape($this->note_private)."'":"null"); $sql.= ", ".(!empty($this->note_public)?"'".$this->db->escape($this->note_public)."'":"null"); + $sql.= ", ".(!empty($this->model_pdf)?"'".$this->db->escape($this->model_pdf)."'":"null"); $sql.= ")"; $resql=$this->db->query($sql); diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index ea1962be34c..9bcf349e373 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -59,6 +59,7 @@ class Livraison extends CommonObject var $date_delivery; // Date really received var $date_creation; var $date_valid; + var $model_pdf; /** @@ -89,6 +90,8 @@ class Livraison extends CommonObject global $conf; dol_syslog("Livraison::create"); + + if (empty($this->model_pdf)) $this->model_pdf=$conf->global->LIVRAISON_ADDON_PDF; $error = 0; @@ -112,6 +115,7 @@ class Livraison extends CommonObject $sql.= ", fk_address"; $sql.= ", note_private"; $sql.= ", note_public"; + $sql.= ", model_pdf"; $sql.= ") VALUES ("; $sql.= "'(PROV)'"; $sql.= ", ".$conf->entity; @@ -123,6 +127,7 @@ class Livraison extends CommonObject $sql.= ", ".($this->fk_delivery_address > 0 ? $this->fk_delivery_address : "null"); $sql.= ", ".(!empty($this->note_private)?"'".$this->db->escape($this->note_private)."'":"null"); $sql.= ", ".(!empty($this->note_public)?"'".$this->db->escape($this->note_public)."'":"null"); + $sql.= ", ".(!empty($this->model_pdf)?"'".$this->db->escape($this->model_pdf)."'":"null"); $sql.= ")"; dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); From d6f31d61bfb54ef14aa5bfbb473e923f130e5723 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Mon, 29 Jul 2013 12:21:52 +0200 Subject: [PATCH 3/8] Fix Typhon model $mysoc global is missing --- htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php index 6db383e10e7..c61948fe8ee 100644 --- a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php @@ -537,7 +537,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder */ function _tableau_info(&$pdf, $object, $posy, $outputlangs) { - global $conf; + global $conf,$mysoc; $default_font_size = pdf_getPDFFontSize($outputlangs); $pdf->SetFont('','', $default_font_size); From f9c2910f845af6dc020d064a51aa308e75ac0ab8 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Tue, 30 Jul 2013 09:21:45 +0200 Subject: [PATCH 4/8] Fix : Numbering on supplier invoice was not saved and on shipment displayed error when ok --- htdocs/admin/expedition.php | 2 +- .../modules/supplier_invoice/mod_facture_fournisseur_tulip.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index 1ac15bed9ed..4fff86e2c3a 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -64,7 +64,7 @@ if ($action == 'updateMask') if (isset($res)) { - if ($res < 0) + if ($res > 0) setEventMessage($langs->trans("SetupSaved")); else setEventMessage($langs->trans("Error"), 'errors'); diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index 855cf4c74ae..db600493478 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -56,7 +56,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices $texte = $langs->trans('GenericNumRefModelDesc')."
\n"; $texte.= '
'; $texte.= ''; - $texte.= ''; + $texte.= ''; $texte.= ''; $texte.= ''; From 3bc7d3c877a6b1f6ae1a97609b13c5aa2ed11431 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Tue, 30 Jul 2013 14:18:56 +0200 Subject: [PATCH 5/8] Fix extrafeild thirdparty import and export --- htdocs/core/modules/modSociete.class.php | 40 ++++++++++++++++++------ 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index 73ce8eb8c01..b3c398ae12e 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -312,17 +312,37 @@ class modSociete extends DolibarrModules unset($this->export_entities_array[$r]['s.code_fournisseur']); } // Add extra fields - $sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'contact'"; + $sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'socpeople'"; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) { - while ($obj=$this->db->fetch_object($resql)) - { - $fieldname='extra.'.$obj->name; - $fieldlabel=ucfirst($obj->label); - $this->export_fields_array[$r][$fieldname]=$fieldlabel; - $this->export_entities_array[$r][$fieldname]='contact'; - } + while ($obj=$this->db->fetch_object($resql)) + { + $fieldname='extra.'.$obj->name; + $fieldlabel=ucfirst($obj->label); + $typeFilter="Text"; + switch($obj->type) + { + case 'int': + case 'double': + case 'price': + $typeFilter="Numeric"; + break; + case 'date': + case 'datetime': + $typeFilter="Date"; + break; + case 'boolean': + $typeFilter="Boolean"; + break; + case 'sellist': + $typeFilter="List:".$obj->param; + break; + } + $this->export_fields_array[$r][$fieldname]=$fieldlabel; + $this->export_TypeFields_array[$r][$fieldname]=$typeFilter; + $this->export_entities_array[$r][$fieldname]='contact'; + } } // End add axtra fields $this->export_sql_start[$r]='SELECT DISTINCT '; @@ -346,7 +366,7 @@ class modSociete extends DolibarrModules $this->import_tables_array[$r]=array('s'=>MAIN_DB_PREFIX.'societe','extra'=>MAIN_DB_PREFIX.'societe_extrafields'); // List of tables to insert into (insert done in same order) $this->import_fields_array[$r]=array('s.nom'=>"Name*",'s.status'=>"Status",'s.client'=>"Customer*",'s.fournisseur'=>"Supplier*",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.code_compta'=>"CustomerAccountancyCode",'s.code_compta_fournisseur'=>"SupplierAccountancyCode",'s.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",'s.fk_pays'=>"CountryCode",'s.phone'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.siret'=>"ProfId1",'s.siren'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.fk_typent'=>"ThirdPartyType",'s.fk_effectif'=>"Staff","s.fk_forme_juridique"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel','s.fk_stcomm'=>'ProspectStatus','s.default_lang'=>'DefaultLanguage','s.barcode'=>'BarCode','s.datec'=>"DateCreation"); // Add extra fields - $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'company' AND entity = ".$conf->entity; + $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'societe' AND entity = ".$conf->entity; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) { @@ -381,7 +401,7 @@ class modSociete extends DolibarrModules $this->import_tables_array[$r]=array('s'=>MAIN_DB_PREFIX.'socpeople','extra'=>MAIN_DB_PREFIX.'socpeople_extrafields'); // List of tables to insert into (insert done in same order) $this->import_fields_array[$r]=array('s.fk_soc'=>'ThirdPartyName*','s.civilite'=>'UserTitle','s.lastname'=>"Name*",'s.firstname'=>"Firstname",'s.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",'s.fk_pays'=>"CountryCode",'s.birthday'=>"BirthdayDate",'s.poste'=>"Role",'s.phone'=>"Phone",'s.phone_perso'=>"PhonePerso",'s.phone_mobile'=>"PhoneMobile",'s.fax'=>"Fax",'s.email'=>"Email",'s.note_private'=>"Note",'s.note_public'=>"Note",'s.datec'=>"DateCreation"); // Add extra fields - $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'contact' AND entity = ".$conf->entity; + $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'socpeople' AND entity = ".$conf->entity; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) { From 4d3738410eb15c134b8c03ae37a8042bcd2a49e6 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Tue, 30 Jul 2013 15:18:19 +0200 Subject: [PATCH 6/8] update no_email column on unsubcribe link for contact --- htdocs/public/emailing/mailing-unsubscribe.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/emailing/mailing-unsubscribe.php b/htdocs/public/emailing/mailing-unsubscribe.php index 3f86685fad3..ec95078808c 100644 --- a/htdocs/public/emailing/mailing-unsubscribe.php +++ b/htdocs/public/emailing/mailing-unsubscribe.php @@ -85,7 +85,7 @@ if (! empty($tag) && ($unsuscrib=='1')) $resql=$db->query($sql); //Update status communication of contact prospect - $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=-1 WHERE rowid IN (SELECT fk_soc FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$db->escape($tag)."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)"; + $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET no_email=1 WHERE rowid IN (SELECT rowid FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$db->escape($tag)."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)"; dol_syslog("public/emailing/mailing-unsubscribe.php : Mail unsubcribe contact : ".$sql, LOG_DEBUG); $resql=$db->query($sql); From ecfca853a1158e9f94b19c902d731142ba615945 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Jul 2013 11:19:49 +0200 Subject: [PATCH 7/8] Fix: Search on contract ref --- htdocs/contrat/liste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/contrat/liste.php b/htdocs/contrat/liste.php index 2042b5c45f7..bece4ebdf3c 100644 --- a/htdocs/contrat/liste.php +++ b/htdocs/contrat/liste.php @@ -80,7 +80,7 @@ $sql.= " AND c.entity = ".$conf->entity; if ($socid) $sql.= " AND s.rowid = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($search_nom) $sql.= " AND s.nom LIKE '%".$db->escape($search_nom)."%'"; -if ($search_contract) $sql.= " AND c.rowid = '".$db->escape($search_contract)."'"; +if ($search_contract) $sql.= " AND (".(is_numeric($search_contract)?"c.rowid = '".$db->escape($search_contract)."' OR ":'')." c.ref = '".$db->escape($search_contract)."')"; if ($sall) $sql.= " AND (s.nom LIKE '%".$db->escape($sall)."%' OR cd.label LIKE '%".$db->escape($sall)."%' OR cd.description LIKE '%".$db->escape($sall)."%')"; $sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut,"; $sql.= " s.nom, s.rowid"; From c4ebdf18e702e1d8838148d41ffadbb91ee592f7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Jul 2013 11:22:52 +0200 Subject: [PATCH 8/8] Fix: search on contract ref --- htdocs/contrat/liste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/contrat/liste.php b/htdocs/contrat/liste.php index bece4ebdf3c..3140834b626 100644 --- a/htdocs/contrat/liste.php +++ b/htdocs/contrat/liste.php @@ -80,7 +80,7 @@ $sql.= " AND c.entity = ".$conf->entity; if ($socid) $sql.= " AND s.rowid = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($search_nom) $sql.= " AND s.nom LIKE '%".$db->escape($search_nom)."%'"; -if ($search_contract) $sql.= " AND (".(is_numeric($search_contract)?"c.rowid = '".$db->escape($search_contract)."' OR ":'')." c.ref = '".$db->escape($search_contract)."')"; +if ($search_contract) $sql.= " AND (".(is_numeric($search_contract)?"c.rowid = ".$db->escape($search_contract)." OR ":'')." c.ref LIKE '%".$db->escape($search_contract)."%')"; if ($sall) $sql.= " AND (s.nom LIKE '%".$db->escape($sall)."%' OR cd.label LIKE '%".$db->escape($sall)."%' OR cd.description LIKE '%".$db->escape($sall)."%')"; $sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut,"; $sql.= " s.nom, s.rowid";