Addonline_Gls - Version 1.0.6

Version Notes

RAS

Download this release

Release Info

Developer Addonline
Extension Addonline_Gls
Version 1.0.6
Comparing to
See all releases


Code changes from version 1.0.3 to 1.0.6

Files changed (31) hide show
  1. app/code/community/Addonline/Gls/Block/Export/Orders/Grid.php +7 -0
  2. app/code/community/Addonline/Gls/GLS_15_GuideInstallationModuleMagento_01.pdf +0 -0
  3. app/code/community/Addonline/Gls/Helper/Data.php +35 -3
  4. app/code/community/Addonline/Gls/Model/Carrier/Abstract.php +3 -3
  5. app/code/community/Addonline/Gls/Model/Cron.php +79 -0
  6. app/code/community/Addonline/Gls/Model/Export.php +92 -23
  7. app/code/community/Addonline/Gls/Model/Import.php +9 -5
  8. app/code/community/Addonline/Gls/Model/Sales/Quote/Address.php +4 -4
  9. app/code/community/Addonline/Gls/Model/Service.php +3 -3
  10. app/code/community/Addonline/Gls/changelog +11 -0
  11. app/code/community/Addonline/Gls/controllers/AjaxController.php +69 -45
  12. app/code/community/Addonline/Gls/controllers/ExportController.php +26 -1
  13. app/code/community/Addonline/Gls/etc/config.xml +33 -8
  14. app/code/community/Addonline/Gls/etc/system.xml +107 -40
  15. app/code/community/Addonline/Gls/sql/gls_setup/mysql4-upgrade-1.0.3-1.0.4.php +17 -0
  16. app/design/adminhtml/default/default/template/gls/import/form.phtml +0 -56
  17. app/design/frontend/base/default/layout/gls.xml +0 -105
  18. app/design/frontend/base/default/template/gls/additional.phtml +0 -87
  19. app/design/frontend/base/default/template/gls/listrelais.phtml +0 -68
  20. app/design/frontend/base/default/template/gls/selector.phtml +0 -47
  21. app/locale/en_US/Addonline_Gls.csv +1 -1
  22. app/locale/fr_FR/Addonline_Gls.csv +14 -4
  23. js/jquery/jquery-migrate-1.2.1.min.js +2 -0
  24. package.xml +7 -36
  25. skin/frontend/base/default/css/gls.css +1 -1
  26. skin/frontend/base/default/images/gls/picto-layer.png +0 -0
  27. skin/frontend/base/default/images/gls/picto_fds.png +0 -0
  28. skin/frontend/base/default/images/gls/picto_relay.png +0 -0
  29. skin/frontend/base/default/images/gls/picto_tohome.png +0 -0
  30. skin/frontend/base/default/images/gls/picto_toyou.png +0 -0
  31. skin/frontend/base/default/js/gls.js +49 -20
app/code/community/Addonline/Gls/Block/Export/Orders/Grid.php CHANGED
@@ -254,6 +254,13 @@ class Addonline_Gls_Block_Export_Orders_Grid extends Mage_Adminhtml_Block_Widget
254
  'url' => $this->getUrl('*/*/export')
255
  )
256
  );
 
 
 
 
 
 
 
257
 
258
  return $this;
259
  }
254
  'url' => $this->getUrl('*/*/export')
255
  )
256
  );
257
+ $this->getMassactionBlock()->addItem(
258
+ 'export_order_local',
259
+ array(
260
+ 'label' => Mage::helper('gls')->__('Download'),
261
+ 'url' => $this->getUrl('*/*/download')
262
+ )
263
+ );
264
 
265
  return $this;
266
  }
app/code/community/Addonline/Gls/GLS_15_GuideInstallationModuleMagento_01.pdf ADDED
Binary file
app/code/community/Addonline/Gls/Helper/Data.php CHANGED
@@ -34,13 +34,29 @@ class Addonline_Gls_Helper_Data extends Mage_Core_Helper_Data
34
  {
35
  return Mage::getStoreConfig('carriers/gls/relay_xl_only');
36
  }
37
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  /**
39
  * répertoire d'export configuré en BO
40
  */
41
  public function getExportFolder ()
42
  {
43
- return Mage::getStoreConfig('carriers/gls/export_folder');
44
  }
45
 
46
  /**
@@ -48,7 +64,23 @@ class Addonline_Gls_Helper_Data extends Mage_Core_Helper_Data
48
  */
49
  public function getImportFolder ()
50
  {
51
- return Mage::getStoreConfig('carriers/gls/import_folder');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
53
 
54
  /**
34
  {
35
  return Mage::getStoreConfig('carriers/gls/relay_xl_only');
36
  }
37
+
38
+ /**
39
+ * Cron activé ou non configuré en BO
40
+ */
41
+ public function getImportExportActive ()
42
+ {
43
+ return Mage::getStoreConfig('gls/import_export/active');
44
+ }
45
+
46
+ /**
47
+ * Fréquence configurée en BO
48
+ */
49
+ public function getFrequence ()
50
+ {
51
+ return Mage::getStoreConfig('gls/import_export/frequence');
52
+ }
53
+
54
  /**
55
  * répertoire d'export configuré en BO
56
  */
57
  public function getExportFolder ()
58
  {
59
+ return Mage::getStoreConfig('gls/import_export/export_folder');
60
  }
61
 
62
  /**
64
  */
65
  public function getImportFolder ()
66
  {
67
+ return Mage::getStoreConfig('gls/import_export/import_folder');
68
+ }
69
+
70
+ /**
71
+ * Statut d'import configuré en BO
72
+ */
73
+ public function getImportStatus ()
74
+ {
75
+ return Mage::getStoreConfig('gls/import_export/import_order_status');
76
+ }
77
+
78
+ /**
79
+ * Statut d'export configuré en BO
80
+ */
81
+ public function getExportStatus ()
82
+ {
83
+ return Mage::getStoreConfig('gls/import_export/export_order_status');
84
  }
85
 
86
  /**
app/code/community/Addonline/Gls/Model/Carrier/Abstract.php CHANGED
@@ -152,9 +152,9 @@ abstract class Addonline_Gls_Model_Carrier_Abstract extends Mage_Shipping_Model_
152
  if($this->__getConfigData('livraisontohome')){
153
  $allConfigurations .= $this->__getConfigData('configtohome');
154
  }
155
- // if($this->__getConfigData('livraisontoyou')){
156
- // $allConfigurations .= ($allConfigurations?',':'').$this->__getConfigData('configtoyou');
157
- // }
158
  if($this->__getConfigData('livraisonrelay')){
159
  $allConfigurations .= ($allConfigurations?',':'').$this->__getConfigData('configrelay');
160
  }
152
  if($this->__getConfigData('livraisontohome')){
153
  $allConfigurations .= $this->__getConfigData('configtohome');
154
  }
155
+ if($this->__getConfigData('livraisonfds')){
156
+ $allConfigurations .= ($allConfigurations?',':'').$this->__getConfigData('configfds');
157
+ }
158
  if($this->__getConfigData('livraisonrelay')){
159
  $allConfigurations .= ($allConfigurations?',':'').$this->__getConfigData('configrelay');
160
  }
app/code/community/Addonline/Gls/Model/Cron.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Log Cron Backend Model
5
+ *
6
+ * @category Mage
7
+ * @package Mage_Adminhtml
8
+ * @author Magento Core Team <core@magentocommerce.com>
9
+ */
10
+ class Addonline_Gls_Model_Cron extends Mage_Core_Model_Config_Data
11
+ {
12
+
13
+
14
+ const CRON_STRING_PATH = 'gls/import_export/cron_expression';
15
+
16
+ /**
17
+ * Cron settings after save
18
+ *
19
+ * @return Mage_Adminhtml_Model_System_Config_Backend_Log_Cron
20
+ */
21
+ protected function _afterSave()
22
+ {
23
+ $helperGls = Mage::helper('gls');
24
+ $enabled = $helperGls->getImportExportActive();
25
+ $frequncy = $helperGls->getFrequence();
26
+
27
+ if ($enabled && $frequncy) {
28
+ $cronExprString = '*/'.$frequncy.' * * * *';
29
+ }
30
+ else {
31
+ $cronExprString = '';
32
+ }
33
+
34
+ try {
35
+ Mage::getModel('core/config_data')
36
+ ->load(self::CRON_STRING_PATH, 'path')
37
+ ->setValue($cronExprString)
38
+ ->setPath(self::CRON_STRING_PATH)
39
+ ->save();
40
+ }
41
+ catch (Exception $e) {
42
+ Mage::throwException(Mage::helper('adminhtml')->__('Unable to save the cron expression.'));
43
+ }
44
+ }
45
+
46
+ public function import_export(){
47
+
48
+ /*
49
+ * Import des commandes
50
+ */
51
+
52
+ //Lancement de l'import des commandes
53
+ $import = Mage::getModel('gls/import');
54
+ $import->import();
55
+
56
+ /*
57
+ * Export des commandes
58
+ */
59
+
60
+ //Récupération du statut des commandes à exporter
61
+ $export_status = Mage::helper('gls')->getExportStatus();
62
+
63
+ Mage::log('import_export : '.$export_status,null,'gls.log');
64
+
65
+ //Récupération des commandes non encore exportée
66
+ $order_collection = Mage::getModel('sales/order')->getCollection()
67
+ ->addFieldToFilter('status', array('eq' => $export_status))
68
+ ->addAttributeToFilter('shipping_method',array('like' => 'gls_%'))
69
+ //->addFieldToFilter('gls_exported', array('neq' => 1))
70
+ ->addFieldToFilter('gls_exported', array('null' => true));
71
+
72
+
73
+ Mage::log('import_export : '.$order_collection->getSelect()->__toString(),null,'gls.log');
74
+
75
+ //Lancement de l'export des commandes en passant la collection des commandes
76
+ $export = Mage::getModel('gls/export');
77
+ $export->export($order_collection);
78
+ }
79
+ }
app/code/community/Addonline/Gls/Model/Export.php CHANGED
@@ -36,6 +36,14 @@ class Addonline_Gls_Model_Export
36
  public $fileMimeType;
37
 
38
  public $fileCharset;
 
 
 
 
 
 
 
 
39
 
40
  public function run ()
41
  {
@@ -45,7 +53,7 @@ class Addonline_Gls_Model_Export
45
  }
46
  }
47
 
48
- public function export ($collection)
49
  {
50
  if ($collection->getSize() > 0) {
51
 
@@ -73,6 +81,7 @@ class Addonline_Gls_Model_Export
73
  'PRODUCTNO',
74
  'ORDERWEIGHTTOT',
75
  'CONSID',
 
76
  'CONTACTMAIL',
77
  'CONTACTMOBILE',
78
  'CONTACTPHONE',
@@ -97,26 +106,44 @@ class Addonline_Gls_Model_Export
97
  // ORDERID
98
  $aRow[] = $order->getIncrementId();
99
 
100
- // ORDERNAME
101
- $aRow[] = mb_strtoupper(
102
- $shippingAddress->getFirstname() . ' ' . $shippingAddress->getLastname(),
103
- 'UTF-8'
104
- );
 
 
 
 
105
 
106
  // PRODUCTNO
107
- $shippingMethod = $order->getShippingMethod();
108
- $shippingCode = $shippingMethod;
109
- if (strpos($shippingMethod, 'ls_tohome') > 0) {
110
- // $shippingCode = 'BP';
111
- $shippingCode = ''; // le bon code sera déterminé par winExpé, selon le pays de destination
 
 
 
112
  }
113
- // if (strpos($shipping_method, 'ls_toyou') > 0) {
114
- // $shipping_code = 'ADO';
115
- // }
116
- if (strpos($shippingMethod, 'ls_relay') > 0) {
117
- $shippingCode = 'SHD';
 
 
 
 
 
 
 
 
 
118
  }
119
- $aRow[] = $shippingCode;
 
 
120
 
121
  // ORDERWEIGHTTOT
122
  $totalWeight = 0;
@@ -124,11 +151,21 @@ class Addonline_Gls_Model_Export
124
  foreach ($items as $item) {
125
  $totalWeight += $item->getRowWeight();
126
  }
127
- $aRow[] = $totalWeight;
128
 
129
  // CONSID
130
  $aRow[] = $order->getCustomerId();
131
 
 
 
 
 
 
 
 
 
 
 
132
  // CONTACTMAIL
133
  $aRow[] = $shippingAddress->getEmail();
134
 
@@ -177,12 +214,21 @@ class Addonline_Gls_Model_Export
177
 
178
  // Adding the order to the export array
179
  $aOrdersToExport[] = $aRow;
 
 
 
 
180
  }
181
 
182
- /*
183
- * Save the file
184
- */
185
- $this->array2csv($aOrdersToExport, $this->filename, $delimiter, $encloser, $exportFolder);
 
 
 
 
 
186
  } else {
187
  Mage::log("Export : " . Mage::helper('gls')->__('No Order has been selected'), null, self::LOG_FILE);
188
  }
@@ -226,4 +272,27 @@ class Addonline_Gls_Model_Export
226
  fclose($df);
227
  return ob_get_clean();
228
  }
229
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  public $fileMimeType;
37
 
38
  public $fileCharset;
39
+
40
+ private $_aProductnoCorrespondance = array(
41
+ 'ls_tohome' => 02,
42
+ 'ls_tohome_international' => 01,
43
+ 'ls_fds' => 18,
44
+ 'ls_fds_international' => 19,
45
+ 'ls_relay' => 17
46
+ );
47
 
48
  public function run ()
49
  {
53
  }
54
  }
55
 
