Laurent Destailleur 6 years ago
parent
commit
21b3bbc2e6

+ 1 - 1
htdocs/compta/bank/class/account.class.php

@@ -1471,7 +1471,7 @@ class Account extends CommonObject
 	{
 		$country_code=$this->getCountryCode();
 
-		if (in_array($country_code,array('CH','FR','ES','GA','IT','NC'))) return 1; // France, Spain, Gabon, ...
+		if (in_array($country_code,array('FR','ES','GA','IT','NC'))) return 1; // France, Spain, Gabon, ... - Not valid for CH
 		if (in_array($country_code,array('AU','BE','CA','DE','DK','GR','GB','ID','IE','IR','KR','NL','NZ','UK','US'))) return 2;      // Australia, England...
 		return 0;
 	}

+ 1 - 1
htdocs/core/lib/pdf.lib.php

@@ -728,7 +728,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
 			$cury+=3;
 		}
 
-		if (empty($conf->global->PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN))    // Note that some countries still need bank number, BIC/IBAN not enought for them
+		if (empty($conf->global->PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN))    // Note that some countries still need bank number, BIC/IBAN not enougth for them
 		{
 		    // Note:
 		    // bank = code_banque (FR), sort code (GB, IR. Example: 12-34-56)

+ 4 - 4
htdocs/core/modules/modSociete.class.php

@@ -265,7 +265,7 @@ class modSociete extends DolibarrModules
 			's.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.code_compta'=>"AccountancyCode",'s.code_compta_fournisseur'=>"SupplierAccountancyCode",
 			's.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",'d.nom'=>'State','c.label'=>"Country",'c.code'=>"CountryCode",'s.phone'=>"Phone",'s.fax'=>"Fax",
 			's.url'=>"Url",'s.email'=>"Email",'s.default_lang'=>"DefaultLang",'s.siren'=>"ProfId1",'s.siret'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",
-			's.idprof5'=>"ProfId5",'s.idprof6'=>"ProfId6",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",
+			's.idprof5'=>"ProfId5",'s.idprof6'=>"ProfId6",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.canvas'=>"Canvas",
 			't.libelle'=>"ThirdPartyType",'ce.code'=>"Staff","cfj.libelle"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel',
 			'st.code'=>'ProspectStatus','payterm.libelle'=>'PaymentConditions','paymode.libelle'=>'PaymentMode'
 		);
@@ -292,7 +292,7 @@ class modSociete extends DolibarrModules
 			's.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.code_compta'=>"Text",'s.code_compta_fournisseur'=>"Text",'s.address'=>"Text",'s.zip'=>"Text",
 			's.town'=>"Text",'c.label'=>"List:c_country:label:label",'c.code'=>"Text",'s.phone'=>"Text",'s.fax'=>"Text",'s.url'=>"Text",'s.email'=>"Text",
 			's.default_lang'=>"Text",'s.siret'=>"Text",'s.siren'=>"Text",'s.ape'=>"Text",'s.idprof4'=>"Text",'s.idprof5'=>"Text",'s.idprof6'=>"Text",
-			's.tva_intra'=>"Text",'s.capital'=>"Numeric",'s.note_private'=>"Text",'s.note_public'=>"Text",'t.libelle'=>"Text",
+			's.tva_intra'=>"Text",'s.capital'=>"Numeric",'s.note_private'=>"Text",'s.note_public'=>"Text",'s.canvas'=>"Text",'t.libelle'=>"Text",
 			'ce.code'=>"List:c_effectif:libelle:code","cfj.libelle"=>"Text",'s.fk_prospectlevel'=>'List:c_prospectlevel:label:code',
 			'st.code'=>'List:c_stcomm:libelle:code','d.nom'=>'Text','u.login'=>'Text','u.firstname'=>'Text','u.lastname'=>'Text','payterm.libelle'=>'Text',
 			'paymode.libelle'=>'Text','s.entity'=>'Numeric'
@@ -390,7 +390,7 @@ class modSociete extends DolibarrModules
 			's.code_compta'=>"CustomerAccountancyCode",'s.code_compta_fournisseur'=>"SupplierAccountancyCode",'s.address'=>"Address",'s.zip'=>"Zip",'s.town'=>"Town",
 			's.fk_departement'=>"StateId",'s.fk_pays'=>"CountryCode",'s.phone'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.siren'=>"ProfId1",
 			's.siret'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.idprof5'=>"ProfId5",'s.idprof6'=>"ProfId6",'s.tva_intra'=>"VATIntraShort",
-			's.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.fk_typent'=>"ThirdPartyType",'s.fk_effectif'=>"Staff",
+			's.capital'=>"Capital",'s.note_private'=>"NotePrivate",'s.note_public'=>"NotePublic",'s.canvas'=>"Canvas",'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"
 		);
