diff --git a/htdocs/admin/carrier.php b/htdocs/admin/carrier.php index d105dd28e6a..305b3f30529 100644 --- a/htdocs/admin/carrier.php +++ b/htdocs/admin/carrier.php @@ -41,17 +41,25 @@ $object = new Expedition($db); /* * Actions */ -if ($action==setvalue AND $carrier) +//if ($action==setvalue AND $carrier) +if ($action==setvalue) { - //$object->update_delivery_method($carrier); + // need to add check on values + $object->update[code]=GETPOST('code','alpha'); + $object->update[libelle]=GETPOST('libelle','alpha'); + $object->update[description]=GETPOST('description','alpha'); + $object->update[tracking]=GETPOST('tracking','alpha'); + $object->update_delivery_method($carrier); + header("Location: carrier.php"); + exit; } -if ($action==activate_carrier AND $carrier) +if ($action==activate_carrier AND $carrier!='') { $object->activ_delivery_method($carrier); } -if ($action==disable_carrier AND $carrier) +if ($action==disable_carrier AND $carrier!='') { $object->disable_delivery_method($carrier); } @@ -105,7 +113,7 @@ dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup")); if ($action=='edit_carrier' || $action=='setvalue') { // Carrier Edit - if ($carrier) $object->list_delivery_methods($carrier); + if ($carrier!='') $object->list_delivery_methods($carrier); print_titre($langs->trans("CarrierEdit")); print '
'; @@ -131,7 +139,7 @@ if ($action=='edit_carrier' || $action=='setvalue') $var=!$var; print ''; print $langs->trans("Name").''; - print ''; + print ''; print ''; $var=!$var; @@ -194,14 +202,7 @@ else print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } print ''; - if($object->listmeths[$i][editable] == 1) - { - print ''.img_picto($langs->trans("Edit"),'edit').''; - } - else - { - print ' '; - } + print ''.img_picto($langs->trans("Edit"),'edit').''; print ''; print "\n"; } @@ -215,4 +216,4 @@ else llxFooter(); $db->close(); -?> \ No newline at end of file +?> diff --git a/htdocs/core/modules/expedition/methode_expedition_chrono.modules.php b/htdocs/core/modules/expedition/methode_expedition_chrono.modules.php deleted file mode 100644 index 412545b3f6f..00000000000 --- a/htdocs/core/modules/expedition/methode_expedition_chrono.modules.php +++ /dev/null @@ -1,55 +0,0 @@ -. - */ - -/** - * \file htdocs/core/modules/expedition/methode_expedition_chrono.modules.php - * \ingroup expedition - */ - -include_once "methode_expedition.modules.php"; - -/** - * Class to manage shipment Chronopost - */ -class methode_expedition_chrono extends ModeleShippingMethod -{ - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - function __construct($db=0) - { - $this->db = $db; - $this->id = 8; // Do not change this value - $this->code = "CHRONO"; // Do not change this value - $this->name = "Chronopost"; - $this->description = "Chronopost"; - } - - /** - * Return URL of provider - * - * @param string $tracking_number Tracking number - * @return string URL for tracking - */ - function provider_url_status($tracking_number) - { - return sprintf("http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros=%s",$tracking_number); - } -} - -?> diff --git a/htdocs/core/modules/expedition/methode_expedition_gls.modules.php b/htdocs/core/modules/expedition/methode_expedition_gls.modules.php deleted file mode 100644 index 0fc67831a38..00000000000 --- a/htdocs/core/modules/expedition/methode_expedition_gls.modules.php +++ /dev/null @@ -1,55 +0,0 @@ -. - */ - -/* - * \file htdocs/core/modules/expedition/methode_expedition_gls.modules.php - * \ingroup expedition - */ - -include_once "methode_expedition.modules.php"; - -/** - * Class to manage shipment GLS - */ -class methode_expedition_gls extends ModeleShippingMethod -{ - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - function __construct($db=0) - { - $this->db = $db; - $this->id = 7; // Do not change this value - $this->code = "GLS"; // Do not change this value - $this->name = "GLS"; - $this->description = "General Logistics Systems"; - } - - /** - * Return URL of provider - * - * @param string $tracking_number Tracking number - * @return string URL for tracking - */ - function provider_url_status($tracking_number) - { - return sprintf("http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/FR01/FR/5004.htm?txtAction=71000&txtRefNo=%s",$tracking_number); - } -} - -?> diff --git a/htdocs/core/modules/expedition/methode_expedition_kiala.modules.php b/htdocs/core/modules/expedition/methode_expedition_kiala.modules.php deleted file mode 100644 index 503bacdc421..00000000000 --- a/htdocs/core/modules/expedition/methode_expedition_kiala.modules.php +++ /dev/null @@ -1,55 +0,0 @@ -. - * or see http://www.gnu.org/ - */ - -/* - * \file htdocs/core/modules/expedition/methode_expedition_kiala.modules.php - * \ingroup expedition - */ - -include_once "methode_expedition.modules.php"; - - -Class methode_expedition_kiala extends ModeleShippingMethod - -{ - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - function methode_expedition_kiala($db=0) - { - $this->db = $db; - $this->id = 6; // Do not change this value - $this->code = "KIALA"; // Do not change this value - $this->name = "KIALA"; - $this->description = "KIALA"; - } - - /** - * Return URL of provider - * - * @param string $tracking_number Tracking number - * @return string URL for tracking - */ - function provider_url_status($tracking_number) - { - return sprintf("http://www.kiala.fr/tnt/delivery/%s",$tracking_number); - } -} - -?> diff --git a/htdocs/core/modules/expedition/methode_expedition_ups.modules.php b/htdocs/core/modules/expedition/methode_expedition_ups.modules.php deleted file mode 100644 index 1225b5d7959..00000000000 --- a/htdocs/core/modules/expedition/methode_expedition_ups.modules.php +++ /dev/null @@ -1,54 +0,0 @@ -. - * or see http://www.gnu.org/ - */ - -/* - * \file htdocs/core/modules/expedition/methode_expedition_ups.modules.php - * \ingroup expedition - */ - -include_once "methode_expedition.modules.php"; - - -class methode_expedition_ups extends ModeleShippingMethod -{ - /** - * Constructor - * - * @param DoliDB $db Database handler - */ - function methode_expedition_ups($db=0) - { - $this->db = $db; - $this->id = 5; // Do not change this value - $this->code = "UPS"; // Do not change this value - $this->name = "UPS"; - $this->description = "United Parcel Service"; - } - - /** - * Return URL of provider - * - * @param string $tracking_number Tracking number - * @return string URL for tracking - */ - function provider_url_status($tracking_number) - { - return sprintf("http://wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber2=&InquiryNumber3=&tracknums_displayed=3&loc=fr_FR&TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber22=&InquiryNumber32=&track=Track&Suivi.x=64&Suivi.y=7&Suivi=Valider&InquiryNumber1=%s",$tracking_number); - } -} - -?> diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 240d5b8df13..030afdda322 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -1181,7 +1181,7 @@ class Expedition extends CommonObject $sql = "SELECT em.rowid, em.code, em.libelle, em.description, em.tracking, em.active"; $sql.= " FROM ".MAIN_DB_PREFIX."c_shipment_mode as em"; - if ($id) $sql.= " WHERE em.rowid=".$id; + if ($id!='') $sql.= " WHERE em.rowid=".$id; $resql = $this->db->query($sql); if ($resql) @@ -1196,8 +1196,6 @@ class Expedition extends CommonObject if ($obj->tracking) { $this->listmeths[$i][tracking] = $obj->tracking; - // editable or hardcoded - $this->listmeths[$i][editable] = 1; } else { @@ -1219,6 +1217,32 @@ class Expedition extends CommonObject } } + /** + * Update/create delivery method. + * @param id $id id method to activate + * @return void + */ + function update_delivery_method($id='') + { + if ($id=='') + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."c_shipment_mode (rowid, code, libelle, description, tracking)"; + $sql.=" VALUES ('','".$this->update[code]."','".$this->update[libelle]."','".$this->update[description]."','".$this->update[tracking]."')"; + $resql = $this->db->query($sql); + } + else + { + $sql = "UPDATE ".MAIN_DB_PREFIX."c_shipment_mode SET"; + $sql.= " code='".$this->update[code]."'"; + $sql.= ",libelle='".$this->update[libelle]."'"; + $sql.= ",description='".$this->update[description]."'"; + $sql.= ",tracking='".$this->update[tracking]."'"; + $sql.= " WHERE rowid=".$id; + $resql = $this->db->query($sql); + } + + } + /** * Activate delivery method. * @param id $id id method to activate diff --git a/htdocs/install/mysql/data/llx_c_shipment_mode.sql b/htdocs/install/mysql/data/llx_c_shipment_mode.sql index 74b8eaea6ce..a54a392fac7 100644 --- a/htdocs/install/mysql/data/llx_c_shipment_mode.sql +++ b/htdocs/install/mysql/data/llx_c_shipment_mode.sql @@ -33,8 +33,7 @@ INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (2,'TRANS','Transporter','Generic transporter','',1); INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (3,'COLSUI','Colissimo Suivi','Colissimo Suivi','',0); INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (4,'LETTREMAX','Lettre Max','Courrier Suivi et Lettre Max','',0); -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (5,'UPS','UPS','United Parcel Service','',0); -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (6,'KIALA','KIALA','Relais Kiala','',0); -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (7,'GLS','GLS','General Logistics Systems','',0); -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (8,'CHRONO','Chronopost','Chronopost','',0); -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (9,'EDIT','EDITABLE','Transporteur Modifiable','http://www.website.com/dir/{TRACKID}',0); +INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (5,'UPS','UPS','United Parcel Service','http://wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber2=&InquiryNumber3=&tracknums_displayed=3&loc=fr_FR&TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber22=&InquiryNumber32=&track=Track&Suivi.x=64&Suivi.y=7&Suivi=Valider&InquiryNumber1={TRACKID}',0); +INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (6,'KIALA','KIALA','Relais Kiala','http://www.kiala.fr/tnt/delivery/{TRACKID}',0); +INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (7,'GLS','GLS','General Logistics Systems','http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/FR01/FR/5004.htm?txtAction=71000&txtRefNo={TRACKID}',0); +INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (8,'CHRONO','Chronopost','Chronopost','http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros={TRACKID}',0); diff --git a/htdocs/install/mysql/migration/3.3.0-3.4.0.sql b/htdocs/install/mysql/migration/3.3.0-3.4.0.sql index d09e3ac6799..994b0dac14b 100755 --- a/htdocs/install/mysql/migration/3.3.0-3.4.0.sql +++ b/htdocs/install/mysql/migration/3.3.0-3.4.0.sql @@ -52,4 +52,9 @@ INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,active) VALUES ( INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,active) VALUES (8,'CHRONO','Chronopost','Chronopost',0); ALTER TABLE llx_c_shipment_mode ADD COLUMN tracking VARCHAR(256) NOT NULL AFTER description; -INSERT INTO llx_c_shipment_mode (rowid,code,libelle,description,tracking,active) VALUES (9,'EDIT','EDITABLE','Transporteur Modifiable','http://www.website.com/dir/{TRACKID}',0); +ALTER TABLE llx_c_shipment_mode MODIFY COLUMN rowid INT(11) NOT NULL AUTO_INCREMENT; + +INSERT INTO llx_c_shipment_mode (code,libelle,description,tracking,active) VALUES ('UPS','UPS','United Parcel Service','http://wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber2=&InquiryNumber3=&tracknums_displayed=3&loc=fr_FR&TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber22=&InquiryNumber32=&track=Track&Suivi.x=64&Suivi.y=7&Suivi=Valider&InquiryNumber1={TRACKID}',0); +INSERT INTO llx_c_shipment_mode (code,libelle,description,tracking,active) VALUES ('KIALA','KIALA','Relais Kiala','http://www.kiala.fr/tnt/delivery/{TRACKID}',0); +INSERT INTO llx_c_shipment_mode (code,libelle,description,tracking,active) VALUES ('GLS','GLS','General Logistics Systems','http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/FR01/FR/5004.htm?txtAction=71000&txtRefNo={TRACKID}',0); +INSERT INTO llx_c_shipment_mode (code,libelle,description,tracking,active) VALUES ('CHRONO','Chronopost','Chronopost','http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros={TRACKID}',0); diff --git a/htdocs/install/mysql/tables/llx_c_shipment_mode.sql b/htdocs/install/mysql/tables/llx_c_shipment_mode.sql index 591e3ff9b93..37d2d5f85c1 100644 --- a/htdocs/install/mysql/tables/llx_c_shipment_mode.sql +++ b/htdocs/install/mysql/tables/llx_c_shipment_mode.sql @@ -18,7 +18,7 @@ create table llx_c_shipment_mode ( - rowid integer PRIMARY KEY, + rowid integer AUTO_INCREMENT PRIMARY KEY, tms timestamp, code varchar(30) NOT NULL, libelle varchar(50) NOT NULL,