56
+ public function export ($collection, $local = false)
57
  {
58
  if ($collection->getSize() > 0) {
59
 
81
  'PRODUCTNO',
82
  'ORDERWEIGHTTOT',
83
  'CONSID',
84
+ 'CONTACT',
85
  'CONTACTMAIL',
86
  'CONTACTMOBILE',
87
  'CONTACTPHONE',
106
  // ORDERID
107
  $aRow[] = $order->getIncrementId();
108
 
109
+ // ORDERNAME
110
+ if($shippingAddress->getCompany()){
111
+ $aRow[] = mb_strtoupper($shippingAddress->getCompany());
112
+ }else{
113
+ $aRow[] = mb_strtoupper(
114
+ $shippingAddress->getFirstname() . ' ' . $shippingAddress->getLastname(),
115
+ 'UTF-8'
116
+ );
117
+ }
118
 
119
  // PRODUCTNO
120
+ $shippingMethod = $order->getShippingMethod();
121
+
122
+ //On regarde si la livraison est en France
123
+ $country_code = mb_strtoupper($shippingAddress->getCountry(), 'UTF-8');
124
+ if($country_code != 'FR'){
125
+ $international = true;
126
+ }else{
127
+ $international = false;
128
  }
129
+
130
+ if (strpos($shippingMethod, 'ls_tohome') > 0) {
131
+ if($international){
132
+ $aRow[] = $this->_aProductnoCorrespondance['ls_tohome_international'];
133
+ }else{
134
+ $aRow[] = $this->_aProductnoCorrespondance['ls_tohome'];
135
+ }
136
+ }
137
+ if (strpos($shippingMethod, 'ls_fds') > 0) {
138
+ if($international){
139
+ $aRow[] = $this->_aProductnoCorrespondance['ls_fds_international'];
140
+ }else{
141
+ $aRow[] = $this->_aProductnoCorrespondance['ls_fds'];
142
+ }
143
  }
144
+ if (strpos($shippingMethod, 'ls_relay') > 0) {
145
+ $aRow[] = $this->_aProductnoCorrespondance['ls_relay'];
146
+ }
147
 
148
  // ORDERWEIGHTTOT
149
  $totalWeight = 0;
151
  foreach ($items as $item) {
152
  $totalWeight += $item->getRowWeight();
153
  }
154
+ $aRow[] = str_pad(number_format($totalWeight, 2, '.', ''), 5, "0", STR_PAD_LEFT);
155
 
156
  // CONSID
157
  $aRow[] = $order->getCustomerId();
158
 
159
+ // CONTACT
160
+ if($shippingAddress->getCompany()){
161
+ $aRow[] = mb_strtoupper(
162
+ $shippingAddress->getFirstname() . ' ' . $shippingAddress->getLastname(),
163
+ 'UTF-8'
164
+ );
165
+ }else{
166
+ $aRow[] = '';
167
+ }
168
+
169
  // CONTACTMAIL
170
  $aRow[] = $shippingAddress->getEmail();
171
 
214
 
215
  // Adding the order to the export array
216
  $aOrdersToExport[] = $aRow;
217
+
218
+ //On flag la commande comme exportée
219
+ $order->setGlsExported(1);
220
+ $order->save();
221
  }
222
 
223
+
224
+ if(!$local){
225
+ /*
226
+ * Save the file
227
+ */
228
+ $this->array2csv($aOrdersToExport, $this->filename, $delimiter, $encloser, $exportFolder);
229
+ }else{
230
+ return $this->printCsv($aOrdersToExport, $this->filename, $delimiter, $encloser);
231
+ }
232
  } else {
233
  Mage::log("Export : " . Mage::helper('gls')->__('No Order has been selected'), null, self::LOG_FILE);
234
  }
272
  fclose($df);
273
  return ob_get_clean();
274
  }
275
+
276
+ public function printCsv(array &$array,
277
+ $filename,
278
+ $delimiter = ';',
279
+ $encloser = '"')
280
+ {
281
+ if (count($array) == 0) {
282
+ return null;
283
+ }
284
+
285
+ $csvData = '';
286
+ foreach ($array as $row) {
287
+ // WINEXPE attends de l'ISO-8859-1
288
+ $rowData = '';
289
+ foreach (array_keys($row) as $key) {
290
+ $cellData = $encloser.iconv('UTF-8', 'ISO-8859-9', $row[$key]).$encloser.$delimiter;
291
+ $rowData .= $cellData;
292
+ }
293
+ $csvData .= $rowData."\r\n";
294
+
295
+ }
296
+ return $csvData;
297
+ }
298
+ }
app/code/community/Addonline/Gls/Model/Import.php CHANGED
@@ -76,6 +76,8 @@ class Addonline_Gls_Model_Import
76
  // On met à jour le trackid avec le champ 18
77
  if ($order && ! isset($aOrdersUpdated[$data[4]])) {
78
  $order->setGlsTrackid($data[17]);
 
 
79
  $order->save();
80
  $aOrdersUpdated[$data[4]] = 1;
81
  $count ++;
@@ -84,6 +86,8 @@ class Addonline_Gls_Model_Import
84
 
85
  if ($order && $aOrdersUpdated[$data[4]]) {
86
  $order->setGlsTrackid($order->getGlsTrackid() . ',' . $data[17]);
 
 
87
  $order->save();
88
  }
89
  }
@@ -186,11 +190,11 @@ class Addonline_Gls_Model_Import
186
  ->addObject($order)
187
  ->save();
188
 
189
- // $emailSentStatus = $shipment->getData('email_sent');
190
- // if (!is_null($customerEmail) && !$emailSentStatus) {
191
- // $shipment->sendEmail(true, $customerEmailComments);
192
- // $shipment->setEmailSent(true);
193
- // }
194
 
195
  return $this;
196
  }
76
  // On met à jour le trackid avec le champ 18
77
  if ($order && ! isset($aOrdersUpdated[$data[4]])) {
78
  $order->setGlsTrackid($data[17]);
79
+ //On flag la commande comme importée
80
+ $order->setGlsImported(1);
81
  $order->save();
82
  $aOrdersUpdated[$data[4]] = 1;
83
  $count ++;
86
 
87
  if ($order && $aOrdersUpdated[$data[4]]) {
88
  $order->setGlsTrackid($order->getGlsTrackid() . ',' . $data[17]);
89
+ //On flag la commande comme importée
90
+ $order->setGlsImported(1);
91
  $order->save();
92
  }
93
  }
190
  ->addObject($order)
191
  ->save();
192
 
193
+ $emailSentStatus = $shipment->getData('email_sent');
194
+ if (!is_null($customerEmail) && !$emailSentStatus) {
195
+ $shipment->sendEmail(true, $customerEmailComments);
196
+ $shipment->setEmailSent(true);
197
+ }
198
 
199
  return $this;
200
  }
app/code/community/Addonline/Gls/Model/Sales/Quote/Address.php CHANGED
@@ -52,7 +52,7 @@ class Addonline_Gls_Model_Sales_Quote_Address extends Mage_Sales_Model_Quote_Add
52
  if (isset($rates['gls'])) {
53
  $carrier = $rates['gls'][0]->getCarrierInstance();
54
  $aOrderRatesGLS['ordertohome'] = $carrier->getConfigData('ordertohome');
55
- // $aOrderRatesGLS['ordertoyou'] = $carrier->getConfigData('ordertoyou');
56
  $aOrderRatesGLS['orderrelay'] = $carrier->getConfigData('orderrelay');
57
  }
58
 
@@ -67,9 +67,9 @@ class Addonline_Gls_Model_Sales_Quote_Address extends Mage_Sales_Model_Quote_Add
67
  if (strpos($sCode, 'ls_relay') > 0) {
68
  $rates['gls'][$aOrderRatesGLS['orderrelay']] = $orderedRate;
69
  }
70
- // if(strpos($sCode,'ls_toyou') > 0){
71
- // $rates['gls'][$aOrderRatesGLS['ordertoyou']] = $orderedRate;
72
- // }
73
  if (strpos($sCode, 'ls_tohome') > 0) {
74
  $rates['gls'][$aOrderRatesGLS['ordertohome']] = $orderedRate;
75
  }
52
  if (isset($rates['gls'])) {
53
  $carrier = $rates['gls'][0]->getCarrierInstance();
54
  $aOrderRatesGLS['ordertohome'] = $carrier->getConfigData('ordertohome');
55
+ $aOrderRatesGLS['orderfds'] = $carrier->getConfigData('orderfds');
56
  $aOrderRatesGLS['orderrelay'] = $carrier->getConfigData('orderrelay');
57
  }
58
 
67
  if (strpos($sCode, 'ls_relay') > 0) {
68
  $rates['gls'][$aOrderRatesGLS['orderrelay']] = $orderedRate;
69
  }
70
+ if(strpos($sCode,'ls_fds') > 0){
71
+ $rates['gls'][$aOrderRatesGLS['orderfds']] = $orderedRate;
72
+ }
73
  if (strpos($sCode, 'ls_tohome') > 0) {
74
  $rates['gls'][$aOrderRatesGLS['ordertohome']] = $orderedRate;
75
  }
app/code/community/Addonline/Gls/Model/Service.php CHANGED
@@ -37,7 +37,7 @@ class Addonline_Gls_Model_Service
37
  return $this->_urlWsdl;
38
  }
39
 
40
- public function getRelayPointsForZipCode ($zipcode, $country)
41
  {
42
  $login = Mage::getStoreConfig('carriers/gls/usernamews');
43
  $mdp = Mage::getStoreConfig('carriers/gls/passws');
@@ -61,12 +61,12 @@ class Addonline_Gls_Model_Service
61
  'Name1' => '',
62
  'Name2' => '',
63
  'Name3' => '',
64
- 'Street1' => '',
65
  'BlockNo1' => '',
66
  'Street2' => '',
67
  'BlockNo2' => '',
68
  'ZipCode' => $zipcode,
69
- 'City' => '',
70
  'Province' => '',
71
  'Country' => $country
72
  )
37
  return $this->_urlWsdl;
38
  }
39
 
40
+ public function getRelayPointsForZipCode ($zipcode, $country,$address='',$city='')
41
  {
42
  $login = Mage::getStoreConfig('carriers/gls/usernamews');
43
  $mdp = Mage::getStoreConfig('carriers/gls/passws');
61
  'Name1' => '',
62
  'Name2' => '',
63
  'Name3' => '',
64
+ 'Street1' => $address,
65
  'BlockNo1' => '',
66
  'Street2' => '',
67
  'BlockNo2' => '',
68
  'ZipCode' => $zipcode,
69
+ 'City' => $city,
70
  'Province' => '',
71
  'Country' => $country
72
  )
app/code/community/Addonline/Gls/changelog ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ [1.0.5 - 07 Janvier 2015]
2
+ Mise en place du téléchargement des commandes
3
+
4
+ [1.0.4 - 04 Novembre 2014]
5
+ Ajout de l'automatisation des Import/Export de commande
6
+ Ajout du champs adresse pour la recherche
7
+ Ajout du champ « société » dans l'export des commandes
8
+ Ajout du service « Livraison à domicile premium »
9
+
10
+ [1.0.3 - 01 Octobre 2014]
11
+ Correction d'un probleme sur l'envoi de confirmation d'expedition par email
app/code/community/Addonline/Gls/controllers/AjaxController.php CHANGED
@@ -49,16 +49,20 @@ class Addonline_Gls_AjaxController extends Mage_Core_Controller_Front_Action
49
  */
50
  public function listPointsRelaisAction ()
51
  {
 
 
52
  $aPointsRelais = array();
53
  $response = new Varien_Object();
54
 
 
55
  $zipcode = $this->getRequest()->getParam('zipcode', false);
56
  $country = $this->getRequest()->getParam('country', false);
 
57
 
58
- $listrelais = Mage::getSingleton('gls/service')->getRelayPointsForZipCode($zipcode, $country);
59
 
60
  if (! isset($listrelais->exitCode->ErrorCode)) {
61
- echo $this->__('Error call GLS webservice, it might be down, see var/log/gls.log');
62
  } else {
63
  if ($listrelais->exitCode->ErrorCode == 0) {
64
  $productMaxWeight = 0;
@@ -70,56 +74,67 @@ class Addonline_Gls_AjaxController extends Mage_Core_Controller_Front_Action
70
 
71
  $onlyxlrelay = Mage::getStoreConfig('carriers/gls/onlyxlrelay') ||
72
  ($productMaxWeight > Mage::getStoreConfig('carriers/gls/maxrelayweight'));
73
- foreach ($listrelais->SearchResults as $key => $pointRelais) {
74
-
75
- $endName = substr(
76
- $pointRelais->Parcelshop->Address->Name1,
77
- strlen($pointRelais->Parcelshop->Address->Name1) - 2,
78
- strlen($pointRelais->Parcelshop->Address->Name1)
79
- );
80
-
81
- if ($onlyxlrelay && $endName != 'XL') {
82
- continue;
83
- }
84
- $aRelay = array();
85
- $aRelay['relayId'] = $pointRelais->Parcelshop->ParcelShopId;
86
- $aRelay['relayName'] = $pointRelais->Parcelshop->Address->Name1 . ' ' .
87
- $pointRelais->Parcelshop->Address->Name2 . ' ' .
88
- $pointRelais->Parcelshop->Address->Name3;
89
- $aRelay['relayAddress'] = $pointRelais->Parcelshop->Address->Street1 . ' ' .
90
- $pointRelais->Parcelshop->Address->BlockNo1 . ' ' .
91
- $pointRelais->Parcelshop->Address->Street2 . ' ' .
92
- $pointRelais->Parcelshop->Address->BlockNo2;
93
- $aRelay['relayZipCode'] = $pointRelais->Parcelshop->Address->ZipCode;
94
- $aRelay['relayCity'] = $pointRelais->Parcelshop->Address->City;
95
- $aRelay['relayCountry'] = $pointRelais->Parcelshop->Address->Country;
96
- $aRelay['relayLatitude'] = $pointRelais->Parcelshop->GLSCoordinates->Latitude;
97
- $aRelay['relayLongitude'] = $pointRelais->Parcelshop->GLSCoordinates->Longitude;
98
-
99
- $relayWorkingDays = array();
100
- for ($i = 0; $i < 7; $i ++) {
101
- if (isset($pointRelais->Parcelshop->GLSWorkingDay[$i])) {
102
- $relayWorkingDays[$i]['hours']['from'] =
103
- $pointRelais->Parcelshop->GLSWorkingDay[$i]->OpeningHours->Hours->From;
104
- $relayWorkingDays[$i]['hours']['to'] =
105
- $pointRelais->Parcelshop->GLSWorkingDay[$i]->OpeningHours->Hours->To;
106
- $relayWorkingDays[$i]['breaks']['from'] =
107
- $pointRelais->Parcelshop->GLSWorkingDay[$i]->Breaks->Hours->From;
108
- $relayWorkingDays[$i]['breaks']['to'] =
109
- $pointRelais->Parcelshop->GLSWorkingDay[$i]->Breaks->Hours->To;
 
 
 
 
 
 
110
  }
 
 
111
  }
112
- $aRelay['relayWorkingDays'] = $relayWorkingDays;
113
- $aPointsRelais[$pointRelais->Parcelshop->ParcelShopId] = $aRelay;
 
 
 
114
  }
115
  } elseif ($listrelais->exitCode->ErrorCode == 502) {
116
- echo $this->__('Authentification error GLS webservice, login or password might be wrong');
117
- } elseif ($listrelais->exitCode->ErrorCode == 998) {
118
  // Aucune donnée ne correspond à la recherche. La requête est formulée correctement mais aucun
119
  // résultat dans la base de données points relais GLS.
120
- echo $this->__('Aucun relais ne correspond à votre recherche');
121
  } else {
122
- echo $listrelais->exitCode->ErrorDscr;
123
  }
124
  }
125
  // Creation du block
@@ -145,4 +160,13 @@ class Addonline_Gls_AjaxController extends Mage_Core_Controller_Front_Action
145
  Mage::getSingleton('checkout/session')->setData('gls_shipping_relay_data', $_GET);
146
  }
147
  }
 
 
 
 
 
 
 
 
 
148
  }
49
  */
50
  public function listPointsRelaisAction ()