@@ -494,7 +494,7 @@ class modSociete extends DolibarrModules
 				'sr.cle_rib'=>"22",'sr.bic'=>"USHINGMMXXX",'sr.iban_prefix'=>"US00 0000 1111 22 3333 3333",'sr.domiciliation'=>"PARIS",'sr.proprio' => "Name of owner", 'sr.owner_address' => "15 paris street 75000 Paris", 'sr.default_rib' => '1 or 0'
 		);
 
-		// Import Company Salesman
+		// Import Company Sales representatives
 		$r++;
 		$this->import_code[$r]=$this->rights_class.'_'.$r;
 		$this->import_label[$r]="ImportDataset_company_4";	// Translation key

+ 4 - 12
htdocs/install/mysql/migration/7.0.0-8.0.0.sql

@@ -218,7 +218,9 @@ UPDATE llx_societe_rib set type = 'ban' where type = '' OR type IS NULL;
 -- VMYSQL4.3 ALTER TABLE llx_societe_rib MODIFY COLUMN type varchar(32) NOT NULL;
 -- VPGSQL8.2 ALTER TABLE llx_societe_rib ALTER COLUMN type SET NOT NULL;
    
-   
+
+ALTER TABLE llx_ticket_msg DROP FOREIGN KEY fk_ticket_msg_fk_track_id;
+
 -- Module ticket
 CREATE TABLE llx_ticket
 (
@@ -265,17 +267,6 @@ CREATE TABLE llx_ticket_msg
 
 ALTER TABLE llx_ticket_msg ADD CONSTRAINT fk_ticket_msg_fk_track_id FOREIGN KEY (fk_track_id) REFERENCES llx_ticket (track_id);
 
-CREATE TABLE llx_ticket_logs
-(
-	rowid       integer AUTO_INCREMENT PRIMARY KEY,
-	entity		integer DEFAULT 1,
-	fk_track_id   varchar(128),
-	fk_user_create	integer,
-	datec datetime,
-	message	text
-)ENGINE=innodb;
-
-ALTER TABLE llx_ticket_logs ADD CONSTRAINT fk_ticket_logs_fk_track_id FOREIGN KEY (fk_track_id) REFERENCES llx_ticket (track_id);
 
 CREATE TABLE llx_ticket_extrafields
 (
@@ -568,3 +559,4 @@ ALTER TABLE llx_advtargetemailing ADD COLUMN type_element varchar(180) NOT NULL;
 UPDATE llx_advtargetemailing SET fk_element = fk_mailing, type_element='mailing';
 ALTER TABLE llx_advtargetemailing DROP COLUMN fk_mailing;
 
+DROP TABLE llx_ticket_logs;

+ 0 - 17
htdocs/install/mysql/tables/llx_ticket_logs.key.sql

@@ -1,17 +0,0 @@
--- SQL definition for module ticket
--- Copyright (C) 2013  Jean-François FERRY <hello@librethic.io>
---
--- 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
--- the Free Software Foundation, either version 3 of the License, or
--- (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-ALTER TABLE llx_ticket_logs ADD CONSTRAINT fk_ticket_logs_fk_track_id FOREIGN KEY (fk_track_id) REFERENCES llx_ticket (track_id);

+ 0 - 25
htdocs/install/mysql/tables/llx_ticket_logs.sql

@@ -1,25 +0,0 @@
--- SQL definition for module ticket
--- Copyright (C) 2013  Jean-François FERRY <hello@librethic.io>
---
--- 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
--- the Free Software Foundation, either version 3 of the License, or
--- (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-CREATE TABLE llx_ticket_logs
-(
-	rowid       integer AUTO_INCREMENT PRIMARY KEY,
-	entity		integer DEFAULT 1,
-	fk_track_id   varchar(128),
-	fk_user_create	integer,
-	datec datetime,
-	message	text
-)ENGINE=innodb;

+ 0 - 364
htdocs/ticket/class/ticketlogs.class.php

@@ -1,364 +0,0 @@
-<?php
-/* Copyright (C) 2013-2016  Jean-François FERRY     <hello@librethic.io>
- * Copyright (C) 2018       Frédéric France         <frederic.france@netlogic.fr>
- *
- * 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
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- *  \file       ticket/class/ticketlogs.class.php
- *  \ingroup    ticket
- *  \brief      This file CRUD class file (Create/Read/Update/Delete) for ticket logs
- */
-
-// Put here all includes required by your class file
-require_once DOL_DOCUMENT_ROOT . "/core/class/commonobject.class.php";
-//require_once DOL_DOCUMENT_ROOT."/societe/class/societe.class.php";
-//require_once DOL_DOCUMENT_ROOT."/product/class/product.class.php";
-
-
-/**
- * Class of log for ticket
- */
-class Ticketlogs// extends CommonObject
-{
-    /**
-     * @var DoliDB Database handler.
-     */
-    public $db;
-
-    /**
-     * @var string Error code (or message)
-     */
-    public $error;
-
-    /**
-     * @var string[] Error codes (or messages)
-     */
-    public $errors = array();
-
-    /**
-     * @var string ID to identify managed object
-     */
-    public $element = 'ticketlogs';
-
-    /**
-     * @var string Name of table without prefix where object is stored
-     */
-    public $table_element = 'ticketlogs'; //!< Name of table without prefix where object is stored
-
-    /**
-	 * @var int ID
-	 */
-	public $id;
-
-	/**
-     * @var string trackid
-     */
-    public $fk_track_id;
-
-    /**
-     * @var int user create ID
-     */
-    public $fk_user_create;
-
-    public $datec = '';
-    public $message;
-
-    /**
-     *  Constructor
-     *
-     *  @param DoliDb $db Database handler
-     */
-    public function __construct($db)
-    {
-        $this->db = $db;
-    }
-
-    /**
-     *  Create object into database
-     *
-     *  @param  User $user      User that creates
-     *  @param  int  $notrigger 0=launch triggers after, 1=disable triggers
-     *  @return int             <0 if KO, Id of created object if OK
-     */
-    public function create($user, $notrigger = 0)
-    {
-        global $conf, $langs;
-        $error = 0;
-
-        // Clean parameters
-
-        if (isset($this->fk_track_id)) {
-            $this->fk_track_id = trim($this->fk_track_id);
-        }
-
-        if (isset($this->fk_user_create)) {
-            $this->fk_user_create = (int) $this->fk_user_create;
-        }
-
-        if (isset($this->message)) {
-            $this->message = trim($this->message);
-        }
-
-        // Check parameters
-        // Put here code to add control on parameters values
-
-        // Insert request
-        $sql = "INSERT INTO " . MAIN_DB_PREFIX . "ticket_logs(";
-
-        $sql .= "fk_track_id,";
-        $sql .= "fk_user_create,";
-        $sql .= "datec,";
-        $sql .= "message";
-
-        $sql .= ") VALUES (";
-
-        $sql .= " " . (!isset($this->fk_track_id) ? 'NULL' : "'" . $this->db->escape($this->fk_track_id) . "'") . ",";
-        $sql .= " " . (!isset($this->fk_user_create) ? 'NULL' : "'" . $this->db->escape($this->fk_user_create) . "'") . ",";
-        $sql .= " " . (!isset($this->datec) || dol_strlen($this->datec) == 0 ? 'NULL' : "'" . $this->db->idate($this->datec). "'") . ",";
-        $sql .= " " . (!isset($this->message) ? 'NULL' : "'" . $this->db->escape($this->message) . "'") . "";
-
-        $sql .= ")";
-
-        $this->db->begin();
-
-        dol_syslog(get_class($this) . "::create sql=" . $sql, LOG_DEBUG);
-        $resql = $this->db->query($sql);
-        if (!$resql) {
-            $error++;
-            $this->errors[] = "Error " . $this->db->lasterror();
-        }
-
-        if (!$error) {
-            $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "ticket_logs");
-
-            //if (!$notrigger) {
-                // Uncomment this and change MYOBJECT to your own tag if you
-                // want this action calls a trigger.
-
-                //// Call triggers
-                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
-                //$interface=new Interfaces($this->db);
-                //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
-                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
-                //// End call triggers
-            //}
-        }
-
-        // Commit or rollback
-        if ($error) {
-            foreach ($this->errors as $errmsg) {
-                dol_syslog(get_class($this) . "::create " . $errmsg, LOG_ERR);
-                $this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
-            }
-            $this->db->rollback();
-            return -1 * $error;
-        } else {
-            $this->db->commit();
-            return $this->id;
-        }
-    }
-
-    /**
-     *  Load object in memory from the database
-     *
-     *  @param  int $id 		Id object
-     *  @return int              <0 if KO, >0 if OK
-     */
-    public function fetch($id)
-    {
-        global $langs;
-        $sql = "SELECT";
-        $sql .= " t.rowid,";
-
-        $sql .= " t.fk_track_id,";
-        $sql .= " t.fk_user_create,";
-        $sql .= " t.datec,";
-        $sql .= " t.message";
-
-        $sql .= " FROM " . MAIN_DB_PREFIX . "ticket_logs as t";
-        $sql .= " WHERE t.rowid = " . $id;
-
-        dol_syslog(get_class($this) . "::fetch sql=" . $sql, LOG_DEBUG);
-        $resql = $this->db->query($sql);
-        if ($resql) {
-            if ($this->db->num_rows($resql)) {
-                $obj = $this->db->fetch_object($resql);
-
-                $this->id = $obj->rowid;
-
-                $this->fk_track_id = $obj->fk_track_id;
-                $this->fk_user_create = $obj->fk_user_create;
-                $this->datec = $this->db->jdate($obj->datec);
-                $this->message = $obj->message;
-            }
-            $this->db->free($resql);
-
-            return 1;
-        } else {
-            $this->error = "Error " . $this->db->lasterror();
-            dol_syslog(get_class($this) . "::fetch " . $this->error, LOG_ERR);
-            return -1;
-        }
-    }
-
-    /**
-     *  Update object into database
-     *
-     *  @param  User $user      User that modifies
-     *  @param  int  $notrigger 0=launch triggers after, 1=disable triggers
-     *  @return int             <0 if KO, >0 if OK
-     */
-    public function update($user = 0, $notrigger = 0)
-    {
-        global $conf, $langs;
-        $error = 0;
-
-        // Clean parameters
-
-        if (isset($this->fk_track_id)) {
-            $this->fk_track_id = trim($this->fk_track_id);
-        }
-
-        if (isset($this->fk_user_create)) {
-            $this->fk_user_create = (int) $this->fk_user_create;
-        }
-
-        if (isset($this->message)) {
-            $this->message = trim($this->message);
-        }
-
-        // Check parameters
-        // Put here code to add a control on parameters values
-
-        // Update request
-        $sql = "UPDATE " . MAIN_DB_PREFIX . "ticket_logs SET";
-
-        $sql .= " fk_track_id=" . (isset($this->fk_track_id) ? "'" . $this->db->escape($this->fk_track_id) . "'" : "null") . ",";
-        $sql .= " fk_user_create=" . ($this->fk_user_create > 0 ? $this->fk_user_create : "null") . ",";
-        $sql .= " datec=" . (dol_strlen($this->datec) != 0 ? "'" . $this->db->idate($this->datec) . "'" : 'null') . ",";
-        $sql .= " message=" . (isset($this->message) ? "'" . $this->db->escape($this->message) . "'" : "null") . "";
-
-        $sql .= " WHERE rowid=" . $this->id;
-
-        $this->db->begin();
-
-        dol_syslog(get_class($this) . "::update sql=" . $sql, LOG_DEBUG);
-        $resql = $this->db->query($sql);
-        if (!$resql) {
-            $error++;
-            $this->errors[] = "Error " . $this->db->lasterror();
-        }
-
-        //if (!$error) {
-            //if (!$notrigger) {
-                // Uncomment this and change MYOBJECT to your own tag if you
-                // want this action calls a trigger.
-
-                //// Call triggers
-                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
-                //$interface=new Interfaces($this->db);
-                //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
-                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
-                //// End call triggers
-            //}
-        //}
-
-        // Commit or rollback
-        if ($error) {
-            foreach ($this->errors as $errmsg) {
-                dol_syslog(get_class($this) . "::update " . $errmsg, LOG_ERR);
-                $this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
-            }
-            $this->db->rollback();
-            return -1 * $error;
-        } else {
-            $this->db->commit();
-            return 1;
-        }
-    }
-
-    /**
-     *  Delete object in database
-     *
-     *  @param  User $user      	User that deletes
-     *  @param  int  $notrigger 	0=launch triggers after, 1=disable triggers
-     *  @return int                 <0 if KO, >0 if OK
-     */
-    public function delete($user, $notrigger = 0)
-    {
-        global $conf, $langs;
-        $error = 0;
-
-        $this->db->begin();
-
-        //if (!$error) {
-            //if (!$notrigger) {
-                // Uncomment this and change MYOBJECT to your own tag if you
-                // want this action calls a trigger.
-
-                //// Call triggers
-                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
-                //$interface=new Interfaces($this->db);
-                //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
-                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
-                //// End call triggers
-            //}
-        //}
-
-        if (!$error) {
-            $sql = "DELETE FROM " . MAIN_DB_PREFIX . "ticket_logs";
-            $sql .= " WHERE rowid=" . $this->id;
-
-            dol_syslog(get_class($this) . "::delete sql=" . $sql);
-            $resql = $this->db->query($sql);
-            if (!$resql) {
-                $error++;
-                $this->errors[] = "Error " . $this->db->lasterror();
-            }
-        }
-
-        // Commit or rollback
-        if ($error) {
-            foreach ($this->errors as $errmsg) {
-                dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
-                $this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
-            }
-            $this->db->rollback();
-            return -1 * $error;
-        } else {
-            $this->db->commit();
-            return 1;
-        }
-    }
-
-    /**
-     *  Initialise object with example values
-     *  Id must be 0 if object instance is a specimen
-     *
-     *  @return void
-     */
-    public function initAsSpecimen()
-    {
-	global $user;
-	    
-        $this->id = 0;
-
-        $this->fk_track_id = '';
-        $this->fk_user_create = $user->id;
-        $this->datec = '';
-        $this->message = '';
-    }
-}