51
  {
52
+
53
+
54
  $aPointsRelais = array();
55
  $response = new Varien_Object();
56
 
57
+ $address = $this->getRequest()->getParam('address', false);
58
  $zipcode = $this->getRequest()->getParam('zipcode', false);
59
  $country = $this->getRequest()->getParam('country', false);
60
+ $city = $this->getRequest()->getParam('city', false);
61
 
62
+ $listrelais = Mage::getSingleton('gls/service')->getRelayPointsForZipCode($zipcode, $country,$address,$city);
63
 
64
  if (! isset($listrelais->exitCode->ErrorCode)) {
65
+ $aPointsRelais['error'] = $this->__('Error call GLS webservice, it might be down, see var/log/gls.log');
66
  } else {
67
  if ($listrelais->exitCode->ErrorCode == 0) {
68
  $productMaxWeight = 0;
74
 
75
  $onlyxlrelay = Mage::getStoreConfig('carriers/gls/onlyxlrelay') ||
76
  ($productMaxWeight > Mage::getStoreConfig('carriers/gls/maxrelayweight'));
77
+
78
+ //Si on retourne aucun relais pour ce code postal
79
+ if(is_array($listrelais->SearchResults)){
80
+ foreach ($listrelais->SearchResults as $key => $pointRelais) {
81
+
82
+ $endName = substr(
83
+ $pointRelais->Parcelshop->Address->Name1,
84
+ strlen($pointRelais->Parcelshop->Address->Name1) - 2,
85
+ strlen($pointRelais->Parcelshop->Address->Name1)
86
+ );
87
+
88
+ if ($onlyxlrelay && $endName != 'XL') {
89
+ continue;
90
+ }
91
+ $aRelay = array();
92
+ $aRelay['relayId'] = $pointRelais->Parcelshop->ParcelShopId;
93
+ $aRelay['relayName'] = $pointRelais->Parcelshop->Address->Name1 . ' ' .
94
+ $pointRelais->Parcelshop->Address->Name2 . ' ' .
95
+ $pointRelais->Parcelshop->Address->Name3;
96
+ $aRelay['relayAddress'] = $pointRelais->Parcelshop->Address->Street1 . ' ' .
97
+ $pointRelais->Parcelshop->Address->BlockNo1 . ' ' .
98
+ $pointRelais->Parcelshop->Address->Street2 . ' ' .
99
+ $pointRelais->Parcelshop->Address->BlockNo2;
100
+ $aRelay['relayZipCode'] = $pointRelais->Parcelshop->Address->ZipCode;
101
+ $aRelay['relayCity'] = $pointRelais->Parcelshop->Address->City;
102
+ $aRelay['relayCountry'] = $pointRelais->Parcelshop->Address->Country;
103
+ $aRelay['relayLatitude'] = $pointRelais->Parcelshop->GLSCoordinates->Latitude;
104
+ $aRelay['relayLongitude'] = $pointRelais->Parcelshop->GLSCoordinates->Longitude;
105
+
106
+ $relayWorkingDays = array();
107
+ for ($i = 0; $i < 7; $i ++) {
108
+ if(is_array($pointRelais->Parcelshop->GLSWorkingDay)){
109
+ if (isset($pointRelais->Parcelshop->GLSWorkingDay[$i])) {
110
+ $relayWorkingDays[$i]['hours']['from'] =
111
+ $pointRelais->Parcelshop->GLSWorkingDay[$i]->OpeningHours->Hours->From;
112
+ $relayWorkingDays[$i]['hours']['to'] =
113
+ $pointRelais->Parcelshop->GLSWorkingDay[$i]->OpeningHours->Hours->To;
114
+ $relayWorkingDays[$i]['breaks']['from'] =
115
+ $pointRelais->Parcelshop->GLSWorkingDay[$i]->Breaks->Hours->From;
116
+ $relayWorkingDays[$i]['breaks']['to'] =
117
+ $pointRelais->Parcelshop->GLSWorkingDay[$i]->Breaks->Hours->To;
118
+ }
119
+ }
120
  }
121
+ $aRelay['relayWorkingDays'] = $relayWorkingDays;
122
+ $aPointsRelais[$pointRelais->Parcelshop->ParcelShopId] = $aRelay;
123
  }
124
+ //Sinon de si on retourne aucun relais pour ce code postal
125
+ }else{
126
+ // Aucune donnée ne correspond à la recherche. La requête est formulée correctement mais aucun
127
+ // résultat dans la base de données points relais GLS.
128
+ $aPointsRelais['error'] = $this->__('Aucun relais ne correspond à votre recherche');
129
  }
130
  } elseif ($listrelais->exitCode->ErrorCode == 502) {
131
+ $aPointsRelais['error'] = $this->__('Authentification error GLS webservice, login or password might be wrong');
132
+ } elseif ($listrelais->exitCode->ErrorCode == 999) {
133
  // Aucune donnée ne correspond à la recherche. La requête est formulée correctement mais aucun
134
  // résultat dans la base de données points relais GLS.
135
+ $aPointsRelais['error'] = $this->__('Aucun relais ne correspond à votre recherche');
136
  } else {
137
+ $aPointsRelais['error'] = $listrelais->exitCode->ErrorDscr;
138
  }
139
  }
140
  // Creation du block
160
  Mage::getSingleton('checkout/session')->setData('gls_shipping_relay_data', $_GET);
161
  }
162
  }
163
+
164
+ /**
165
+ * Vide les informations GLS en session
166
+ */
167
+ public function clearSessionRelayInformationsAction ()
168
+ {
169
+ Mage::getSingleton('checkout/session')->setData('gls_shipping_relay_data', null);
170
+ Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->setShippingMethod(null)->save();
171
+ }
172
  }
app/code/community/Addonline/Gls/controllers/ExportController.php CHANGED
@@ -72,4 +72,29 @@ class Addonline_Gls_ExportController extends Mage_Adminhtml_Controller_Action
72
  $this->_redirect('*/*/');
73
  }
74
  }
75
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  $this->_redirect('*/*/');
73
  }
74
  }
75
+
76
+ /**
77
+ * Export Action : Generates a CSV file to download
78
+ */
79
+ public function downloadAction ()
80
+ {
81
+ /* get the orders */
82
+ $orderIds = $this->getRequest()->getPost('order_ids');
83
+
84
+ if (isset($orderIds) && ($orderIds[0] != "")) {
85
+
86
+ $collection = Mage::getResourceModel('sales/order_collection');
87
+ $collection->addAttributeToFilter('entity_id', $orderIds);
88
+
89
+ $export = Mage::getModel('gls/export');
90
+ $csvData = $export->export($collection,true);
91
+
92
+ /* download the file */
93
+ $this->_prepareDownloadResponse('GlsCmd_'.date('Ymdhis').'.csv', $csvData, 'text/csv');
94
+
95
+ } else {
96
+ $this->_getSession()->addError($this->__('No Order has been selected'));
97
+ $this->_redirect('*/*/');
98
+ }
99
+ }
100
+ }
app/code/community/Addonline/Gls/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <Addonline_Gls>
22
- <version>1.0.3</version>
23
  <depends>
24
  <Mage_Shipping />
25
  </depends>
@@ -183,6 +183,9 @@
183
  <import translate="title">
184
  <title>Import tracking</title>
185
  </import>
 
 
 
186
  </children>
187
  </gls>
188
  </children>
@@ -195,6 +198,11 @@
195
  <general>
196
  <weight_unit>kg</weight_unit>
197
  </general>
 
 
 
 
 
198
  <bundle_product>
199
  <process_children>0</process_children>
200
  <load_item_options_on_parent>1</load_item_options_on_parent>
@@ -214,28 +222,37 @@
214
  <livraisontohome>1</livraisontohome>
215
  <configtohome><![CDATA[
216
  {
217
- "label": "Livraison à domicile",
218
  "code": "tohome_fr",
219
  "shipto": "FR",
220
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
221
  },
222
  {
223
- "label": "Livraison à domicile",
224
  "code": "tohome_eu",
225
  "shipto": "{address_filter.EU}",
226
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
227
  },
228
  {
229
- "label": "Livraison à domicile",
230
  "code": "tohome_ue",
231
  "shipto": "{address_filter.AF},{address_filter.AS},{address_filter.NA},{address_filter.SA},{address_filter.OC},{address_filter.AN},{address_filter.DOM},{address_filter.COM}",
232
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
233
  }]]></configtohome>
234
  <ordertohome>1</ordertohome>
 
 
 
 
 
 
 
 
 
235
  <livraisonrelay>1</livraisonrelay>
236
  <configrelay><![CDATA[
237
  {
238
- "label": "Livraison en Point Relais",
239
  "code": "relay_fr",
240
  "shipto": "FR",
241
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
@@ -245,9 +262,7 @@
245
  <maxxlrelayweight>30</maxxlrelayweight>
246
  <onlyxlrelay>0</onlyxlrelay>
247
  <model>Addonline_Gls_Model_Carrier_ShippingMethod</model>
248
- <tracking_view_url>https://gls-group.eu/EU/en/parcel-tracking?match={tracking_number}</tracking_view_url>
249
- <export_folder>var/export/gls/</export_folder>
250
- <import_folder>var/import/gls/</import_folder>
251
  <debug>0</debug>
252
  <auto_escaping>0</auto_escaping>
253
  <auto_correction>1</auto_correction>
@@ -256,4 +271,14 @@
256
  </gls>
257
  </carriers>
258
  </default>
 
 
 
 
 
 
 
 
 
 
259
  </config>
19
  <config>
20
  <modules>
21
  <Addonline_Gls>
22
+ <version>1.0.5</version>
23
  <depends>
24
  <Mage_Shipping />
25
  </depends>
183
  <import translate="title">
184
  <title>Import tracking</title>
185
  </import>
186
+ <configuration translate="title">
187
+ <title>Configuration</title>
188
+ </configuration>
189
  </children>
190
  </gls>
191
  </children>
198
  <general>
199
  <weight_unit>kg</weight_unit>
200
  </general>
201
+ <import_export>
202
+ <active>0</active>
203
+ <export_folder>var/export/gls/</export_folder>
204
+ <import_folder>var/import/gls/</import_folder>
205
+ </import_export>
206
  <bundle_product>
207
  <process_children>0</process_children>
208
  <load_item_options_on_parent>1</load_item_options_on_parent>
222
  <livraisontohome>1</livraisontohome>
223
  <configtohome><![CDATA[
224
  {
225
+ "label": "Livraison domicile en 24/48H",
226
  "code": "tohome_fr",
227
  "shipto": "FR",
228
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
229
  },
230
  {
231
+ "label": "Livraison domicile en 24/48H",
232
  "code": "tohome_eu",
233
  "shipto": "{address_filter.EU}",
234
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
235
  },
236
  {
237
+ "label": "Livraison domicile en 24/48H",
238
  "code": "tohome_ue",
239
  "shipto": "{address_filter.AF},{address_filter.AS},{address_filter.NA},{address_filter.SA},{address_filter.OC},{address_filter.AN},{address_filter.DOM},{address_filter.COM}",
240
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
241
  }]]></configtohome>
242
  <ordertohome>1</ordertohome>
243
+ <livraisonfds>0</livraisonfds>
244
+ <configfds><![CDATA[
245
+ {
246
+ "label": "En cas d’absence, choisissez où et quand vous souhaitez être livré",
247
+ "code": "fds_fr",
248
+ "shipto": "FR",
249
+ "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
250
+ }]]></configfds>
251
+ <orderfds>2</orderfds>
252
  <livraisonrelay>1</livraisonrelay>
253
  <configrelay><![CDATA[
254
  {
255
+ "label": "Retrait en Point Relais de votre choix",
256
  "code": "relay_fr",
257
  "shipto": "FR",
258
  "fees": "!{free_shipping}*{table {cart.price+tax+discount} in 150.00:5.00, 160.00:3.00, 100000.00:00.00}"
262
  <maxxlrelayweight>30</maxxlrelayweight>
263
  <onlyxlrelay>0</onlyxlrelay>
264
  <model>Addonline_Gls_Model_Carrier_ShippingMethod</model>
265
+ <tracking_view_url>https://gls-group.eu/EU/en/parcel-tracking?match={tracking_number}</tracking_view_url>
 
 
266
  <debug>0</debug>
267
  <auto_escaping>0</auto_escaping>
268
  <auto_correction>1</auto_correction>
271
  </gls>
272
  </carriers>
273
  </default>
274
+ <crontab>
275
+ <jobs>
276
+ <gls>
277
+ <schedule>
278
+ <config_path>gls/import_export/cron_expression</config_path>
279
+ </schedule>
280
+ <run><model>addonline_gls/cron::import_export</model></run>
281
+ </gls>
282
+ </jobs>
283
+ </crontab>
284
  </config>
app/code/community/Addonline/Gls/etc/system.xml CHANGED
@@ -73,7 +73,7 @@
73
  <label>Delivery at home</label>
74
  <frontend_type>select</frontend_type>
75
  <source_model>adminhtml/system_config_source_yesno</source_model>
76
- <sort_order>4</sort_order>
77
  <show_in_default>1</show_in_default>
78
  <show_in_website>1</show_in_website>
79
  <show_in_store>1</show_in_store>
@@ -82,7 +82,7 @@
82
  <label>Delivery at home setup</label>
83
  <frontend_model>gls/adminhtml_system_config_form_field_config</frontend_model>
84
  <frontend_type>textarea</frontend_type>
85
- <sort_order>5</sort_order>
86
  <show_in_default>1</show_in_default>
87
  <show_in_website>1</show_in_website>
88
  <show_in_store>1</show_in_store>
@@ -93,7 +93,7 @@
93
  <ordertohome translate="label">
94
  <label>Delivery at home order</label>
95
  <frontend_type>text</frontend_type>
96
- <sort_order>6</sort_order>
97
  <show_in_default>1</show_in_default>
98
  <show_in_website>1</show_in_website>
99
  <show_in_store>1</show_in_store>
@@ -101,11 +101,39 @@
101
  <livraisontohome>1</livraisontohome>
102
  </depends>
103
  </ordertohome>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  <livraisonrelay translate="label">
105
  <label>Shop Delivery</label>
106
  <frontend_type>select</frontend_type>
107
  <source_model>adminhtml/system_config_source_yesno</source_model>
108
- <sort_order>10</sort_order>
109
  <show_in_default>1</show_in_default>
110
  <show_in_website>1</show_in_website>
111
  <show_in_store>1</show_in_store>
@@ -114,7 +142,7 @@
114
  <label>Shop Delivery setup</label>
115
  <frontend_model>gls/adminhtml_system_config_form_field_config</frontend_model>
116
  <frontend_type>textarea</frontend_type>
117
- <sort_order>11</sort_order>
118
  <show_in_default>1</show_in_default>
119
  <show_in_website>1</show_in_website>
120
  <show_in_store>1</show_in_store>
@@ -125,7 +153,7 @@
125
  <orderrelay translate="label">
126
  <label>Shop Delivery order</label>
127
  <frontend_type>text</frontend_type>
128
- <sort_order>12</sort_order>
129
  <show_in_default>1</show_in_default>
130
  <show_in_website>1</show_in_website>
131
  <show_in_store>1</show_in_store>
@@ -157,39 +185,7 @@
157
  <show_in_default>1</show_in_default>
158
  <show_in_website>1</show_in_website>
159
  <show_in_store>1</show_in_store>
160
- </tracking_view_url>
161
- <importexport translate="label">
162
- <label>Import/Export functionalities</label>
163
- <frontend_type>select</frontend_type>
164
- <comment>{importexport_help}</comment>
165
- <source_model>adminhtml/system_config_source_yesno</source_model>
166
- <sort_order>17</sort_order>
167
- <show_in_default>1</show_in_default>
168
- <show_in_website>1</show_in_website>
169
- <show_in_store>1</show_in_store>
170
- </importexport>
171
- <export_folder translate="label">
172
- <label>Export folder</label>
173
- <frontend_type>text</frontend_type>
174
- <sort_order>18</sort_order>
175
- <show_in_default>1</show_in_default>
176
- <show_in_website>1</show_in_website>
177
- <show_in_store>1</show_in_store>
178
- <depends>
179
- <importexport>1</importexport>
180
- </depends>
181
- </export_folder>
182
- <import_folder translate="label">
183
- <label>Import folder</label>
184
- <frontend_type>text</frontend_type>
185
- <sort_order>19</sort_order>
186
- <show_in_default>1</show_in_default>
187
- <show_in_website>1</show_in_website>
188
- <show_in_store>1</show_in_store>
189
- <depends>
190
- <importexport>1</importexport>
191
- </depends>
192
- </import_folder>
193
  <debug translate="label comment">
194
  <label>Debug</label>
195
  <comment>{debug_help}</comment>
@@ -254,8 +250,79 @@
254
  <show_in_website>1</show_in_website>
255
  <show_in_store>1</show_in_store>
256
  </weight_unit>
 
257
  </fields>
258
  </general>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  <bundle_product translate="label">
260
  <label>Bundle Product Management</label>
261
  <frontend_type>text</frontend_type>
@@ -352,5 +419,5 @@
352
  </configurable_product>
353
  </groups>
354
  </gls>
355
- </sections>
356
  </config>
73
  <label>Delivery at home</label>
74
  <frontend_type>select</frontend_type>
75
  <source_model>adminhtml/system_config_source_yesno</source_model>
76
+ <sort_order>5</sort_order>
77
  <show_in_default>1</show_in_default>
78
  <show_in_website>1</show_in_website>
79
  <show_in_store>1</show_in_store>
82
  <label>Delivery at home setup</label>
83
  <frontend_model>gls/adminhtml_system_config_form_field_config</frontend_model>
84
  <frontend_type>textarea</frontend_type>
85
+ <sort_order>6</sort_order>
86
  <show_in_default>1</show_in_default>
87
  <show_in_website>1</show_in_website>
88
  <show_in_store>1</show_in_store>
93
  <ordertohome translate="label">
94
  <label>Delivery at home order</label>
95
  <frontend_type>text</frontend_type>
96
+ <sort_order>7</sort_order>
97
  <show_in_default>1</show_in_default>
98
  <show_in_website>1</show_in_website>
99
  <show_in_store>1</show_in_store>
101
  <livraisontohome>1</livraisontohome>
102
  </depends>
103
  </ordertohome>
104
+ <livraisonfds translate="label">
105
+ <label>Delivery guaranteed at home</label>
106
+ <frontend_type>select</frontend_type>
107
+ <source_model>adminhtml/system_config_source_yesno</source_model>
108
+ <sort_order>8</sort_order>
109
+ <show_in_default>1</show_in_default>
110
+ <show_in_website>1</show_in_website>
111
+ <show_in_store>1</show_in_store>
112
+ </livraisonfds>
113
+ <configfds translate="label">
114
+ <label>Delivery guaranteed at home setup</label>
115
+ <frontend_model>gls/adminhtml_system_config_form_field_config</frontend_model>
116
+ <frontend_type>textarea</frontend_type>
117
+ <sort_order>9</sort_order>
118
+ <show_in_default>1</show_in_default>
119
+ <show_in_website>1</show_in_website>
120
+ <show_in_store>1</show_in_store>
121
+ <depends><livraisonfds>1</livraisonfds></depends>
122
+ </configfds>
123
+ <orderfds translate="label">
124
+ <label>Delivery guaranteed at home order</label>
125
+ <frontend_type>text</frontend_type>
126
+ <sort_order>10</sort_order>
127
+ <show_in_default>1</show_in_default>
128
+ <show_in_website>1</show_in_website>
129
+ <show_in_store>1</show_in_store>
130
+ <depends><livraisonfds>1</livraisonfds></depends>
131
+ </orderfds>
132
  <livraisonrelay translate="label">
133
  <label>Shop Delivery</label>
134
  <frontend_type>select</frontend_type>
135
  <source_model>adminhtml/system_config_source_yesno</source_model>
136
+ <sort_order>11</sort_order>
137
  <show_in_default>1</show_in_default>
138
  <show_in_website>1</show_in_website>
139
  <show_in_store>1</show_in_store>
142
  <label>Shop Delivery setup</label>
143
  <frontend_model>gls/adminhtml_system_config_form_field_config</frontend_model>
144
  <frontend_type>textarea</frontend_type>
145
+ <sort_order>12</sort_order>
146
  <show_in_default>1</show_in_default>
147
  <show_in_website>1</show_in_website>
148
  <show_in_store>1</show_in_store>
153
  <orderrelay translate="label">
154
  <label>Shop Delivery order</label>
155
  <frontend_type>text</frontend_type>
156
+ <sort_order>13</sort_order>
157
  <show_in_default>1</show_in_default>
158
  <show_in_website>1</show_in_website>
159
  <show_in_store>1</show_in_store>
185
  <show_in_default>1</show_in_default>
186
  <show_in_website>1</show_in_website>
187
  <show_in_store>1</show_in_store>
188
+ </tracking_view_url>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  <debug translate="label comment">
190
  <label>Debug</label>
191
  <comment>{debug_help}</comment>
250
  <show_in_website>1</show_in_website>
251
  <show_in_store>1</show_in_store>
252
  </weight_unit>
253
+
254
  </fields>
255
  </general>
256
+ <import_export translate="label">
257
+ <label>Import / Export Configuration</label>
258
+ <frontend_type>text</frontend_type>
259
+ <sort_order>2</sort_order>
260
+ <show_in_default>1</show_in_default>
261
+ <show_in_website>1</show_in_website>
262
+ <show_in_store>1</show_in_store>
263
+ <fields>
264
+ <active translate="label">
265
+ <label>Active</label>
266
+ <frontend_type>select</frontend_type>
267
+ <source_model>adminhtml/system_config_source_yesno</source_model>
268
+ <sort_order>10</sort_order>
269
+ <show_in_default>1</show_in_default>
270
+ <show_in_website>1</show_in_website>
271
+ <show_in_store>1</show_in_store>
272
+ </active>
273
+ <frequence translate="label">
274
+ <label>frequence</label>
275
+ <frontend_type>text</frontend_type>
276
+ <sort_order>15</sort_order>
277
+ <backend_model>gls/cron</backend_model>
278
+ <show_in_default>1</show_in_default>
279
+ <show_in_website>1</show_in_website>
280
+ <show_in_store>1</show_in_store>
281
+ </frequence>
282
+ <cron_expression translate="label">
283
+ <label>cron expression</label>
284
+ <frontend_type>text</frontend_type>
285
+ <sort_order>15</sort_order>
286
+ <show_in_default>1</show_in_default>
287
+ <show_in_website>1</show_in_website>
288
+ <show_in_store>1</show_in_store>
289
+ </cron_expression>
290
+ <import_folder translate="label">
291
+ <label>Import folder</label>
292
+ <frontend_type>text</frontend_type>
293
+ <sort_order>20</sort_order>
294
+ <show_in_default>1</show_in_default>
295
+ <show_in_website>1</show_in_website>
296
+ <show_in_store>1</show_in_store>
297
+ </import_folder>
298
+ <import_order_status translate="label">
299
+ <label>Import order status</label>
300
+ <frontend_type>select</frontend_type>
301
+ <source_model>adminhtml/system_config_source_order_status</source_model>
302
+ <sort_order>30</sort_order>
303
+ <show_in_default>1</show_in_default>
304
+ <show_in_website>1</show_in_website>
305
+ <show_in_store>0</show_in_store>
306
+ </import_order_status>
307
+ <export_folder translate="label">
308
+ <label>Export folder</label>
309
+ <frontend_type>text</frontend_type>
310
+ <sort_order>40</sort_order>
311
+ <show_in_default>1</show_in_default>
312
+ <show_in_website>1</show_in_website>
313
+ <show_in_store>1</show_in_store>
314
+ </export_folder>
315
+ <export_order_status translate="label">
316
+ <label>Export order status</label>
317
+ <frontend_type>select</frontend_type>
318
+ <source_model>adminhtml/system_config_source_order_status</source_model>
319
+ <sort_order>50</sort_order>
320
+ <show_in_default>1</show_in_default>
321
+ <show_in_website>1</show_in_website>
322
+ <show_in_store>0</show_in_store>
323
+ </export_order_status>
324
+ </fields>
325
+ </import_export>
326
  <bundle_product translate="label">
327
  <label>Bundle Product Management</label>
328
  <frontend_type>text</frontend_type>
419
  </configurable_product>
420
  </groups>
421
  </gls>
422
+ </sections>
423
  </config>
app/code/community/Addonline/Gls/sql/gls_setup/mysql4-upgrade-1.0.3-1.0.4.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $installer->startSetup();
5
+ $this->addAttribute('order', 'gls_exported', array(
6
+ 'type' => 'int',
7
+ 'label' => 'exported',
8
+ 'visible' => true,
9
+ 'required' => false
10
+ ));
11
+ $this->addAttribute('order', 'gls_imported', array(
12
+ 'type' => 'int',
13
+ 'label' => 'Imported',
14
+ 'visible' => true,
15
+ 'required' => false
16
+ ));
17
+ $installer->endSetup();
app/design/adminhtml/default/default/template/gls/import/form.phtml DELETED
@@ -1,56 +0,0 @@
1
- <!--
2
- /**
3
- * GLS
4
- *
5
- * @category Addonline
6
- * @package Addonline_GLS
7
- * @copyright Copyright (c) 2013 GLS
8
- * @author Addonline (http://www.addonline.fr)
9
- */
10
- -->
11
- <div class="content-header">
12
- <table cellspacing="0">
13
- <tr>
14
- <td><h3 class="icon-head head-tax-rate-importExport"><?php echo Mage::helper('gls')->__('Import orders') ?></h3></td>
15
- </tr>
16
- </table>
17
- </div>
18
- <div class="entry-edit">
19
- <div class="box-left">
20
- <form id="import_form" action="<?php echo $this->getUrl('*/*/import') ?>" method="post" enctype="multipart/form-data">
21
- <?php echo $this->getBlockHtml('formkey')?>
22
- <div class="entry-edit-head">
23
- <h4 class="icon-head head-edit-form fieldset-legend"><?php echo Mage::helper('gls')->__('Import orders') ?></h4>
24
- </div>
25
-
26
- <fieldset>
27
- <table class="form-list" cellspacing="0">
28
- <colgroup class="label"/>
29
- <colgroup class="value"/>
30
- <tbody>
31
- <tr>
32
- <td>&nbsp;</td>
33
- <td class="value">
34
- <?php $button_label = Mage::helper('gls')->__('Import'); ?>
35
- <?php echo $this->getButtonHtml($button_label, "this.form.submit();displayLoadingMask();") ?>
36
- </td>
37
- </tr>
38
- </tbody>
39
- </table>
40
- </fieldset>
41
-
42
- </form>
43
- <script type="text/javascript">
44
- var importForm = new varienForm('import_form');
45
-
46
- function displayLoadingMask()
47
- {
48
- var loaderArea = $$('#html-body .wrapper')[0]; // Blocks all page
49
- Position.clone($(loaderArea), $('loading-mask'), {offsetLeft:-2});
50
- toggleSelectsUnderBlock($('loading-mask'), false);
51
- Element.show('loading-mask');
52
- }
53
- </script>
54
- </div>
55
- <div class="clear"></div>
56
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/layout/gls.xml DELETED
@@ -1,105 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Copyright (c) 2014 GLS
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * It is available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- *
12
- * @category Addonline
13
- * @package Addonline_Gls
14
- * @copyright Copyright (c) 2014 GLS
15
- * @author Addonline (http://www.addonline.fr)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- -->
19
- <layout version="0.1.0">
20
- <checkout_onepage_index>
21
- <reference name="head">
22
- <action method="addCss">
23
- <stylesheet>css/gls.css</stylesheet>
24
- </action>
25
-
26
- <action method="addJs">
27
- <script>jquery/jquery-1.7.1.min.js</script>
28
- </action>
29
- <action method="addJs">
30
- <script>jquery/jquery.noconflict.js</script>
31
- </action>
32
- <action method="addJs">
33
- <script>jquery/jquery.tools.min.js</script>
34
- </action>
35
- <action method="addItem">
36
- <type>skin_js</type>
37
- <script>js/gls.js</script>
38
- </action>
39
-
40
- <block type="core/text" name="map.js">
41
- <action method="setText">
42
- <text><![CDATA[<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&region=FR"></script>]]></text>
43
- </action>
44
- </block>
45
-
46
- </reference>
47
-
48
- <reference name="before_body_end">
49
- <block type="core/template" name="gls_additional" after="-"
50
- template="gls/additional.phtml" />
51
- </reference>
52
-
53
- </checkout_onepage_index>
54
-
55
- <onestepcheckout_index_index>
56
- <reference name="head">
57
- <action method="addCss">
58
- <stylesheet>css/gls.css</stylesheet>
59
- </action>
60
-
61
- <action method="addJs">
62
- <script>jquery/jquery-1.7.1.min.js</script>
63
- </action>
64
- <action method="addJs">
65
- <script>jquery/jquery.noconflict.js</script>
66
- </action>
67
- <action method="addJs">
68
- <script>jquery/jquery.tools.min.js</script>
69
- </action>
70
-
71
- <action method="addItem">
72
- <type>skin_js</type>
73
- <script>js/gls.js</script>
74
- </action>
75
- <block type="core/text" name="map.js">
76
- <action method="setText">
77
- <text><![CDATA[<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&region=FR"></script>]]></text>
78
- </action>
79
- </block>
80
- </reference>
81
-
82
- <reference name="before_body_end">
83
- <block type="core/template" name="gls_additional" after="-"
84
- template="gls/additional.phtml" />
85
- </reference>
86
-
87
- </onestepcheckout_index_index>
88
-
89
- <gls_ajax_selector>
90
- <remove name="right" />
91
- <remove name="left" />
92
-
93
- <block type="gls/selector" name="root" output="toHtml"
94
- template="gls/selector.phtml" />
95
- </gls_ajax_selector>
96
-
97
- <gls_ajax_listrelais>
98
- <remove name="right" />
99
- <remove name="left" />
100
-
101
- <block type="gls/listrelais" name="root" output="toHtml"
102
- template="gls/listrelais.phtml" />
103
- </gls_ajax_listrelais>
104
-
105
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/gls/additional.phtml DELETED
@@ -1,87 +0,0 @@
1
- <?php
2
- /**
3
- * Copyright (c) 2014 GLS
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * It is available through the world-wide-web at this URL:
9
- * http://opensource.org/licenses/osl-3.0.php
10
- *
11
- * @category Addonline
12
- * @package Addonline_Gls
13
- * @copyright Copyright (c) 2014 GLS
14
- * @author Addonline (http://www.addonline.fr)
15
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
- */
17
- ?>
18
- <div id="layer_gls" class="layer"></div>
19
- <?php if ($shipping_data = Mage::getSingleton('checkout/session')->getData('gls_shipping_relay_data')) : ?>
20
- <div id='gls_relais_choisi_init'>
21
- <span><?php echo $shipping_data['name'] ?></span> <span
22
- class='modifier_relay'><?php echo __("Change ParcelShop"); ?></span><br />
23
- <?php echo $shipping_data['address'] ?><br />
24
- <?php echo $shipping_data['zipcode'] ?> <?php echo $shipping_data['city'] ?></div>
25
- <?php endif; ?>
26
- <script type="text/javascript">
27
- //<![CDATA[
28
-
29
- Translator.add('Choose this ParcelShop','<?php echo __("Choose this ParcelShop"); ?>');
30
- Translator.add('Change ParcelShop','<?php echo __("Change ParcelShop"); ?>');
31
- Translator.add('Please provide a valide mobile phone number.','<?php echo __("Please provide a valide mobile phone number."); ?>');
32
-
33
- var glsBaseUrl = '<?php echo $this->getUrl('gls/ajax/') ?>';
34
-
35
- if (aoGoToShippingMethodHooks == undefined) {
36
- var aoGoToShippingMethodHooks = new Array();
37
- }
38
- // initGlsLogos : fonction définie dans gls.js, appellée dans le hokk ci-dessous, pour charger les logos GLS
39
- aoGoToShippingMethodHooks[aoGoToShippingMethodHooks.length] = initGlsLogos;
40
- if ((typeof Checkout) != "undefined") {
41
- <?php if (version_compare(Mage::getVersion(), '1.8', '>=')) : ?>
42
- //On surchage la methode gotoSection de Checkout (voir opcheckout.js) : surcharge identique dans les modules addonline : socolissimo, GLS pour être compatible si on utilise les deux modules
43
- Checkout.prototype.gotoSection = function (section, reloadProgressBlock)
44
- {
45
- if (reloadProgressBlock) {
46
- this.reloadProgressBlock(this.currentStep);
47
- }
48
- //HOOK pour modules de livraison
49
- if (section == 'shipping_method') {
50
- for (i=0;i<aoGoToShippingMethodHooks.length;i++){
51
- aoGoToShippingMethodHooks[i]();
52
- }
53
- }
54
- //Après le choix du mode de livraison il faut aussi recharger l'adresse de livraison car on a pu choisir un relais
55
- if (section == 'payment') {
56
- this.reloadProgressBlock('shipping');
57
- }
58
- this.currentStep = section;
59
- var sectionElement = $('opc-' + section);
60
- sectionElement.addClassName('allow');
61
- this.accordion.openSection('opc-' + section);
62
- if(!reloadProgressBlock) {
63
- this.resetPreviousSteps();
64
- }
65
- }
66
- <?php else : ?>
67
- Checkout.prototype.gotoSection = function (section)
68
- {
69
- //HOOK pour modules de livraison
70
- if (section == 'shipping_method') {
71
- for (i=0;i<aoGoToShippingMethodHooks.length;i++){
72
- aoGoToShippingMethodHooks[i]();
73
- }
74
- }
75
- //Après le choix du mode de livraison il faut aussi recharger l'adresse de livraison car on a pu choisir un relais
76
- if (section == 'payment') {
77
- this.reloadProgressBlock('shipping');
78
- }
79
- var sectionElement = $('opc-'+section);
80
- sectionElement.addClassName('allow');
81
- this.accordion.openSection('opc-'+section);
82
- this.reloadProgressBlock(section);
83
- }
84
- <?php endif; ?>
85
- }
86
- //]]>
87
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/gls/listrelais.phtml DELETED
@@ -1,68 +0,0 @@
1
- <?php
2
- /**
3
- * Copyright (c) 2014 GLS
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * It is available through the world-wide-web at this URL:
9
- * http://opensource.org/licenses/osl-3.0.php
10
- *
11
- * @category Addonline
12
- * @package Addonline_Gls
13
- * @copyright Copyright (c) 2014 GLS
14
- * @author Addonline (http://www.addonline.fr)
15
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
- */
17
- if ($this->getListRelay()) :
18
- $i = 0;
19
- foreach ($this->getListRelay() as $relais) :
20
- ?>
21
- <div class="gls_point_relay" id="gls_point_relay_<?php echo $i; ?>">
22
- <span class="GLS_relay_index"><?php echo $i; ?></span> <span
23
- class="GLS_relay_id"><?php echo $relais['relayId']; ?></span> <span
24
- class="GLS_relay_name"><?php echo $relais['relayName']; ?></span> <span
25
- class="GLS_relay_address"><?php echo $relais['relayAddress']; ?></span>
26
- <span class="GLS_relay_zipcode"><?php echo $relais['relayZipCode']; ?></span>
27
- <span class="GLS_relay_city"><?php echo $relais['relayCity']; ?></span>
28
- <span class="GLS_relay_latitude"><?php echo $relais['relayLatitude']; ?></span>
29
- <span class="GLS_relay_longitude"><?php echo $relais['relayLongitude']; ?></span>
30
- <div>
31
- <span class="GLS_relay_horaires"><?php echo __("Opening hours")?></span>
32
- <a href="#" class='choose-relay-point'
33
- data-relayindex="<?php echo $i; ?>"><?php echo __("Choose this ParcelShop")?></a>
34
- </div>
35
- <span class="GLS_relay_hours">
36
- <table cellpadding="0" cellspacing="0">
37
- <?php
38
- $aDays = array(
39
- '0' => __("Monday"),
40
- '1' => __("Tuesday"),
41
- '2' => __("Wednesday"),
42
- '3' => __("Thursday"),
43
- '4' => __("Friday"),
44
- '5' => __("Saturday"),
45
- '6' => __("Sunday")
46
- );
47
- foreach ($relais['relayWorkingDays'] as $day => $openHours) {
48
- echo '<tr>';
49
- echo '<td class="day">' . $aDays[$day] . '</td>';
50
- $hours = '';
51
- if ($openHours['breaks']['from']) {
52
- $hours = '<td>' . substr_replace(substr($openHours['hours']['from'], 0, 4), 'h' . $openHours['hours']['from'][2], 2, 1) . ' - ' . substr_replace(substr($openHours['breaks']['from'], 0, 4), 'h' . $openHours['breaks']['from'][2], 2, 1) . ' / ' . substr_replace(substr($openHours['breaks']['to'], 0, 4), 'h' . $openHours['breaks']['to'][2], 2, 1) . ' - ' . substr_replace(substr($openHours['hours']['to'], 0, 4), 'h' . $openHours['hours']['to'][2], 2, 1) . '</td>';
53
- } else {
54
- $hours = '<td>' . substr_replace(substr($openHours['hours']['from'], 0, 4), 'h' . $openHours['hours']['from'][2], 2, 1) . ' - ' . substr_replace(substr($openHours['hours']['to'], 0, 4), 'h' . $openHours['hours']['to'][2], 2, 1) . '</td>';
55
- }
56
- echo $hours;
57
- echo '</tr>';
58
- }
59
- ?>
60
- </table>
61
- </span>
62
- </div>
63
- <?php
64
- $i ++;
65
- endforeach
66
- ;
67
-
68
- endif;?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/gls/selector.phtml DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- /**
3
- * Copyright (c) 2014 GLS
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * It is available through the world-wide-web at this URL:
9
- * http://opensource.org/licenses/osl-3.0.php
10
- *
11
- * @category Addonline
12
- * @package Addonline_Gls
13
- * @copyright Copyright (c) 2014 GLS
14
- * @author Addonline (http://www.addonline.fr)
15
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
- */
17
- ?>
18
- <div id="layer_gls_wrapper">
19
- <div>
20
- <h3><?php echo __("Choose Mondial Relay ParcelShop")?></h3>
21
- <a class="close"></a>
22
- <div class="contenu">
23
- <div id="gls_headers">
24
- <div class="left">
25
- <span><?php echo __("Your zipcode")?></span> <input type="text"
26
- id="cp_recherche"
27
- value="<?php echo $this->getShippingPostcode() ?>" />
28
- <button id="cp_recherche_bouton" onclick="geocodeGLSAdresse()"><?php echo $this->helper('gls')->__("Search")?></button>
29
- </div>
30
- <div class="right">
31
- <?php
32
- $smsNotification = strpos($this->getTelephone(), "06") === 0 || strpos($this->getTelephone(), "07") === 0;
33
- ?>
34
- <label><input type="checkbox" id="sms_checkbox"
35
- <?php if($smsNotification) {?> checked="checked" <?php }?> /> <?php echo __("To receive an sms when delivery is done")?></label>
36
- <input type="text" id="num_telephone"
37
- class="valid-telephone-portable" <?php if($smsNotification) {?>
38
- value="<?php echo $this->getTelephone(); ?><?php }?>" />
39
- </div>
40
- </div>
41
- <div id="col_gauche_gls">
42
- <div id="map_gls"></div>
43
- </div>
44
- <div id="col_droite_gls"></div>
45
- </div>
46
- </div>
47
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/locale/en_US/Addonline_Gls.csv CHANGED
@@ -1,4 +1,4 @@
1
  #traductions utilisées dans les champs config type owebia pour traduire le label
2
  "Livraison à domicile","Delivery at home"
3
- "Livraison à domicile garantie","Delivery guaranteed at home"
4
  "Livraison en Point Relais","Shop Delivery"
1
  #traductions utilisées dans les champs config type owebia pour traduire le label
2
  "Livraison à domicile","Delivery at home"
3
+ "Livraison Premium","Delivery guaranteed at home"
4
  "Livraison en Point Relais","Shop Delivery"
app/locale/fr_FR/Addonline_Gls.csv CHANGED
@@ -3,9 +3,9 @@
3
  "Delivery at home","Livraison à domicile"
4
  "Delivery at home setup","Configuration livraison à domicile"
5
  "Delivery at home order","Ordre de tri livraison à domicile"
6
- "Delivery guaranteed at home","Livraison à domicile garantie"
7
- "Delivery guaranteed at home setup","Configuration livraison à domicile garantie"
8
- "Delivery guaranteed at home order","Ordre de tri livraison à domicile garantie"
9
  "Shop Delivery","Livraison en Point Relais"
10
  "Shop Delivery setup","Configuration livraison en Point Relais"
11
  "Shop Delivery order","Ordre de tri livraison en Point Relais"
@@ -13,13 +13,22 @@
13
  "Maximum weight for articles in XL relays","Poids maximum des articles en Point Relais XL"
14
  "Only XL shop search","Uniquement les Points Relais XL"
15
  "Tracking URL","URL de suivi"
 
 
 
16
  "Import/Export functionalities","Activer les fonctions d'import export"
 
 
17
  "Export folder","Dossier d'export"
 
18
  "Import folder","Dossier d'import"
 
19
  "Stop to first match","Arrêt à la première correspondance trouvée"
20
  "GLS module order","Ordre de tri"
21
  "Choose Mondial Relay ParcelShop","Sélectionnez votre Point Relais Mondial Relay"
 
22
  "Your zipcode","Votre code postal"
 
23
  "Search","Rechercher"
24
  "To receive an sms when delivery is done","Être averti de ma livraison par SMS"
25
  "Opening hours","Voir les horaires"
@@ -34,8 +43,9 @@
34
  "closed","fermé"
35
  "Change ParcelShop","Modifier mon Point Relais"
36
  "Please provide a valide mobile phone number.","Veuillez saisir un numéro de téléphone portable valide."
37
- "Please provide a valide phone number.","Veuillez saisir un numéro de téléphone valide (portable de préférence)."
38
  "Export orders","Exporter les commandes"
 
39
  "Import tracking","Importer les numéros de suivi"
40
  "{debug_help}","Affichage du debug sur le panier lors d'une estimation de livraison"
41
  "{importexport_help}","Après enregistrement du changement de valeur, il faut se déconnecter et se reconnecter afin de faire apparaitre le nouveau menu"
3
  "Delivery at home","Livraison à domicile"
4
  "Delivery at home setup","Configuration livraison à domicile"
5
  "Delivery at home order","Ordre de tri livraison à domicile"
6
+ "Delivery guaranteed at home","Livraison Premium"
7
+ "Delivery guaranteed at home setup","Configuration livraison Premium"
8
+ "Delivery guaranteed at home order","Ordre de tri livraison Premium"
9
  "Shop Delivery","Livraison en Point Relais"
10
  "Shop Delivery setup","Configuration livraison en Point Relais"
11
  "Shop Delivery order","Ordre de tri livraison en Point Relais"
13
  "Maximum weight for articles in XL relays","Poids maximum des articles en Point Relais XL"
14
  "Only XL shop search","Uniquement les Points Relais XL"
15
  "Tracking URL","URL de suivi"
16
+ "General Configuration","Configuration générale"
17
+ "Weight unit","Unité de poids"
18
+ "Import / Export Configuration","Configuration des imports/exports"
19
  "Import/Export functionalities","Activer les fonctions d'import export"
20
+ "cron expression","Expression cron"
21
+ "frequence","Fréquence"
22
  "Export folder","Dossier d'export"
23
+ "Export order status","Statut des commandes exportées"
24
  "Import folder","Dossier d'import"
25
+ "Import order status","Statut des commandes importées"
26
  "Stop to first match","Arrêt à la première correspondance trouvée"
27
  "GLS module order","Ordre de tri"
28
  "Choose Mondial Relay ParcelShop","Sélectionnez votre Point Relais Mondial Relay"
29
+ "Your address","Votre adresse"
30
  "Your zipcode","Votre code postal"
31
+ "Your city","Votre ville"
32
  "Search","Rechercher"
33
  "To receive an sms when delivery is done","Être averti de ma livraison par SMS"
34
  "Opening hours","Voir les horaires"
43
  "closed","fermé"
44
  "Change ParcelShop","Modifier mon Point Relais"
45
  "Please provide a valide mobile phone number.","Veuillez saisir un numéro de téléphone portable valide."
46
+ "Please provide a valide phone number","Veuillez saisir un numéro de téléphone valide (portable de préférence)."
47
  "Export orders","Exporter les commandes"
48
+ "Download","Télécharger"
49
  "Import tracking","Importer les numéros de suivi"
50
  "{debug_help}","Affichage du debug sur le panier lors d'une estimation de livraison"
51
  "{importexport_help}","Après enregistrement du changement de valeur, il faut se déconnecter et se reconnecter afin de faire apparaitre le nouveau menu"
js/jquery/jquery-migrate-1.2.1.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
2
+ jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
package.xml CHANGED
@@ -1,47 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Addonline_Gls</name>
4
- <version>1.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>mode le livraison GLS France</summary>
10
- <description>GLS France : donnez le choix &#xE0; vos clients du mode de livraison qui leur convient.&#xD;
11
- &#x2022; Des solutions adapt&#xE9;es pour tous vos envois de colis de 30 kg au plus en France, en Europe ou dans le Monde&#xD;
12
- &#x2022; Une offre de livraison &#xE0; domicile ou dans l&#x2019;un des 4300 Points Relais&#xD;
13
- &#x2022; Des tarifs tr&#xE8;s comp&#xE9;titifs sur toutes nos offres&#xD;
14
- &#x2022; Un enl&#xE8;vement quotidien de vos colis sur votre site&#xD;
15
- &#x2022; Des colis trac&#xE9;s en permanence par notre syst&#xE8;me Track&amp;Trace,&#xD;
16
- &#x2022; La re-programmation de la livraison par le destinataire en cas d&#x2019;absence lors de la 1&#xE8;re tentative de livraison&#xD;
17
- &#x2022; Un transport de qualit&#xE9; s&#x2019;inscrivant dans une d&#xE9;marche globale de d&#xE9;veloppement durable&#xD;
18
- &#xD;
19
- L&#x2019;extension GLS France est disponible gratuitement sur Magento.&#xD;
20
- &#xD;
21
- GLS France propose &#xE0; vos clients de choisir parmi les deux solutions de livraison suivantes :&#xD;
22
- &#xD;
23
- &#x2022; Livraison &#xE0; domicile : notre offre BusinessParcel pour vos livraisons en France, EuroBusinessParcel pour vos livraisons en Europe et GlobalBusinessParcel pour vos livraisons dans le Monde.&#xD;
24
- Votre colis est livr&#xE9; contre &#xE9;margement au domicile du destinataire, ou en cas d&#x2019;absence d&#xE9;pos&#xE9; chez un voisin. En cas d&#x2019;impossibilit&#xE9; de livraison, le colis est retourn&#xE9; &#xE0; l&#x2019;agence GLS de livraison en attente de vos instructions de livraison.&#xD;
25
- &#xD;
26
- &#x2022; Livraison en Points Relais : notre offre ShopDeliveryService pour vos livraisons en France&#xD;
27
- Votre colis livr&#xE9; en 24h suivant l&#x2019;enl&#xE8;vement dans l&#x2019;un des 4300 Points Relais Mondial Relay.&#xD;
28
- &#xD;
29
- Les fonctionnalit&#xE9;s du module GLS Magento.&#xD;
30
- &#xD;
31
- &#x2022; Param&#xE9;trage des modes de livraison GLS sur votre site internet&#xD;
32
- &#x2022; Chargement des Points Relais en temps r&#xE9;el gr&#xE2;ce au webservice GLS&#xD;
33
- &#x2022; Export des commandes GLS pour int&#xE9;gration automatique dans la solution d&#x2019;&#xE9;tiquetage Winexp&#xE9; &#xD;
34
- &#x2022; Import des Url Track&amp;Trace pour que vos destinataires suivent l&#x2019;acheminement des colis &#xD;
35
- &#x2022; Ces fonctionnalit&#xE9;s sont disponibles &#xE9;galement pour vos applications smartphone.&#xD;
36
- &#xD;
37
- Ce module ne peut &#xEA;tre utilis&#xE9; que par les clients GLS France, &#xD;
38
- Vous n&#x2019;&#xEA;tes pas encore client GLS, prenez vite contact avec nous : gls-group.eu &#xD;
39
- </description>
40
  <notes>RAS</notes>
41
  <authors><author><name>Addonline</name><user>addonline</user><email>contact@addonline.fr</email></author></authors>
42
- <date>2014-07-04</date>
43
- <time>10:45:44</time>
44
- <contents><target name="magecommunity"><dir name="Addonline"><dir name="Gls"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Config.php" hash="958fc83f82dd4faa008bd92869e5cc49"/><file name="Informations.php" hash="b372c0fbb1b84cc012782bc1cb99685c"/></dir></dir></dir></dir></dir><dir name="Export"><dir name="Orders"><file name="Grid.php" hash="4b277602bd6908d9b6747733fe1a53ac"/></dir><file name="Orders.php" hash="19b038fe15bd7ccc445dbded573ba417"/></dir><dir name="Import"><file name="Form.php" hash="5017a2fc58636214a7e361dbf76d6406"/></dir><file name="Listrelay.php" hash="cb0fc25e5bf89de25b797e8dec0227de"/><dir name="OneStepCheckout"><file name="Checkout.php" hash="e797538c0576937b6670bc6de7297942"/></dir><file name="Selector.php" hash="5e226804c12cf7b843d06b430d63ab7d"/></dir><file name="GLS_14_GuideInstallationModuleMagento_07.pdf" hash="fe30a61e9539b84a24fda681e335aff8"/><dir name="Helper"><file name="Data.php" hash="f12719337ebb017814a3767df54d54b8"/><dir name="OneStepCheckout"><file name="Checkout.php" hash="4e2adceed7bff56bae6f57d321b6856e"/></dir></dir><dir name="Model"><dir name="Carrier"><file name="Abstract.php" hash="7b234759e465f105f130b6ce67b652af"/><file name="ShippingMethod.php" hash="7b03a4f9a6d198bfbe7a80ab48343afc"/></dir><file name="Export.php" hash="d588c23379729722949154faecfac143"/><file name="Import.php" hash="ffd85138df5d8b18be785f9a9f190d62"/><file name="Observer.php" hash="ee5c92a8f6f8e419907555a80c3bd3e3"/><dir name="Os2"><dir name="Data"><file name="Abstract.php" hash="cf7d7d51c0908e9b5cc08224ee399636"/><file name="AbstractWithAttributes.php" hash="1aa1eb14f97aa3add7a0b64ef73bfe3b"/><file name="Address.php" hash="7c890ba9f1c53124857afbe6ae2c9f15"/><file name="AddressFilter.php" hash="dd42df6d750b32fd7cd7ac76ce08e3e8"/><file name="AttributeSet.php" hash="5d9c06b56ee855da5489991342b1eca2"/><file name="Billto.php" hash="3244e2dd918527f68ea29433c1c02eaf"/><file name="Cart.php" hash="72c3d3c57a7f366d97a4b4957a34272e"/><file name="CartItem.php" hash="b2067067bbb396d3f7c311d2b023a975"/><file name="Category.php" hash="c140772d71740330fbe66f8f79c7a3a5"/><file name="Customer.php" hash="9a2185b18922472a235fc69f022f00b8"/><file name="CustomerGroup.php" hash="c713d2f93ebbe1208b7d94b0a433b45e"/><file name="Customvar.php" hash="badab1052f9156aef76d5c1a0919348e"/><file name="Date.php" hash="3f93564d011f3f2b7d0caba6a1eddf28"/><file name="Info.php" hash="f2a9302fa56e58c027e7df18e6666ffa"/><file name="Product.php" hash="a48c5d512cc87950c25194fc1fdb27a9"/><file name="Quote.php" hash="9804f0da7dd9255b21d240ff59beed0b"/><file name="Selection.php" hash="b61d47ae7048ee2e86b622f4fb473236"/><file name="StockItem.php" hash="02252936341dd9ed77fa6e7205d43c14"/><file name="Store.php" hash="3d9b4033ff9689d9ed07d5c5fa5b68ad"/></dir></dir><dir name="Sales"><dir name="Quote"><file name="Address.php" hash="145da0de58c0da564d38f4b8dcc535ad"/></dir></dir><file name="Service.php" hash="e1ba3d882a1227d5a58df3ec8dab6f65"/><dir name="System"><dir name="Config"><dir name="Source"><file name="LoadOnParent.php" hash="9dd7fc02abf059f724220b8dc4559110"/><file name="ProcessChildren.php" hash="5fb9c1cf8600e9ead938869f95016267"/></dir></dir></dir><dir name="Webservice"><file name="PointsRelaisWSService.php" hash="e5d9ee0793a35ef36b110ca07d9701aa"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="19d793890aa777a2c0d071bc2d8fd10f"/><file name="ExportController.php" hash="b4297358859a6473e790d8a6c5a979ae"/><file name="ImportController.php" hash="0f0eab8e544dc8cbb9c7428c8e7d11e1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a250aa03bbef4cb0e2016a23d8797eb5"/><file name="config.xml" hash="a16a7820af6c72b134591c6b33f90e16"/><file name="system.xml" hash="fbda63fbf7bcbd929858306f24bd3359"/></dir><dir name="owebia_includes"><file name="OS2_AddressFilter.php" hash="9a436fe014d55491a416adb0d8478d7e"/><file name="OS2_AddressFilterParser_GLS.php" hash="8f53f491dee35100dccfb6769577317d"/><file name="OS2_CustomerGroup.php" hash="55a9f08487bdbb310d0123737e0a7e9c"/><file name="OwebiaShippingHelper_GLS.php" hash="c22a635f8ec74c27eff6736b0ebd4b2b"/><dir name="cache"><file name="countries" hash="6b1a5494b6dddcc65f2946dbf0226c29"/></dir></dir><dir name="sql"><dir name="gls_setup"><file name="mysql4-install-1.0.0.php" hash="f6fc56f69d25c888f2d43ab2cf325660"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="gls.xml" hash="f21000e0cebbd7dc2e41269ca5e26055"/></dir><dir name="template"><dir name="gls"><file name="additional.phtml" hash="0418b6448ee50a094e0611cc6161b5ca"/><file name="listrelais.phtml" hash="435226bbece90126c407c4ff3252ac88"/><file name="selector.phtml" hash="6e5f50efeadad01fc87c23b823c38971"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="gls"><dir name="import"><file name="form.phtml" hash="6881f6dfac3b32fcf2385d517fed80c1"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Addonline_Gls.xml" hash="db260e73c2dad1f28966032a661336bf"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Addonline_Gls.csv" hash="0e637fb534f28dbde8ce553a98fd5611"/></dir><dir name="en_US"><file name="Addonline_Gls.csv" hash="96e4b64437cb483e3010ad9c7aa1eb19"/></dir></target><target name="mageweb"><dir name="js"><dir name="jquery"><file name="jquery-1.7.1.min.js" hash="ddb84c1587287b2df08966081ef063bf"/><file name="jquery.noconflict.js" hash="47bba3ca4c65f94846c39e145bed446f"/><file name="jquery.tools.min.js" hash="b0d4ed5c2edf5bcb74cd615ee46feb79"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="gls.css" hash="597cb48748bf3cc24b787dad0eeebb6d"/></dir><dir name="images"><dir name="gls"><file name="btn_fermer.png" hash="58a433ef56074381c61a3bc416605b8b"/><file name="marker.png" hash="4c52822636e198d8e407b143af2eb4b3"/><file name="marker_current.png" hash="9aad92afa544f45be79dd49977c71c54"/><file name="picto-arrow.png" hash="e6c75a88103b56cde0c8f2f5db1abba2"/><file name="picto_relay.png" hash="f80a398509e93b7077b166ddaa755abc"/><file name="picto_tohome.png" hash="42abf1332ac5dcd16673d3b216a2a121"/><file name="picto_toyou.png" hash="066908bd4639344eed0396950bd77895"/><file name="search-repeat.png" hash="ddf661a783afc11958972a86278c818b"/><file name="title-repeat.png" hash="ffc9c726e21a9dc862c29283500aa271"/></dir></dir><dir name="js"><file name="gls.js" hash="7cd11dc6fe9126f830477601f996de23"/></dir></dir></dir></dir></target></contents>
45
  <compatible/>
46
- <dependencies><required><php><min>5.2.0</min><max>5.4.0</max></php></required></dependencies>
47
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Addonline_Gls</name>
4
+ <version>1.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>GLS, you transporter partner for parcels shipped from France (official)</summary>
10
+ <description>With this extension, you will be able to offer your customers all the GLS France delivery solutions</description>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  <notes>RAS</notes>
12
  <authors><author><name>Addonline</name><user>addonline</user><email>contact@addonline.fr</email></author></authors>
13
+ <date>2015-02-26</date>
14
+ <time>14:56:36</time>
15
+ <contents><target name="magecommunity"><dir name="Addonline"><dir name="Gls"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Config.php" hash="958fc83f82dd4faa008bd92869e5cc49"/><file name="Informations.php" hash="b372c0fbb1b84cc012782bc1cb99685c"/></dir></dir></dir></dir></dir><dir name="Export"><dir name="Orders"><file name="Grid.php" hash="20eea349b8a4544a31da5927adc326dd"/></dir><file name="Orders.php" hash="19b038fe15bd7ccc445dbded573ba417"/></dir><dir name="Import"><file name="Form.php" hash="5017a2fc58636214a7e361dbf76d6406"/></dir><file name="Listrelay.php" hash="cb0fc25e5bf89de25b797e8dec0227de"/><dir name="OneStepCheckout"><file name="Checkout.php" hash="e797538c0576937b6670bc6de7297942"/></dir><file name="Selector.php" hash="5e226804c12cf7b843d06b430d63ab7d"/></dir><file name="GLS_14_GuideInstallationModuleMagento_07.pdf" hash="fe30a61e9539b84a24fda681e335aff8"/><file name="GLS_15_GuideInstallationModuleMagento_01.pdf" hash="b6d9411e427784e7f24b4a3959e15404"/><dir name="Helper"><file name="Data.php" hash="47a404020ca1e50f3d3dbf6dd1af0584"/><dir name="OneStepCheckout"><file name="Checkout.php" hash="4e2adceed7bff56bae6f57d321b6856e"/></dir></dir><dir name="Model"><dir name="Carrier"><file name="Abstract.php" hash="80ae42bc9a9ba267c0e623c9d9e93df8"/><file name="ShippingMethod.php" hash="7b03a4f9a6d198bfbe7a80ab48343afc"/></dir><file name="Cron.php" hash="ad4806a646f4bbb996660ea5e4cdee40"/><file name="Export.php" hash="ab9bf23432b42a902a60d19e87625716"/><file name="Import.php" hash="8751781105f3de91617234df651c11fa"/><file name="Observer.php" hash="ee5c92a8f6f8e419907555a80c3bd3e3"/><dir name="Os2"><dir name="Data"><file name="Abstract.php" hash="cf7d7d51c0908e9b5cc08224ee399636"/><file name="AbstractWithAttributes.php" hash="1aa1eb14f97aa3add7a0b64ef73bfe3b"/><file name="Address.php" hash="7c890ba9f1c53124857afbe6ae2c9f15"/><file name="AddressFilter.php" hash="dd42df6d750b32fd7cd7ac76ce08e3e8"/><file name="AttributeSet.php" hash="5d9c06b56ee855da5489991342b1eca2"/><file name="Billto.php" hash="3244e2dd918527f68ea29433c1c02eaf"/><file name="Cart.php" hash="72c3d3c57a7f366d97a4b4957a34272e"/><file name="CartItem.php" hash="b2067067bbb396d3f7c311d2b023a975"/><file name="Category.php" hash="c140772d71740330fbe66f8f79c7a3a5"/><file name="Customer.php" hash="9a2185b18922472a235fc69f022f00b8"/><file name="CustomerGroup.php" hash="c713d2f93ebbe1208b7d94b0a433b45e"/><file name="Customvar.php" hash="badab1052f9156aef76d5c1a0919348e"/><file name="Date.php" hash="3f93564d011f3f2b7d0caba6a1eddf28"/><file name="Info.php" hash="f2a9302fa56e58c027e7df18e6666ffa"/><file name="Product.php" hash="a48c5d512cc87950c25194fc1fdb27a9"/><file name="Quote.php" hash="9804f0da7dd9255b21d240ff59beed0b"/><file name="Selection.php" hash="b61d47ae7048ee2e86b622f4fb473236"/><file name="StockItem.php" hash="02252936341dd9ed77fa6e7205d43c14"/><file name="Store.php" hash="3d9b4033ff9689d9ed07d5c5fa5b68ad"/></dir></dir><dir name="Sales"><dir name="Quote"><file name="Address.php" hash="81042978ab6a68114980f1fdfaed964d"/></dir></dir><file name="Service.php" hash="a23744b76b3316dc7c162ca856d32e2b"/><dir name="System"><dir name="Config"><dir name="Source"><file name="LoadOnParent.php" hash="9dd7fc02abf059f724220b8dc4559110"/><file name="ProcessChildren.php" hash="5fb9c1cf8600e9ead938869f95016267"/></dir></dir></dir><dir name="Webservice"><file name="PointsRelaisWSService.php" hash="e5d9ee0793a35ef36b110ca07d9701aa"/></dir></dir><file name="changelog" hash="db1f88f281b5b0d5d06beefe7c375610"/><dir name="controllers"><file name="AjaxController.php" hash="90db54e728ba6ad5f090636a13fedfd7"/><file name="ExportController.php" hash="ead490d32a1d7ab670538d63d08b519e"/><file name="ImportController.php" hash="0f0eab8e544dc8cbb9c7428c8e7d11e1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a250aa03bbef4cb0e2016a23d8797eb5"/><file name="config.xml" hash="5f3ffac140eb91e2e1ead930a04e0985"/><file name="system.xml" hash="00dc429d8b5023c4d84e7b4274666758"/></dir><dir name="owebia_includes"><file name="OS2_AddressFilter.php" hash="9a436fe014d55491a416adb0d8478d7e"/><file name="OS2_AddressFilterParser_GLS.php" hash="8f53f491dee35100dccfb6769577317d"/><file name="OS2_CustomerGroup.php" hash="55a9f08487bdbb310d0123737e0a7e9c"/><file name="OwebiaShippingHelper_GLS.php" hash="c22a635f8ec74c27eff6736b0ebd4b2b"/><dir name="cache"><file name="countries" hash="6b1a5494b6dddcc65f2946dbf0226c29"/></dir></dir><dir name="sql"><dir name="gls_setup"><file name="mysql4-install-1.0.0.php" hash="f6fc56f69d25c888f2d43ab2cf325660"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="8b7ae6e17330b2ae74eeb2fa3d51bc3d"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><file name="gls" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Addonline_Gls.xml" hash="db260e73c2dad1f28966032a661336bf"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Addonline_Gls.csv" hash="b3a9aa22a1613fd15ceddbc56a817da4"/></dir><dir name="en_US"><file name="Addonline_Gls.csv" hash="361277241710af3dde1502dfc13435e0"/></dir></target><target name="mageweb"><dir name="js"><dir name="jquery"><file name="jquery-1.7.1.min.js" hash="ddb84c1587287b2df08966081ef063bf"/><file name="jquery-migrate-1.2.1.min.js" hash="eb05d8d73b5b13d8d84308a4751ece96"/><file name="jquery.noconflict.js" hash="47bba3ca4c65f94846c39e145bed446f"/><file name="jquery.tools.min.js" hash="b0d4ed5c2edf5bcb74cd615ee46feb79"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="gls.css" hash="3c5ad409ef17a88a45ba60a1197b2f9b"/></dir><dir name="js"><file name="gls.js" hash="82f2752351d717b1389423ca0de08816"/></dir><dir name="images"><dir name="gls"><file name="btn_fermer.png" hash="58a433ef56074381c61a3bc416605b8b"/><file name="marker.png" hash="4c52822636e198d8e407b143af2eb4b3"/><file name="marker_current.png" hash="9aad92afa544f45be79dd49977c71c54"/><file name="picto-arrow.png" hash="e6c75a88103b56cde0c8f2f5db1abba2"/><file name="picto-layer.png" hash="929fe8d0ce49c03585c33624995849c5"/><file name="picto_fds.png" hash="bef73f993193aaa6b24b3e43dc893261"/><file name="picto_relay.png" hash="929fe8d0ce49c03585c33624995849c5"/><file name="picto_tohome.png" hash="d1cffa214082dc6d763488101a1bb256"/><file name="search-repeat.png" hash="ddf661a783afc11958972a86278c818b"/><file name="title-repeat.png" hash="ffc9c726e21a9dc862c29283500aa271"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.2.0</min><max>5.6.0</max></php></required></dependencies>
18
  </package>
skin/frontend/base/default/css/gls.css CHANGED
@@ -1 +1 @@
1
- dd.s_method_gls li{position:relative;margin-bottom:20px}dd.s_method_gls li img{position:absolute;top:-8px;left:25px}dd.s_method_gls li input{margin-right:65px}dd.s_method_gls li span.price{color:#f18200}dd.s_method_gls #gls_relais_choisi{margin:0 0 0 82px;border-left:1px solid #d4d4d4;padding:0 0 0 10px;position:relative;line-height:normal;color:#666666}dd.s_method_gls #gls_relais_choisi span{font-weight:bold}dd.s_method_gls #gls_relais_choisi .modifier_relay{color:#1e7ec8;font-weight:normal;text-decoration:underline;cursor:pointer}#layer_gls{position:relative;display:none;width:950px;background:#fff;z-index:1000;text-align:left;border-radius:10px}#layer_gls .close{position:absolute;top:15px;right:15px;cursor:pointer;width:22px;height:22px;background:url(../images/gls/btn_fermer.png)}#layer_gls h3{background:url(../images/gls/title-repeat.png);line-height:58px;margin:-15px -15px 0 -15px;border-radius:10px 10px 0 0;font-size:24px;font-weight:normal;color:#fff;padding-left:70px;position:relative}#layer_gls h3:before{content:"";width:43px;height:32px;position:absolute;top:12px;left:15px;background:url(../images/gls/picto_relay.png)}#layer_gls #gls_headers{background:url(../images/gls/search-repeat.png) repeat-x;margin:0 -15px 15px;padding:0 15px 0 15px;height:57px}#layer_gls #gls_headers .left{margin-top:15px}#layer_gls #gls_headers .left span{font-size:14px;font-weight:bold;color:#06187c;margin-right:10px;vertical-align:middle}#layer_gls #gls_headers .left input{padding:0 10px;width:78px;height:23px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px 0 0 8px;background-color:#fff;-webkit-box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);-moz-box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);border:solid 1px #d2d2d2;vertical-align:middle}#layer_gls #gls_headers .left button{background:none;border:none;margin:0 0 0 -10px;padding:0;cursor:pointer;font-size:12px;text-shadow:0 -1px #112282;color:#fff;width:92px;height:25px;-webkit-border-radius:0 8px 8px 0;-moz-border-radius:0 8px 8px 0;border-radius:0 8px 8px 0;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#8b94c2', EndColorStr='#06187c');background-image:-webkit-linear-gradient(bottom, #06187c, #8b94c2);background-image:-moz-linear-gradient(bottom, #06187c, #8b94c2);background-image:-o-linear-gradient(bottom, #06187c, #8b94c2);background-image:linear-gradient(to top, #06187c, #8b94c2);vertical-align:middle}#layer_gls #gls_headers .right{margin-top:15px}#layer_gls #gls_headers .right label{font-size:14px;color:#06187c;margin-right:10px;vertical-align:middle}#layer_gls #gls_headers .right label input{vertical-align:middle}#layer_gls #gls_headers .right #num_telephone{vertical-align:middle;padding:0 10px;width:130px;height:23px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;background-color:#fff;-webkit-box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);-moz-box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);border:solid 1px #d2d2d2}#layer_gls #col_gauche_gls{width:646px;height:353px;float:left;border:1px solid #d6d8e9}#layer_gls #col_gauche_gls #map_gls{height:100%}#layer_gls #col_gauche_gls #map_gls .info-window{width:415px;line-height:1.35;overflow:hidden;white-space:nowrap}#layer_gls #col_gauche_gls #map_gls .info-window .store-name{font-weight:bold;font-size:14px;color:#06187c;display:block}#layer_gls #col_gauche_gls #map_gls .info-window table{width:255px;margin-top:10px}#layer_gls #col_gauche_gls #map_gls .info-window table .day{width:80px}#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point{padding:0 15px 0 25px;height:26px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');background-image:-webkit-linear-gradient(bottom, #e8b402, #fcd83b);background-image:-moz-linear-gradient(bottom, #e8b402, #fcd83b);background-image:-o-linear-gradient(bottom, #e8b402, #fcd83b);background-image:linear-gradient(to top, #e8b402, #fcd83b);font-size:12px;color:#000;text-shadow:0 1px #f7e38b;text-decoration:none;line-height:26px;position:absolute;top:68px;right:0}#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point:before{content:"";width:7px;height:10px;position:absolute;top:9px;left:12px;background:url(../images/gls/picto-arrow.png)}#layer_gls #col_droite_gls{width:268px;height:353px;float:right;border:1px solid #d6d8e9;border-left:none;overflow:hidden;overflow-y:scroll;position:relative}#layer_gls #col_droite_gls .gls_point_relay{padding:15px;border-bottom:1px solid #d6d8e9;line-height:normal}#layer_gls #col_droite_gls .gls_point_relay.current{background:#eeeff7}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_name{font-weight:bold;font-size:14px;color:#06187c;display:block}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_address,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_zipcode,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_city{color:#6a6a6a}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_address{display:block}#layer_gls #col_droite_gls .gls_point_relay div{margin-top:5px;overflow:hidden}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_horaires{float:left;color:#06187c;text-decoration:underline;cursor:pointer;margin-top:5px}#layer_gls #col_droite_gls .gls_point_relay .choose-relay-point{border:none;background:none;cursor:pointer;float:right;padding:0 15px 0 25px;height:26px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');background-image:-webkit-linear-gradient(bottom, #e8b402, #fcd83b);background-image:-moz-linear-gradient(bottom, #e8b402, #fcd83b);background-image:-o-linear-gradient(bottom, #e8b402, #fcd83b);background-image:linear-gradient(to top, #e8b402, #fcd83b);font-size:12px;color:#000;text-shadow:0 1px #f7e38b;text-decoration:none;line-height:26px;position:relative}#layer_gls #col_droite_gls .gls_point_relay .choose-relay-point:before{content:"";width:7px;height:10px;position:absolute;top:9px;left:12px;background:url(../images/gls/picto-arrow.png)}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_latitude,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_longitude,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_hours,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_id,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_index{display:none}.layer>div>div{overflow:auto}#layer_gls>div>div{padding:15px}#layer_gls .loader-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999}#layer_gls .loader{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:#000;opacity:0.2}#layer_gls .loader-wheel{position:absolute;top:50%;left:50%;margin:-50px 0 0 -16px;width:100px;background:#fff;border:1px solid 000;border-radius:3px;text-align:center;z-index:1001;color:#878787;font-style:italic}#layer_gls .loader-wheel img{display:block;margin:auto}
1
+ dd.s_method_gls li{position:relative;margin-bottom:30px}dd.s_method_gls li img{position:absolute;top:-8px;left:25px;height:40px;width:79px}dd.s_method_gls li input{margin-right:105px}dd.s_method_gls li span.price{color:#f18200}dd.s_method_gls #gls_relais_choisi{margin:20px 0 0 82px;border-left:1px solid #d4d4d4;padding:0 0 0 10px;position:relative;line-height:normal;color:#666666}dd.s_method_gls #gls_relais_choisi span{font-weight:bold}dd.s_method_gls #gls_relais_choisi .modifier_relay{color:#1e7ec8;font-weight:normal;text-decoration:underline;cursor:pointer}#layer_gls{position:relative;display:none;width:950px;background:#fff;z-index:1000;text-align:left;border-radius:10px}#layer_gls .close{position:absolute;top:15px;right:15px;cursor:pointer;width:22px;height:22px;background:url(../images/gls/btn_fermer.png)}#layer_gls h3{background:url(../images/gls/title-repeat.png);line-height:58px;margin:-15px -15px 0 -15px;border-radius:10px 10px 0 0;font-size:24px;font-weight:normal;color:#fff;padding-left:110px;position:relative}#layer_gls h3:before{content:"";width:85px;height:43px;position:absolute;top:9px;left:15px;background:url(../images/gls/picto-layer.png)}#layer_gls #gls_headers{background:url(../images/gls/search-repeat.png) repeat-x 0 100%;margin:0 -15px 15px;padding:0 15px 15px 15px;height:75px}#layer_gls #gls_headers .left_gls{margin-top:15px;clear:both !important}#layer_gls #gls_headers .left_gls span{font-size:14px;font-weight:bold;color:#06187c;margin-right:10px;vertical-align:middle;padding:0 5px}#layer_gls #gls_headers .left_gls input{padding:0 10px;width:40px;height:23px;border-radius:8px;background-color:#fff;box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);border:solid 1px #d2d2d2;vertical-align:middle;box-sizing:content-box}#layer_gls #gls_headers .left_gls #adresse_recherche{width:270px;margin-right:10px}#layer_gls #gls_headers .left_gls #city_recherche{border-radius:8px 0 0 8px;width:90px}#layer_gls #gls_headers .left_gls #cp_rechercher{width:40px}#layer_gls #gls_headers .left_gls #num_telephone{width:70px}#layer_gls #gls_headers .left_gls button{background:none;border:none;margin:0 0 0 -10px;padding:0;cursor:pointer;font-size:12px;text-shadow:0 -1px #112282;color:#fff;width:92px;height:25px;border-radius:0 8px 8px 0;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#8b94c2', EndColorStr='#06187c');background-image:-webkit-linear-gradient(bottom, #06187c, #8b94c2);background-image:linear-gradient(to top, #06187c, #8b94c2);vertical-align:middle}#layer_gls #gls_headers .right_gls{margin-top:15px;float:right}#layer_gls #gls_headers .right_gls label{font-size:14px;color:#06187c;margin-right:10px;vertical-align:middle}#layer_gls #gls_headers .right_gls label input{vertical-align:middle}#layer_gls #gls_headers .right_gls #num_telephone{vertical-align:middle;padding:0 10px;width:130px;height:23px;border-radius:8px;background-color:#fff;box-shadow:inset 0 3px 3px rgba(214,214,214,0.75);border:solid 1px #d2d2d2}#layer_gls #col_gauche_gls{width:646px;height:353px;float:left;border:1px solid #d6d8e9}#layer_gls #col_gauche_gls #map_gls{height:100%}#layer_gls #col_gauche_gls #map_gls .info-window{width:415px;line-height:1.35;overflow:hidden;white-space:nowrap}#layer_gls #col_gauche_gls #map_gls .info-window .store-name{font-weight:bold;font-size:14px;color:#06187c;display:block}#layer_gls #col_gauche_gls #map_gls .info-window table{width:255px;margin-top:10px}#layer_gls #col_gauche_gls #map_gls .info-window table .day{width:80px}#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point{padding:0 15px 0 25px;height:26px;border-radius:8px;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');background-image:-webkit-linear-gradient(bottom, #e8b402, #fcd83b);background-image:linear-gradient(to top, #e8b402, #fcd83b);font-size:12px;color:#000;text-shadow:0 1px #f7e38b;text-decoration:none;line-height:26px;position:absolute;top:68px;right:0}#layer_gls #col_gauche_gls #map_gls .info-window .choose-relay-point:before{content:"";width:7px;height:10px;position:absolute;top:9px;left:12px;background:url(../images/gls/picto-arrow.png)}#layer_gls .gls_ws_error{position:absolute;top:50px;right:0;bottom:0;left:0;padding-left:463px;padding-top:65px;z-index:9;color:red;text-align:left;font-size:14px}#layer_gls #col_droite_gls{width:268px;height:353px;float:right;border:1px solid #d6d8e9;border-left:none;overflow:hidden;overflow-y:scroll;position:relative}#layer_gls #col_droite_gls .gls_point_relay{padding:15px;border-bottom:1px solid #d6d8e9;line-height:normal}#layer_gls #col_droite_gls .gls_point_relay.current{background:#eeeff7}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_name{font-weight:bold;font-size:14px;color:#06187c;display:block}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_address,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_zipcode,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_city{color:#6a6a6a}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_address{display:block}#layer_gls #col_droite_gls .gls_point_relay div{margin-top:5px;overflow:hidden}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_horaires{float:left;color:#06187c;text-decoration:underline;cursor:pointer;margin-top:5px}#layer_gls #col_droite_gls .gls_point_relay .choose-relay-point{border:none;background:none;cursor:pointer;float:right;padding:0 15px 0 25px;height:26px;border-radius:8px;filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcd83b', EndColorStr='#e8b402');background-image:-webkit-linear-gradient(bottom, #e8b402, #fcd83b);background-image:linear-gradient(to top, #e8b402, #fcd83b);font-size:12px;color:#000;text-shadow:0 1px #f7e38b;text-decoration:none;line-height:26px;position:relative}#layer_gls #col_droite_gls .gls_point_relay .choose-relay-point:before{content:"";width:7px;height:10px;position:absolute;top:9px;left:12px;background:url(../images/gls/picto-arrow.png)}#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_latitude,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_longitude,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_hours,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_id,#layer_gls #col_droite_gls .gls_point_relay .GLS_relay_index{display:none}.layer>div>div{overflow:auto}#layer_gls>div>div{padding:15px}#layer_gls .loader-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999}#layer_gls .loader{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:#000;opacity:0.2}#layer_gls .loader-wheel{position:absolute;top:50%;left:50%;margin:-50px 0 0 -16px;width:100px;background:#fff;border:1px solid 000;border-radius:3px;text-align:center;z-index:1001;color:#878787;font-style:italic}#layer_gls .loader-wheel img{display:block;margin:auto}
skin/frontend/base/default/images/gls/picto-layer.png ADDED
Binary file
skin/frontend/base/default/images/gls/picto_fds.png ADDED
Binary file
skin/frontend/base/default/images/gls/picto_relay.png CHANGED
Binary file
skin/frontend/base/default/images/gls/picto_tohome.png CHANGED
Binary file
skin/frontend/base/default/images/gls/picto_toyou.png DELETED
Binary file
skin/frontend/base/default/js/gls.js CHANGED
@@ -55,10 +55,18 @@ jQuery(function($) {
55
  jQuery('.onestepcheckout-index-index .address-select').on("change", function() {
56
  if(jQuery('#gls-location').size() <= 0 ){
57
  $("#attentionGLS").remove();
58
- $("label[for=\"billing-address-select\"]").parent().before('<p id="attentionGLS" style="font-weight:bold;color:red;text-align:justify; padding-right:5px;">Suite à la modification de votre adresse et si votre mode de livraison est GLS, veuillez séléctionner votre point de retrait en cliquant sur le mode de livraison.</p>');
59
- }
60
  });
61
 
 
 
 
 
 
 
 
 
62
  /**
63
  * Sur l'événement change des radios boutons de choix de mode de livraison
64
  */
@@ -103,6 +111,8 @@ jQuery(function($) {
103
  */
104
  function initGlsLogos() {
105
 
 
 
106
  jQuery("input[id^=\"s_method_gls\"]").each(function(index, element){
107
 
108
  if(!jQuery("body").hasClass("onestepcheckout-index-index")) {
@@ -116,7 +126,11 @@ function initGlsLogos() {
116
  if (typeGls) {
117
  var radioParent = jQuery(element).parent();
118
  if (radioParent.children('img').size() == 0) {
119
- radioParent.prepend('<img src="/skin/frontend/base/default/images/gls/picto_'+typeGls+'.png" >');
 
 
 
 
120
  }
121
 
122
  if (typeGls=='relay') {
@@ -143,20 +157,21 @@ function getTypeGlsFromRadio(radio, forDescription) {
143
  var typeGls = shippingMethod.replace("gls_","");
144
  if (typeGls.startWith("tohome")) {
145
  return 'tohome';
146
- } else if (typeGls.startWith("toyou")) {
147
- return 'toyou';
148
  } else if (typeGls.startWith("relay")){
149
  return 'relay';
150
  } else {
151
  // Sinon c'est un type de livraison inconnu
152
- alert("Mauvaise configuration du module GLS : dans le champ configuration le code doit commencer par tohome, toyou ou relay");
153
  return false;
154
  }
155
  }
156
 
157
  function shippingGLSRadioCheck(element) {
158
  var glsRadio = jQuery(element);
159
- var typeGls = getTypeGlsFromRadio(glsRadio, false);
 
160
  if(typeGls == "relay"){
161
  // on affiche le picto de chargement étape suivante du opc
162
  jQuery("#shipping-method-please-wait").show();
@@ -176,12 +191,24 @@ function shippingGLSRadioCheck(element) {
176
  function resetGLSShippingMethod() {
177
  if (jQuery('#gls_relais_choisi').size()==0) {
178
  jQuery("input[name='shipping_method']:checked").prop("checked","");
179
- }
 
 
 
 
 
 
 
 
 
 
 
 
180
  }
181
 
182
  function geocodeGLSAdresse() {
183
 
184
- var searchAdress = jQuery('#cp_recherche').val();
185
  if ((typeof google) != "undefined") {
186
  var geocoder = new google.maps.Geocoder();
187
  geocoder.geocode({'address': searchAdress}, function(results, status) {
@@ -192,6 +219,7 @@ function geocodeGLSAdresse() {
192
  loadListePointRelais();
193
  } else {
194
  alert('Adresse invalide '+searchAdress);
 
195
  }
196
  });
197
  } else {
@@ -208,12 +236,16 @@ function changeMap() {
208
  function loadListePointRelais() {
209
  if(jQuery("#cp_recherche").val()){
210
  glsurl = glsBaseUrl + "listPointsRelais"
211
- glsurl = glsurl + "/zipcode/" + jQuery("#cp_recherche").val() + "/country/" + "FR";
212
  jQuery.ajax({
213
  url: glsurl,
214
- success: function(data){
215
- jQuery("#col_droite_gls").html(data);
216
- showGLSMap();
 
 
 
 
217
  }
218
  });
219
  }
@@ -350,8 +382,7 @@ function clickHandler(markerGLS,infowindowGLS, index){
350
  glsOpenedInfowindow=infowindowGLS;
351
 
352
  // Mise en évidence du relais dans la liste
353
- jQuery("#layer_gls .gls_point_relay").removeClass("current").eq(index).addClass("current");
354
- console.log(jQuery(".gls_point_relay").eq(index).position().top);
355
  jQuery("#col_droite_gls").scrollTop(0).scrollTop(jQuery(".gls_point_relay").eq(index).position().top);
356
 
357
  }
@@ -368,7 +399,7 @@ function choisirRelaisGLS(index) {
368
  // (/^0(6|7)(0{8}|1{8}|2{8}|3{8}|4{8}|5{8}|6{8}|7{8}|8{8}|9{8}|12345678)$/.test(v))
369
  // ) {
370
  if(!v){
371
- alert( Translator.translate("Please provide a valide phone number.") );
372
  return;
373
  }
374
  // }
@@ -404,9 +435,7 @@ function choisirRelaisGLS(index) {
404
  dataType: 'json',
405
  success: function(){
406
  // On fait la sauvegarde de la méthode de livraison
407
- shippingMethod.save();
408
  }
409
  });
410
- }
411
-
412
-
55
  jQuery('.onestepcheckout-index-index .address-select').on("change", function() {
56
  if(jQuery('#gls-location').size() <= 0 ){
57
  $("#attentionGLS").remove();
58
+ $("label[for=\"billing-address-select\"]").parent().before('<p id="attentionGLS" style="font-weight:bold;color:red;text-align:justify; padding-right:5px;">Suite à la modification de votre adresse et si votre mode de livraison est GLS, veuillez séléctionner votre point de retrait en cliquant sur le mode de livraison.</p>');
59
+ }
60
  });
61
 
62
+ jQuery('select[name="shipping_address_id"]').on("change",function(){
63
+ unsetGLSShippingMethod();
64
+ });
65
+
66
+ jQuery('input[name="billing[use_for_shipping]"]').on("change",function(){
67
+ unsetGLSShippingMethod();
68
+ });
69
+
70
  /**
71
  * Sur l'événement change des radios boutons de choix de mode de livraison
72
  */
111
  */
112
  function initGlsLogos() {
113
 
114
+ var gls_theme = jQuery('#GLS_theme').text();
115
+
116
  jQuery("input[id^=\"s_method_gls\"]").each(function(index, element){
117
 
118
  if(!jQuery("body").hasClass("onestepcheckout-index-index")) {
126
  if (typeGls) {
127
  var radioParent = jQuery(element).parent();
128
  if (radioParent.children('img').size() == 0) {
129
+ // if(gls_theme == 'Mobile'){
130
+ // radioParent.prepend('<img src="/skin/frontend/default/iphone/images/gls/picto_'+typeGls+'.png" >');
131
+ // }else{
132
+ radioParent.prepend('<img src="/skin/frontend/base/default/images/gls/picto_'+typeGls+'.png" >');
133
+ // }
134
  }
135
 
136
  if (typeGls=='relay') {
157
  var typeGls = shippingMethod.replace("gls_","");
158
  if (typeGls.startWith("tohome")) {
159
  return 'tohome';
160
+ } else if (typeGls.startWith("fds")) {
161
+ return 'fds';
162
  } else if (typeGls.startWith("relay")){
163
  return 'relay';
164
  } else {
165
  // Sinon c'est un type de livraison inconnu
166
+ alert("Mauvaise configuration du module GLS : dans le champ configuration le code doit commencer par tohome, fds ou relay");
167
  return false;
168
  }
169
  }
170
 
171
  function shippingGLSRadioCheck(element) {
172
  var glsRadio = jQuery(element);
173
+ var typeGls = getTypeGlsFromRadio(glsRadio, false);
174
+
175
  if(typeGls == "relay"){
176
  // on affiche le picto de chargement étape suivante du opc
177
  jQuery("#shipping-method-please-wait").show();
191
  function resetGLSShippingMethod() {
192
  if (jQuery('#gls_relais_choisi').size()==0) {
193
  jQuery("input[name='shipping_method']:checked").prop("checked","");
194
+ }
195
+ }
196
+
197
+ function unsetGLSShippingMethod(){
198
+ jQuery("input[name='shipping_method']:checked").prop("checked","");
199
+ glsurl = glsBaseUrl + "clearSessionRelayInformations/";
200
+
201
+ jQuery.ajax({
202
+ url: glsurl,
203
+ success: function(data){
204
+ jQuery('#gls_relais_choisi').remove();
205
+ }
206
+ });
207
  }
208
 
209
  function geocodeGLSAdresse() {
210
 
211
+ var searchAdress = jQuery('#adresse_recherche').val()+' '+jQuery('#cp_recherche').val();
212
  if ((typeof google) != "undefined") {
213
  var geocoder = new google.maps.Geocoder();
214
  geocoder.geocode({'address': searchAdress}, function(results, status) {
219
  loadListePointRelais();
220
  } else {
221
  alert('Adresse invalide '+searchAdress);
222
+ unsetGLSShippingMethod();
223
  }
224
  });
225
  } else {
236
  function loadListePointRelais() {
237
  if(jQuery("#cp_recherche").val()){
238
  glsurl = glsBaseUrl + "listPointsRelais"
239
+ glsurl = glsurl + "/address/" + jQuery("#adresse_recherche").val() + "/zipcode/" + jQuery("#cp_recherche").val() + "/country/" + "FR"+ "/city/" + jQuery("#city_recherche").val() ;
240
  jQuery.ajax({
241
  url: glsurl,
242
+ success: function(data){
243
+ if(data.indexOf("gls_ws_error") <= 0){
244
+ jQuery("#col_droite_gls").html(data);
245
+ showGLSMap();
246
+ }else{
247
+ jQuery("#layer_gls_wrapper .contenu").append(data);
248
+ }
249
  }
250
  });
251
  }
382
  glsOpenedInfowindow=infowindowGLS;
383
 
384
  // Mise en évidence du relais dans la liste
385
+ jQuery("#layer_gls .gls_point_relay").removeClass("current").eq(index).addClass("current");
 
386
  jQuery("#col_droite_gls").scrollTop(0).scrollTop(jQuery(".gls_point_relay").eq(index).position().top);
387
 
388
  }
399
  // (/^0(6|7)(0{8}|1{8}|2{8}|3{8}|4{8}|5{8}|6{8}|7{8}|8{8}|9{8}|12345678)$/.test(v))
400
  // ) {
401
  if(!v){
402
+ alert( Translator.translate("Veuillez saisir un numéro de téléphone valide (portable de préférence).") );
403
  return;
404
  }
405
  // }
435
  dataType: 'json',
436
  success: function(){
437
  // On fait la sauvegarde de la méthode de livraison
438
+ shippingMethod.save();
439
  }
440
  });
441
+ }