ColiPoste_La_Poste_So_Colissimo - Version 2.0.0

Version Notes

Compatible 1.7

Download this release

Release Info

Developer Berlioz
Extension ColiPoste_La_Poste_So_Colissimo
Version 2.0.0
Comparing to
See all releases


Code changes from version 1.1.1 to 2.0.0

app/code/community/LaPoste/SoColissimoSimplicite/Helper/Data.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
- * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstract
@@ -26,7 +26,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
26
  * @var string
27
  */
28
  const FAILURE_URL = 'socolissimosimplicite/form/failure';
29
-
30
  /**
31
  * Numéro de version à envoyer obligatoirement à la plateforme
32
  * @var string
@@ -41,7 +41,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
41
  {
42
  return self::NUM_VERSION;
43
  }
44
-
45
  /**
46
  * Retourne l'url complète de la page contenant le formulaire à soumettre
47
  * pour l'accès au front de SO Colissimo
@@ -51,7 +51,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
51
  {
52
  return Mage::getUrl(self::FORM_URL);
53
  }
54
-
55
  /**
56
  * Retourne l'url complète appelée en cas de succès suite à la
57
  * sélection de la livraison dans l'interface SO Colissimo
@@ -62,7 +62,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
62
  //return 'http://magento-community-1-6.1.0.vm/index.php/socolissimosimplicite/form/success/';
63
  return Mage::getUrl(self::SUCCESS_URL);
64
  }
65
-
66
  /**
67
  * Retourne l'url complète appelée en cas d'échec suite à
68
  * l'accès au front de SO Colissimo
@@ -73,7 +73,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
73
  //return 'http://magento-community-1-6.1.0.vm/index.php/socolissimosimplicite/form/failure/';
74
  return Mage::getUrl(self::FAILURE_URL);
75
  }
76
-
77
  /**
78
  * Retourne le code du mode de livraison tel qu'utilisé lors du passage
79
  * d'une commande (code transporteur + mode).
@@ -82,16 +82,16 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
82
  public function getRateCode()
83
  {
84
  $shippingMethod = new LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod();
85
-
86
  //le code du transporteur et le code du mode de livraison sont les mêmes
87
  //cf Mage_Shipping_Model_Carrier_Abstract : un seul attribut "code" utilisé dans les deux cas
88
  //les modes de livraison natifs sont également implémentés de cette manière
89
  $carrierCode = $shippingMethod->getCarrierCode();
90
  $methodCode = $shippingMethod->getCarrierCode();
91
-
92
  return $carrierCode.'_'.$methodCode;
93
  }
94
-
95
  /**
96
  * Retourne l'identifiant d'accès au FO de SO Colissimo Simplicité
97
  * @return string
@@ -100,7 +100,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
100
  {
101
  return Mage::getStoreConfig('carriers/socolissimosimplicite/account');
102
  }
103
-
104
  /**
105
  * Retourne la clé de cryptage nécessaire à la génération de la signature
106
  * pour l'accès au FO de SO Colissimo Simplicité.
@@ -110,7 +110,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
110
  {
111
  return Mage::getStoreConfig('carriers/socolissimosimplicite/encryption_key');
112
  }
113
-
114
  /**
115
  * Retourne l'url du front de SO Colissimo Simplicité
116
  * @return string
@@ -119,7 +119,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
119
  {
120
  return Mage::getStoreConfig('carriers/socolissimosimplicite/url_fo');
121
  }
122
-
123
  /**
124
  * Retourne le message à afficher lors du choix de mode de livraison,
125
  * sous le titre.
@@ -129,7 +129,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
129
  {
130
  return Mage::getStoreConfig('carriers/socolissimosimplicite/selectmessage');
131
  }
132
-
133
  /**
134
  * Retourne le message à afficher lors de la redirection vers le front de
135
  * SO Colissimo Simplicité.
@@ -179,7 +179,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
179
  $map = Mage::getStoreConfig('carriers/socolissimosimplicite/mapprefix');
180
  return json_decode($map, true);
181
  }
182
-
183
  /**
184
  * Retourne les frais de livraison correctement formatés pour la soumission auprès
185
  * de SO Colissimo
@@ -192,7 +192,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
192
  $formatedPrice = number_format($shippingPrice, $maxDecimalDigit, '.', '');
193
  return $formatedPrice;
194
  }
195
-
196
  /**
197
  * Retourne le poids total de la commande correctement formaté pour la soumission
198
  * auprès de SO Colissimo
@@ -203,10 +203,10 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
203
  {
204
  $weight = str_replace(',', '.', $weight);
205
  $weight = $weight * 1000; //converti kg en g
206
- $formatedWeight = number_format($weight, 2, '.', '');
207
  return $formatedWeight;
208
  }
209
-
210
  /**
211
  * Retourne le code civilité de SO Colissimo correspondant au code
212
  * civilité donné.
@@ -222,7 +222,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
222
  }
223
  return $prefixSoCo;
224
  }
225
-
226
  /**
227
  * Retourne la civilité correspondant au code civilité au format
228
  * SO Colissimo donné.
@@ -241,7 +241,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
241
 
242
  /**
243
  * Vérifier que la plateforme socolissimo est disponible
244
- *
245
  * @return boolean
246
  */
247
  public function checkServiceAvailability()
@@ -261,7 +261,7 @@ class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstrac
261
  curl_close($c);
262
  return $serviceAvailable;
263
  }
264
-
265
  /**
266
  * Vérifie si on est dans le cas du recalcul des frais de livraison
267
  * effectué par Magento à l'étape de vérification de la commande
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  class LaPoste_SoColissimoSimplicite_Helper_Data extends Mage_Core_Helper_Abstract
26
  * @var string
27
  */
28
  const FAILURE_URL = 'socolissimosimplicite/form/failure';
29
+
30
  /**
31
  * Numéro de version à envoyer obligatoirement à la plateforme
32
  * @var string
41
  {
42
  return self::NUM_VERSION;
43
  }
44
+
45
  /**
46
  * Retourne l'url complète de la page contenant le formulaire à soumettre
47
  * pour l'accès au front de SO Colissimo
51
  {
52
  return Mage::getUrl(self::FORM_URL);
53
  }
54
+
55
  /**
56
  * Retourne l'url complète appelée en cas de succès suite à la
57
  * sélection de la livraison dans l'interface SO Colissimo
62
  //return 'http://magento-community-1-6.1.0.vm/index.php/socolissimosimplicite/form/success/';
63
  return Mage::getUrl(self::SUCCESS_URL);
64
  }
65
+
66
  /**
67
  * Retourne l'url complète appelée en cas d'échec suite à
68
  * l'accès au front de SO Colissimo
73
  //return 'http://magento-community-1-6.1.0.vm/index.php/socolissimosimplicite/form/failure/';
74
  return Mage::getUrl(self::FAILURE_URL);
75
  }
76
+
77
  /**
78
  * Retourne le code du mode de livraison tel qu'utilisé lors du passage
79
  * d'une commande (code transporteur + mode).
82
  public function getRateCode()
83
  {
84
  $shippingMethod = new LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod();
85
+
86
  //le code du transporteur et le code du mode de livraison sont les mêmes
87
  //cf Mage_Shipping_Model_Carrier_Abstract : un seul attribut "code" utilisé dans les deux cas
88
  //les modes de livraison natifs sont également implémentés de cette manière
89
  $carrierCode = $shippingMethod->getCarrierCode();
90
  $methodCode = $shippingMethod->getCarrierCode();
91
+
92
  return $carrierCode.'_'.$methodCode;
93
  }
94
+
95
  /**
96
  * Retourne l'identifiant d'accès au FO de SO Colissimo Simplicité
97
  * @return string
100
  {
101
  return Mage::getStoreConfig('carriers/socolissimosimplicite/account');
102
  }
103
+
104
  /**
105
  * Retourne la clé de cryptage nécessaire à la génération de la signature
106
  * pour l'accès au FO de SO Colissimo Simplicité.
110
  {
111
  return Mage::getStoreConfig('carriers/socolissimosimplicite/encryption_key');
112
  }
113
+
114
  /**
115
  * Retourne l'url du front de SO Colissimo Simplicité
116
  * @return string
119
  {
120
  return Mage::getStoreConfig('carriers/socolissimosimplicite/url_fo');
121
  }
122
+
123
  /**
124
  * Retourne le message à afficher lors du choix de mode de livraison,
125
  * sous le titre.
129
  {
130
  return Mage::getStoreConfig('carriers/socolissimosimplicite/selectmessage');
131
  }
132
+
133
  /**
134
  * Retourne le message à afficher lors de la redirection vers le front de
135
  * SO Colissimo Simplicité.
179
  $map = Mage::getStoreConfig('carriers/socolissimosimplicite/mapprefix');
180
  return json_decode($map, true);
181
  }
182
+
183
  /**
184
  * Retourne les frais de livraison correctement formatés pour la soumission auprès
185
  * de SO Colissimo
192
  $formatedPrice = number_format($shippingPrice, $maxDecimalDigit, '.', '');
193
  return $formatedPrice;
194
  }
195
+
196
  /**
197
  * Retourne le poids total de la commande correctement formaté pour la soumission
198
  * auprès de SO Colissimo
203
  {
204
  $weight = str_replace(',', '.', $weight);
205
  $weight = $weight * 1000; //converti kg en g
206
+ $formatedWeight = number_format($weight, 0, '.', '');
207
  return $formatedWeight;
208
  }
209
+
210
  /**
211
  * Retourne le code civilité de SO Colissimo correspondant au code
212
  * civilité donné.
222
  }
223
  return $prefixSoCo;
224
  }
225
+
226
  /**
227
  * Retourne la civilité correspondant au code civilité au format
228
  * SO Colissimo donné.
241
 
242
  /**
243
  * Vérifier que la plateforme socolissimo est disponible
244
+ *
245
  * @return boolean
246
  */
247
  public function checkServiceAvailability()
261
  curl_close($c);
262
  return $serviceAvailable;
263
  }
264
+
265
  /**
266
  * Vérifie si on est dans le cas du recalcul des frais de livraison
267
  * effectué par Magento à l'étape de vérification de la commande
app/code/community/LaPoste/SoColissimoSimplicite/Model/Carrier/ShippingMethod.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
@@ -21,7 +21,7 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
21
  * @var string
22
  */
23
  protected $_code = 'socolissimosimplicite';
24
-
25
  /**
26
  * Récolte et retourne les informations sur le mode de livraison utiles
27
  * pour le passage d'une commande.
@@ -33,8 +33,8 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
33
  //on stoppe si le mode de livraison n'est pas activé dans la configuration
34
  if (!$this->getConfigFlag('active')) {
35
  return false;
36
- }
37
-
38
  //idem si la limite de poids ou la tranche de prix ne sont pas respectés
39
  $packageValue = $request->getPackageValue();
40
  $packageWeight = $request->getPackageWeight();
@@ -44,16 +44,16 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
44
  && ($this->getConfigData('max_weight') == '' || $packageWeight <= $this->getConfigData('max_weight'));
45
 
46
  $result = Mage::getModel('shipping/rate_result');
47
-
48
  if ($allow == true) {
49
  $method = Mage::getModel('shipping/rate_result_method');
50
-
51
  $method->setCarrier($this->_code);
52
  $method->setCarrierTitle($this->getConfigData('title'));
53
-
54
  $method->setMethod($this->_code);
55
  $method->setMethodTitle($this->getConfigData('name'));
56
-
57
  // vérifier si la livraison collisimo est offerte et à partir de quel montant
58
  $minQuotePriceForFreeShipping = $this->getConfigData('minquotepriceforfree');
59
  $quotePriceWithDiscount = $request->getData('package_value_with_discount');
@@ -62,17 +62,17 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
62
  } else {
63
  $method->setPrice($this->getCalculatedPrice());
64
  }
65
-
66
  // vérifier si la livraison collisimo est offerte via une règle de prix
67
  if ($request->getFreeShipping()) {
68
  $method->setPrice(0);
69
  }
70
-
71
  $result->append($method);
72
  }
73
  return $result;
74
  }
75
-
76
  /**
77
  * Retourne les modes de livraison authorisés.
78
  * @return array
@@ -81,7 +81,7 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
81
  {
82
  return array($this->_code => $this->getConfigData('name'));
83
  }
84
-
85
  /**
86
  * Retourne le montant des frais de livraison après éventuels calculs
87
  * selon le mode de tarification choisi dans l'administration.
@@ -92,13 +92,13 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
92
  $amountBaseType = $this->getConfigData('amountbasetype');
93
  $amountCalculation = $this->getConfigData('amountcalculation');
94
  $helper = Mage::helper('socolissimosimplicite');
95
-
96
  // récupérer l'adresse
97
  $shippingAddress = Mage::getModel('checkout/cart')->getQuote()->getShippingAddress();
98
 
99
  // en mode rendez-vous, on utilise directement le prix transmis par socolissimo
100
  // on ne re-calcule pas (supplément de 4€)
101
- if ($shippingAddress->getData('soco_mode_rdv') == true
102
  and $shippingAddress->getData('base_shipping_amount') > 0) {
103
  return $shippingAddress->getData('base_shipping_amount');
104
  // sinon si bug des frais RDV non comptabilisés, on utilise le montant mémorisé en session
@@ -167,14 +167,14 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
167
  throw new Exception($helper->__('SoColissimo : la valeur de configuration "Calcul des frais de livraison" pour le type "tarif selon le sous-total" fournie "'.$amountCalculation.'" n\'est pas dans le bon format, exemple {"0":"3","50":"5","100":"8","250":"0"}'));
168
  }
169
  }
170
- break;
171
  default:
172
  throw new Exception($helper->__('SoColissimo : la valeur de configuration "Type des frais de livraison" fourni "'.$amountBaseType.'" n\'est pas disponible'));
173
  break;
174
  }
175
  return $calculatedPrice;
176
  }
177
-
178
  /**
179
  * Getter for carrier code
180
  * needed for Magento version under 1.4
@@ -184,5 +184,5 @@ class LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod
184
  public function getCarrierCode()
185
  {
186
  return $this->_code;
187
- }
188
  }
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
21
  * @var string
22
  */
23
  protected $_code = 'socolissimosimplicite';
24
+
25
  /**
26
  * Récolte et retourne les informations sur le mode de livraison utiles
27
  * pour le passage d'une commande.
33
  //on stoppe si le mode de livraison n'est pas activé dans la configuration
34
  if (!$this->getConfigFlag('active')) {
35
  return false;
36
+ }
37
+
38
  //idem si la limite de poids ou la tranche de prix ne sont pas respectés
39
  $packageValue = $request->getPackageValue();
40
  $packageWeight = $request->getPackageWeight();
44
  && ($this->getConfigData('max_weight') == '' || $packageWeight <= $this->getConfigData('max_weight'));
45
 
46
  $result = Mage::getModel('shipping/rate_result');
47
+
48
  if ($allow == true) {
49
  $method = Mage::getModel('shipping/rate_result_method');
50
+
51
  $method->setCarrier($this->_code);
52
  $method->setCarrierTitle($this->getConfigData('title'));
53
+
54
  $method->setMethod($this->_code);
55
  $method->setMethodTitle($this->getConfigData('name'));
56
+
57
  // vérifier si la livraison collisimo est offerte et à partir de quel montant
58
  $minQuotePriceForFreeShipping = $this->getConfigData('minquotepriceforfree');
59
  $quotePriceWithDiscount = $request->getData('package_value_with_discount');
62
  } else {
63
  $method->setPrice($this->getCalculatedPrice());
64
  }
65
+
66
  // vérifier si la livraison collisimo est offerte via une règle de prix
67
  if ($request->getFreeShipping()) {
68
  $method->setPrice(0);
69
  }
70
+
71
  $result->append($method);
72
  }
73
  return $result;
74
  }
75
+
76
  /**
77
  * Retourne les modes de livraison authorisés.
78
  * @return array
81
  {
82
  return array($this->_code => $this->getConfigData('name'));
83
  }
84
+
85
  /**
86
  * Retourne le montant des frais de livraison après éventuels calculs
87
  * selon le mode de tarification choisi dans l'administration.
92
  $amountBaseType = $this->getConfigData('amountbasetype');
93
  $amountCalculation = $this->getConfigData('amountcalculation');
94
  $helper = Mage::helper('socolissimosimplicite');
95
+
96
  // récupérer l'adresse
97
  $shippingAddress = Mage::getModel('checkout/cart')->getQuote()->getShippingAddress();
98
 
99
  // en mode rendez-vous, on utilise directement le prix transmis par socolissimo
100
  // on ne re-calcule pas (supplément de 4€)
101
+ if ($shippingAddress->getData('soco_mode_rdv') == true
102
  and $shippingAddress->getData('base_shipping_amount') > 0) {
103
  return $shippingAddress->getData('base_shipping_amount');
104
  // sinon si bug des frais RDV non comptabilisés, on utilise le montant mémorisé en session
167
  throw new Exception($helper->__('SoColissimo : la valeur de configuration "Calcul des frais de livraison" pour le type "tarif selon le sous-total" fournie "'.$amountCalculation.'" n\'est pas dans le bon format, exemple {"0":"3","50":"5","100":"8","250":"0"}'));
168
  }
169
  }
170
+ break;
171
  default:
172
  throw new Exception($helper->__('SoColissimo : la valeur de configuration "Type des frais de livraison" fourni "'.$amountBaseType.'" n\'est pas disponible'));
173
  break;
174
  }
175
  return $calculatedPrice;
176
  }
177
+
178
  /**
179
  * Getter for carrier code
180
  * needed for Magento version under 1.4
184
  public function getCarrierCode()
185
  {
186
  return $this->_code;
187
+ }
188
  }
app/code/community/LaPoste/SoColissimoSimplicite/Model/Observer.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
@@ -16,7 +16,7 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
16
  {
17
  const modRDV = 'RDV';
18
  const modDOM = 'DOM';
19
-
20
  /**
21
  * Tableau de correspondance les champs simples retournés par SO COlissimo
22
  * et les champs d'une adresse de livraison dans Magento.
@@ -33,8 +33,8 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
33
  'DYFORWARDINGCHARGES' => 'base_shipping_amount',
34
  'PRZIPCODE' => 'postcode',
35
  'PRTOWN' => 'city'
36
- );
37
-
38
  /**
39
  * Met à jour les données de livraison à partir des infos récupérées depuis
40
  * SO Colissimo.
@@ -46,14 +46,14 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
46
  public function setShippingAddressWithSoColissimoAddress($observer)
47
  {
48
  $checkoutSession = Mage::getSingleton('checkout/session');
49
-
50
  $transactionId = $checkoutSession->getData('socolissimosimplicite_checkout_onepage_transactionid');
51
  $nextStep = $checkoutSession->getData('socolissimosimplicite_checkout_onepage_nextstep');
52
-
53
  //on regarde s'il existe une transaction avec SO Colissimo en session et si on cherche à afficher
54
  //le choix du mode de paiement
55
  if ($transactionId && $nextStep == 'payment') {
56
-
57
  //on regarde s'il s'agit d'une adresse de livraison
58
  $shippingAddress = Mage::getModel('checkout/cart')
59
  ->getQuote()->getShippingAddress();
@@ -64,16 +64,16 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
64
  //il faut donc mettre à jour les informations de livraison récupérées
65
  //depuis SO Colissimo
66
  $shippingData = $checkoutSession->getData('socolissimosimplicite_shipping_data');
67
-
68
  $this->_updateQuoteAndShippingAddress($shippingAddress, $shippingData);
69
  }
70
  }
71
  }
72
-
73
  public function clearCheckoutSession($observer)
74
  {
75
  $checkoutSession = Mage::getSingleton('checkout/session');
76
-
77
  if ($checkoutSession) {
78
  $checkoutSession->unsetData('socolissimosimplicite_checkout_onepage_nextstep');
79
  $checkoutSession->unsetData('socolissimosimplicite_checkout_onepage_transactionid');
@@ -86,13 +86,13 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
86
  $checkoutSession->unsetData('socolissimosimplicite_shipping_amount');
87
  }
88
  }
89
-
90
  /**
91
- *
92
  * Sauvegarde les donnees de la commande propre a So Colissimo
93
  * @param $observer
94
  */
95
-
96
  public function addSocoAttributesToOrder($observer)
97
  {
98
  try {
@@ -110,13 +110,13 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
110
  $observer->getEvent()->getOrder()->setSocoShippingInstruction($shippingData['CEDELIVERYINFORMATION']);
111
  }
112
 
113
- if (isset($shippingData['CEDOORCODE1'])) {
114
  $observer->getEvent()->getOrder()->setSocoDoorCode1($shippingData['CEDOORCODE1']);
115
  }
116
 
117
  if (isset($shippingData['CEDOORCODE2'])) {
118
  $observer->getEvent()->getOrder()->setSocoDoorCode2($shippingData['CEDOORCODE2']);
119
- }
120
 
121
  if (isset($shippingData['CEENTRYPHONE'])) {
122
  $observer->getEvent()->getOrder()->setSocoInterphone($shippingData['CEENTRYPHONE']);
@@ -124,7 +124,7 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
124
 
125
  if (isset($shippingData['PRID'])) {
126
  $observer->getEvent()->getOrder()->setSocoRelayPointCode($shippingData['PRID']);
127
- }
128
 
129
  if (isset($shippingData['CECIVILITY'])) {
130
  $observer->getEvent()->getOrder()->setSocoCivility($shippingData['CECIVILITY']);
@@ -142,7 +142,7 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
142
  Mage::Log('Failed to save so-colissimo data : '.print_r($shippingData, true));
143
  }
144
  }
145
-
146
  /**
147
  * Met à jour les données sur l'adresse de livraison à partir des
148
  * informations retournées par SO Colissimo.
@@ -159,13 +159,13 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
159
  $checkoutSession->unsetData('socolissimosimplicite_new_address_from_socolissimo');
160
 
161
  $helper = Mage::helper('socolissimosimplicite');
162
-
163
  $arrayData = array();
164
  $arrayData['customer_address_id'] = null;
165
 
166
  $street = array();
167
  $customerNotesArray = array();
168
-
169
  foreach ($shippingData as $fieldSoCo => $valueSoCo) {
170
  if (array_key_exists($fieldSoCo, $this->_mapFields)) {
171
  $fieldMagento = $this->_mapFields[$fieldSoCo];
@@ -177,9 +177,9 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
177
  case 'CECIVILITY':
178
  $arrayData['prefix'] = $helper->getPrefixForMagento($shippingValue);
179
  break;
180
-
181
  //cas particulier des informations de rue, complément d'adresse etc.
182
-
183
  //cas livraison à domicile
184
  case 'CEADRESS3':
185
  $street['0'] = $shippingValue; //mis en 1er car numéro de rue obligatoire côté SoCo
@@ -221,33 +221,33 @@ class LaPoste_SoColissimoSimplicite_Model_Observer
221
  case 'CEDELIVERYINFORMATION':
222
  $customerNotesArray['3'] = $shippingValue;
223
  break;
224
-
225
  default:
226
  break;
227
  }
228
  }
229
  }
230
-
231
  if (! empty($customerNotesArray)) {
232
  $arrayData['customer_notes'] = implode("\n", $customerNotesArray);
233
  }
234
 
235
  //recuperation du mode de livraison choisi
236
  $deliveryMode = isset($shippingData['DELIVERYMODE'])? $shippingData['DELIVERYMODE'] : null;
237
-
238
  // sauvegarde dans le carnet d'adresse seulement pour le mode domicile
239
  if ($deliveryMode != self::modDOM) {
240
  $arrayData['save_in_address_book'] = 0;
241
  }
242
-
243
  //en mode RDV, on ajoute dans l'adresse la notion de rendez-vous
244
  if ($deliveryMode == self::modRDV) {
245
  if (isset($street['3'])) {
246
- $street['3'] .= ' '.$helper->__('(livraison sur rendez-vous)');
247
  } else {
248
- $street['3'] = $helper->__('(livraison sur rendez-vous)');
249
  }
250
-
251
  // marquer le mode RDV au niveau de l'adresse (calcul dépend du mode)
252
  $arrayData['soco_mode_rdv'] = true;
253
  } else {
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
16
  {
17
  const modRDV = 'RDV';
18
  const modDOM = 'DOM';
19
+
20
  /**
21
  * Tableau de correspondance les champs simples retournés par SO COlissimo
22
  * et les champs d'une adresse de livraison dans Magento.
33
  'DYFORWARDINGCHARGES' => 'base_shipping_amount',
34
  'PRZIPCODE' => 'postcode',
35
  'PRTOWN' => 'city'
36
+ );
37
+
38
  /**
39
  * Met à jour les données de livraison à partir des infos récupérées depuis
40
  * SO Colissimo.
46
  public function setShippingAddressWithSoColissimoAddress($observer)
47
  {
48
  $checkoutSession = Mage::getSingleton('checkout/session');
49
+
50
  $transactionId = $checkoutSession->getData('socolissimosimplicite_checkout_onepage_transactionid');
51
  $nextStep = $checkoutSession->getData('socolissimosimplicite_checkout_onepage_nextstep');
52
+
53
  //on regarde s'il existe une transaction avec SO Colissimo en session et si on cherche à afficher
54
  //le choix du mode de paiement
55
  if ($transactionId && $nextStep == 'payment') {
56
+
57
  //on regarde s'il s'agit d'une adresse de livraison
58
  $shippingAddress = Mage::getModel('checkout/cart')
59
  ->getQuote()->getShippingAddress();
64
  //il faut donc mettre à jour les informations de livraison récupérées
65
  //depuis SO Colissimo
66
  $shippingData = $checkoutSession->getData('socolissimosimplicite_shipping_data');
67
+
68
  $this->_updateQuoteAndShippingAddress($shippingAddress, $shippingData);
69
  }
70
  }
71
  }
72
+
73
  public function clearCheckoutSession($observer)
74
  {
75
  $checkoutSession = Mage::getSingleton('checkout/session');
76
+
77
  if ($checkoutSession) {
78
  $checkoutSession->unsetData('socolissimosimplicite_checkout_onepage_nextstep');
79
  $checkoutSession->unsetData('socolissimosimplicite_checkout_onepage_transactionid');
86
  $checkoutSession->unsetData('socolissimosimplicite_shipping_amount');
87
  }
88
  }
89
+
90
  /**
91
+ *
92
  * Sauvegarde les donnees de la commande propre a So Colissimo
93
  * @param $observer
94
  */
95
+
96
  public function addSocoAttributesToOrder($observer)
97
  {
98
  try {
110
  $observer->getEvent()->getOrder()->setSocoShippingInstruction($shippingData['CEDELIVERYINFORMATION']);
111
  }
112
 
113
+ if (isset($shippingData['CEDOORCODE1'])) {
114
  $observer->getEvent()->getOrder()->setSocoDoorCode1($shippingData['CEDOORCODE1']);
115
  }
116
 
117
  if (isset($shippingData['CEDOORCODE2'])) {
118
  $observer->getEvent()->getOrder()->setSocoDoorCode2($shippingData['CEDOORCODE2']);
119
+ }
120
 
121
  if (isset($shippingData['CEENTRYPHONE'])) {
122
  $observer->getEvent()->getOrder()->setSocoInterphone($shippingData['CEENTRYPHONE']);
124
 
125
  if (isset($shippingData['PRID'])) {
126
  $observer->getEvent()->getOrder()->setSocoRelayPointCode($shippingData['PRID']);
127
+ }
128
 
129
  if (isset($shippingData['CECIVILITY'])) {
130
  $observer->getEvent()->getOrder()->setSocoCivility($shippingData['CECIVILITY']);
142
  Mage::Log('Failed to save so-colissimo data : '.print_r($shippingData, true));
143
  }
144
  }
145
+
146
  /**
147
  * Met à jour les données sur l'adresse de livraison à partir des
148
  * informations retournées par SO Colissimo.
159
  $checkoutSession->unsetData('socolissimosimplicite_new_address_from_socolissimo');
160
 
161
  $helper = Mage::helper('socolissimosimplicite');
162
+
163
  $arrayData = array();
164
  $arrayData['customer_address_id'] = null;
165
 
166
  $street = array();
167
  $customerNotesArray = array();
168
+
169
  foreach ($shippingData as $fieldSoCo => $valueSoCo) {
170
  if (array_key_exists($fieldSoCo, $this->_mapFields)) {
171
  $fieldMagento = $this->_mapFields[$fieldSoCo];
177
  case 'CECIVILITY':
178
  $arrayData['prefix'] = $helper->getPrefixForMagento($shippingValue);
179
  break;
180
+
181
  //cas particulier des informations de rue, complément d'adresse etc.
182
+
183
  //cas livraison à domicile
184
  case 'CEADRESS3':
185
  $street['0'] = $shippingValue; //mis en 1er car numéro de rue obligatoire côté SoCo
221
  case 'CEDELIVERYINFORMATION':
222
  $customerNotesArray['3'] = $shippingValue;
223
  break;
224
+
225
  default:
226
  break;
227
  }
228
  }
229
  }
230
+
231
  if (! empty($customerNotesArray)) {
232
  $arrayData['customer_notes'] = implode("\n", $customerNotesArray);
233
  }
234
 
235
  //recuperation du mode de livraison choisi
236
  $deliveryMode = isset($shippingData['DELIVERYMODE'])? $shippingData['DELIVERYMODE'] : null;
237
+
238
  // sauvegarde dans le carnet d'adresse seulement pour le mode domicile
239
  if ($deliveryMode != self::modDOM) {
240
  $arrayData['save_in_address_book'] = 0;
241
  }
242
+
243
  //en mode RDV, on ajoute dans l'adresse la notion de rendez-vous
244
  if ($deliveryMode == self::modRDV) {
245
  if (isset($street['3'])) {
246
+ $street['3'] .= ' '.$helper->__('livraison sur rendez-vous');
247
  } else {
248
+ $street['3'] = $helper->__('livraison sur rendez-vous');
249
  }
250
+
251
  // marquer le mode RDV au niveau de l'adresse (calcul dépend du mode)
252
  $arrayData['soco_mode_rdv'] = true;
253
  } else {
app/code/community/LaPoste/SoColissimoSimplicite/Model/Transaction.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
@@ -15,7 +15,7 @@
15
  class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Abstract
16
  {
17
  protected $_helper;
18
-
19
  /**
20
  * Constructeur par défaut
21
  * @return LaPoste_SoColissimoSimplicite_Model_Transaction
@@ -25,7 +25,7 @@ class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Ab
25
  parent::_construct();
26
  $this->_init('socolissimosimplicite/transaction');
27
  }
28
-
29
  /**
30
  * Retourne le helper principal du module.
31
  * @return LaPoste_SoColissimoSimplicite_Helper_Data
@@ -37,7 +37,7 @@ class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Ab
37
  }
38
  return $this->_helper;
39
  }
40
-
41
  /**
42
  * Crée et sauvegarde les données de la transaction avec SO Colissimo
43
  * (avant l'accès à la plateforme).
@@ -49,20 +49,20 @@ class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Ab
49
  $now = date('Y-m-d h:i:s');
50
  $this->setCreatedAt($now);
51
  $this->setIsDone(0);
52
-
53
  try {
54
  $this->setQuoteId($shippingAddress->getQuoteId());
55
  $this->save(); //1ère sauvegarde pour récupérer le transaction_id pour la signature
56
 
57
  $this->setSignature($this->_getGeneratedSignature($shippingAddress));
58
  $this->save();
59
-
60
  } catch (Exception $e) {
61
  throw new Exception($e);
62
  }
63
  return $this;
64
  }
65
-
66
  /**
67
  * Génère la signature requise pour l'accès à la plateforme SO Colissimo (front-office).
68
  *
@@ -92,14 +92,24 @@ class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Ab
92
  *
93
  * @param LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod $method
94
  * @param Mage_Sales_Model_Quote_Address $shippingAddress
95
- * @todo when signature is calculated with strtolower($stringToConvert),
96
  * access to colissimo is forbidden (error code 007 signature invalide)
97
  * @return string signature de 160 bits (40 caractères)
98
  */
99
  protected function _getGeneratedSignature($shippingAddress)
100
  {
 
 
 
 
 
 
 
 
 
 
101
  $stringToConvert = '';
102
-
103
  $shippingPrice = ($shippingAddress->getFreeShipping() === '1') ? 0 : $shippingAddress->getShippingAmount();
104
  $data = array(
105
  'pudoFOId'=>$this->helper()->getAccountId(),
@@ -119,22 +129,22 @@ class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Ab
119
  'ceZipCode'=>$shippingAddress->getPostcode(),
120
  'ceTown'=>$shippingAddress->getCity(),
121
  'ceEmail'=>$shippingAddress->getEmail(),
122
- 'cePhoneNumber'=>$shippingAddress->getTelephone(),
123
  'dyWeight'=>$this->helper()->getFormatedWeight($shippingAddress->getWeight()),
124
  'trReturnUrlKo'=>$this->helper()->getFailureUrl(),
125
  'trReturnUrlOk'=>$this->helper()->getSuccessUrl(),
126
  'encryptionKey'=>$this->helper()->getEncryptionKey(),
127
  );
128
-
129
  foreach ($data as $field=>$value) {
130
  if (!empty($value)) {
131
  $stringToConvert .= utf8_decode($value);
132
  }
133
  }
134
-
135
  return sha1($stringToConvert);
136
  }
137
-
138
  /**
139
  * Retourne la ligne n° $line des informations (rue, étage, immeuble, etc.) de l'adresse
140
  * de livraison de la commande en cours.
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
15
  class LaPoste_SoColissimoSimplicite_Model_Transaction extends Mage_Core_Model_Abstract
16
  {
17
  protected $_helper;
18
+
19
  /**
20
  * Constructeur par défaut
21
  * @return LaPoste_SoColissimoSimplicite_Model_Transaction
25
  parent::_construct();
26
  $this->_init('socolissimosimplicite/transaction');
27
  }
28
+
29
  /**
30
  * Retourne le helper principal du module.
31
  * @return LaPoste_SoColissimoSimplicite_Helper_Data
37
  }
38
  return $this->_helper;
39
  }
40
+
41
  /**
42
  * Crée et sauvegarde les données de la transaction avec SO Colissimo
43
  * (avant l'accès à la plateforme).
49
  $now = date('Y-m-d h:i:s');
50
  $this->setCreatedAt($now);
51
  $this->setIsDone(0);
52
+
53
  try {
54
  $this->setQuoteId($shippingAddress->getQuoteId());
55
  $this->save(); //1ère sauvegarde pour récupérer le transaction_id pour la signature
56
 
57
  $this->setSignature($this->_getGeneratedSignature($shippingAddress));
58
  $this->save();
59
+
60
  } catch (Exception $e) {
61
  throw new Exception($e);
62
  }
63
  return $this;
64
  }
65
+
66
  /**
67
  * Génère la signature requise pour l'accès à la plateforme SO Colissimo (front-office).
68
  *
92
  *
93
  * @param LaPoste_SoColissimoSimplicite_Model_Carrier_ShippingMethod $method
94
  * @param Mage_Sales_Model_Quote_Address $shippingAddress
95
+ * @todo when signature is calculated with strtolower($stringToConvert),
96
  * access to colissimo is forbidden (error code 007 signature invalide)
97
  * @return string signature de 160 bits (40 caractères)
98
  */
99
  protected function _getGeneratedSignature($shippingAddress)
100
  {
101
+ // transfer phone number only if its a cell phone
102
+ // Same code is used in form.phtml
103
+ $phone = $shippingAddress->getTelephone();
104
+ $phone = substr($phone, 0, 2);
105
+ if (($phone == '06') || ($phone == '07')) {
106
+ $phone = $shippingAddress->getTelephone();
107
+ } else {
108
+ $phone = '';
109
+ }
110
+
111
  $stringToConvert = '';
112
+
113
  $shippingPrice = ($shippingAddress->getFreeShipping() === '1') ? 0 : $shippingAddress->getShippingAmount();
114
  $data = array(
115
  'pudoFOId'=>$this->helper()->getAccountId(),
129
  'ceZipCode'=>$shippingAddress->getPostcode(),
130
  'ceTown'=>$shippingAddress->getCity(),
131
  'ceEmail'=>$shippingAddress->getEmail(),
132
+ 'cePhoneNumber'=>$phone,
133
  'dyWeight'=>$this->helper()->getFormatedWeight($shippingAddress->getWeight()),
134
  'trReturnUrlKo'=>$this->helper()->getFailureUrl(),
135
  'trReturnUrlOk'=>$this->helper()->getSuccessUrl(),
136
  'encryptionKey'=>$this->helper()->getEncryptionKey(),
137
  );
138
+
139
  foreach ($data as $field=>$value) {
140
  if (!empty($value)) {
141
  $stringToConvert .= utf8_decode($value);
142
  }
143
  }
144
+
145
  return sha1($stringToConvert);
146
  }
147
+
148
  /**
149
  * Retourne la ligne n° $line des informations (rue, étage, immeuble, etc.) de l'adresse
150
  * de livraison de la commande en cours.
app/code/community/LaPoste/SoColissimoSimplicite/controllers/FormController.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
@@ -23,33 +23,22 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
23
 
24
  // vérifier la disponibilité de la plateforme, si ce n'est pas le cas,
25
  // sélectionner la livraison à domicile et passer à l'étape suivante
 
 
26
  $helper = Mage::helper('socolissimosimplicite');
27
  if ($helper->getServiceIsAvailable() and $helper->getServiceIsAvailableUrl() != '') {
28
  $serviceAvailable = $helper->checkServiceAvailability();
29
  // passer à l'étape suivante avec le mode livraison à domicile
30
  if (!$serviceAvailable) {
31
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'payment');
32
- $this->getResponse()->setRedirect(Mage::getUrl('checkout/onepage'));
33
- return;
34
  }
35
  }
36
 
37
- // utiliser un flag en session pour vérifier si l'on accède à l'action suite
38
- // à un retour du site collissimo, si c'est le cas on redirige sur le checkout
39
- if ($checkoutSession->hasData('socolissimosimplicite_from_socolissimo')) {
40
- $checkoutSession->unsetData('socolissimosimplicite_from_socolissimo');
41
- // sauvegarde de l'étape suivante en session (choix de la méthode de livraison)
42
- $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'shipping_method');
43
- $this->getResponse()->setRedirect(Mage::getUrl('checkout/onepage'));
44
- return;
45
- } else {
46
- $checkoutSession->setData('socolissimosimplicite_from_socolissimo', true);
47
- }
48
-
49
  //récupération de l'adresse de livraison de la commande en cours
50
  $shippingAddress = $this->getShippingAddress();
51
 
52
- // on relance le calcul du prix de livraison pour gérer le cas du choix
53
  // du mode RDV puis du retour en arrière et du choix du mode classique
54
  $shippingAddress->setCollectShippingRates(true);
55
  $shippingAddress->collectShippingRates();
@@ -64,11 +53,12 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
64
  //passage de données à la vue
65
  $this->getLayout()->getBlock('form.socolissimosimplicite')
66
  ->setShippingAddress($shippingAddress)
67
- ->setTransaction($transaction);
 
68
 
69
  $this->renderLayout();
70
  }
71
-
72
  /**
73
  * Succès suite au retour de SO Colissimo
74
  * @todo use TRPARAMPLUS to pass / get "payment" ?
@@ -86,12 +76,12 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
86
  // sauvegarde des données retournées par SO Colissimo en session (choix du mode de paiement)
87
  $this->_saveSoColissimoData($checkoutSession);
88
 
89
- // sauvegarde de l'étape suivante en session
90
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'payment');
91
 
92
  $this->getResponse()->setRedirect(Mage::getUrl('checkout/onepage'));
93
  }
94
-
95
  /**
96
  * Échec lors de la soumission du formulaire d'accès à SO Colissimo
97
  */
@@ -100,10 +90,10 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
100
  // permettre de revenir en arrière pour change le mode de livraison
101
  $checkoutSession = Mage::getSingleton('checkout/session');
102
  $checkoutSession->unsetData('socolissimosimplicite_from_socolissimo');
103
-
104
  // sauvegarde de l'étape suivante en session (choix de la méthode de livraison)
105
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'shipping_method');
106
-
107
  // récupérer le code erreur et afficher le message correspondant
108
  $errCode = trim($this->getRequest()->getPost('ERRORCODE'));
109
  $helper = Mage::helper('socolissimosimplicite');
@@ -128,11 +118,11 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
128
  } else {
129
  $msg = $helper->__('Erreur non identifiée');
130
  }
131
- $checkoutSession->addError($msg);
132
  $this->_redirect('checkout/cart');
133
  return;
134
  }
135
-
136
  /**
137
  * Retourne l'adresse de livraison de la commande en cours.
138
  * @todo to deal with session lost
@@ -144,7 +134,7 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
144
  ->getQuote()->getShippingAddress();
145
  return $shippingAddress;
146
  }
147
-
148
  /**
149
  * Vérifie si la signature a changée (ie l'adresse de livraison a changée),
150
  * dans ce cas mettre à jour la signature
@@ -155,7 +145,7 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
155
  // signature invalide
156
  if (empty($newSignature)) {
157
  throw new Exception(Mage::helper('socolissimosimplicite')->__("SoColissimo : la signature retournée par colissimo est vide"));
158
- }
159
  $transactionId = $this->getRequest()->getParam('ORDERID');
160
  $transactions = Mage::getModel('socolissimosimplicite/transaction')
161
  ->getCollection()
@@ -172,7 +162,7 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
172
  $transaction->save();
173
  }
174
  }
175
-
176
  /**
177
  * Enregistre les données retournées par SO Colissimo en session,
178
  * afin de mettre à jour les données de livraison ultérieurement.
@@ -198,7 +188,7 @@ class LaPoste_SoColissimoSimplicite_FormController extends Mage_Core_Controller_
198
  // sauve transaction id, pour éviter de créer une nouvelle transaction si retour en arrière
199
  $transactionId = $this->getRequest()->getParam('ORDERID');
200
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_transactionid', $transactionId);
201
-
202
  // indique que l'adresse vient de socolissimo
203
  $checkoutSession->setData('socolissimosimplicite_new_address_from_socolissimo', true);
204
  }
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
23
 
24
  // vérifier la disponibilité de la plateforme, si ce n'est pas le cas,
25
  // sélectionner la livraison à domicile et passer à l'étape suivante
26
+ /* @var $helper LaPoste_SoColissimoSimplicite_Helper_Data */
27
+ $serviceUnavailableRedirect = null;
28
  $helper = Mage::helper('socolissimosimplicite');
29
  if ($helper->getServiceIsAvailable() and $helper->getServiceIsAvailableUrl() != '') {
30
  $serviceAvailable = $helper->checkServiceAvailability();
31
  // passer à l'étape suivante avec le mode livraison à domicile
32
  if (!$serviceAvailable) {
33
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'payment');
34
+ $serviceUnavailableRedirect = Mage::getUrl('checkout/onepage');
 
35
  }
36
  }
37
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  //récupération de l'adresse de livraison de la commande en cours
39
  $shippingAddress = $this->getShippingAddress();
40
 
41
+ // on relance le calcul du prix de livraison pour gérer le cas du choix
42
  // du mode RDV puis du retour en arrière et du choix du mode classique
43
  $shippingAddress->setCollectShippingRates(true);
44
  $shippingAddress->collectShippingRates();
53
  //passage de données à la vue
54
  $this->getLayout()->getBlock('form.socolissimosimplicite')
55
  ->setShippingAddress($shippingAddress)
56
+ ->setTransaction($transaction)
57
+ ->setServiceUnavailableRedirect($serviceUnavailableRedirect);
58
 
59
  $this->renderLayout();
60
  }
61
+
62
  /**
63
  * Succès suite au retour de SO Colissimo
64
  * @todo use TRPARAMPLUS to pass / get "payment" ?
76
  // sauvegarde des données retournées par SO Colissimo en session (choix du mode de paiement)
77
  $this->_saveSoColissimoData($checkoutSession);
78
 
79
+ // sauvegarde de l'étape suivante en session
80
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'payment');
81
 
82
  $this->getResponse()->setRedirect(Mage::getUrl('checkout/onepage'));
83
  }
84
+
85
  /**
86
  * Échec lors de la soumission du formulaire d'accès à SO Colissimo
87
  */
90
  // permettre de revenir en arrière pour change le mode de livraison
91
  $checkoutSession = Mage::getSingleton('checkout/session');
92
  $checkoutSession->unsetData('socolissimosimplicite_from_socolissimo');
93
+
94
  // sauvegarde de l'étape suivante en session (choix de la méthode de livraison)
95
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_nextstep', 'shipping_method');
96
+
97
  // récupérer le code erreur et afficher le message correspondant
98
  $errCode = trim($this->getRequest()->getPost('ERRORCODE'));
99
  $helper = Mage::helper('socolissimosimplicite');
118
  } else {
119
  $msg = $helper->__('Erreur non identifiée');
120
  }
121
+ $checkoutSession->addError($msg);
122
  $this->_redirect('checkout/cart');
123
  return;
124
  }
125
+
126
  /**
127
  * Retourne l'adresse de livraison de la commande en cours.
128
  * @todo to deal with session lost
134
  ->getQuote()->getShippingAddress();
135
  return $shippingAddress;
136
  }
137
+
138
  /**
139
  * Vérifie si la signature a changée (ie l'adresse de livraison a changée),
140
  * dans ce cas mettre à jour la signature
145
  // signature invalide
146
  if (empty($newSignature)) {
147
  throw new Exception(Mage::helper('socolissimosimplicite')->__("SoColissimo : la signature retournée par colissimo est vide"));
148
+ }
149
  $transactionId = $this->getRequest()->getParam('ORDERID');
150
  $transactions = Mage::getModel('socolissimosimplicite/transaction')
151
  ->getCollection()
162
  $transaction->save();
163
  }
164
  }
165
+
166
  /**
167
  * Enregistre les données retournées par SO Colissimo en session,
168
  * afin de mettre à jour les données de livraison ultérieurement.
188
  // sauve transaction id, pour éviter de créer une nouvelle transaction si retour en arrière
189
  $transactionId = $this->getRequest()->getParam('ORDERID');
190
  $checkoutSession->setData('socolissimosimplicite_checkout_onepage_transactionid', $transactionId);
191
+
192
  // indique que l'adresse vient de socolissimo
193
  $checkoutSession->setData('socolissimosimplicite_new_address_from_socolissimo', true);
194
  }
app/code/community/LaPoste/SoColissimoSimplicite/etc/config.xml CHANGED
@@ -6,14 +6,14 @@
6
  * @category LaPoste
7
  * @package LaPoste_SoColissimoSimplicite
8
  * @copyright Copyright (c) 2010 La Poste
9
- * @author Smile (http://www.smile.fr)
10
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
11
  */
12
  -->
13
  <config>
14
  <modules>
15
  <LaPoste_SoColissimoSimplicite>
16
- <version>1.1.0</version>
17
  </LaPoste_SoColissimoSimplicite>
18
  </modules>
19
 
@@ -142,13 +142,13 @@
142
  <active>0</active>
143
  <title>La Poste</title>
144
  <name>So Colissimo</name>
145
- <selectmessage>En cliquant sur Poursuivre, vous serez redirigé(e) vers la page So Colissimo afin de choisir votre mode de livraison.</selectmessage>
146
- <redirectmessage>Vous allez être redirigé(e) vers So Colissimo dans un instant...</redirectmessage>
147
  <account></account>
148
  <encryption_key></encryption_key>
149
- <url_fo>http://ws.colissimo.fr/pudo-fo/storeCall.do</url_fo>
150
  <active_service_is_available>1</active_service_is_available>
151
- <url_service_is_available>http://ws.colissimo.fr/supervision-pudo/supervision.jsp</url_service_is_available>
152
  <not_available_message>La plateforme technique So Colissimo est temporairement indisponible. Votre commande sera livrée à l'adresse de livraison que vous venez d'indiquer.</not_available_message>
153
  <max_weight>30</max_weight>
154
  <specificcountry>FR</specificcountry>
6
  * @category LaPoste
7
  * @package LaPoste_SoColissimoSimplicite
8
  * @copyright Copyright (c) 2010 La Poste
9
+ * @author Smile (http://www.smile.fr)
10
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
11
  */
12
  -->
13
  <config>
14
  <modules>
15
  <LaPoste_SoColissimoSimplicite>
16
+ <version>2.0.0</version>
17
  </LaPoste_SoColissimoSimplicite>
18
  </modules>
19
 
142
  <active>0</active>
143
  <title>La Poste</title>
144
  <name>So Colissimo</name>
145
+ <selectmessage>En cliquant sur Poursuivre, vous pourrez choisir votre mode de livraison.</selectmessage>
146
+ <redirectmessage>Vous allez voir apparaitre les options So Colissimo dans un instant...</redirectmessage>
147
  <account></account>
148
  <encryption_key></encryption_key>
149
+ <url_fo>http://ws.colissimo.fr/pudo-fo-frame/storeCall.do</url_fo>
150
  <active_service_is_available>1</active_service_is_available>
151
+ <url_service_is_available>http://ws.colissimo.fr/supervision-pudo-frame/supervision.jsp</url_service_is_available>
152
  <not_available_message>La plateforme technique So Colissimo est temporairement indisponible. Votre commande sera livrée à l'adresse de livraison que vous venez d'indiquer.</not_available_message>
153
  <max_weight>30</max_weight>
154
  <specificcountry>FR</specificcountry>
app/code/community/LaPoste/SoColissimoSimplicite/sql/socolissimosimplicite_setup/mysql4-upgrade-1.1.1-1.1.2.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * LaPoste_SoColissimoSimplicite
4
+ *
5
+ * @category LaPoste
6
+ * @package LaPoste_SoColissimoSimplicite
7
+ * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ $installer = $this;
13
+
14
+ $installer->startSetup();
15
+
16
+ if ($installer->tableExists($installer->getTable('laposte_socolissimosimplicite_transaction'))) {
17
+ $installer->run(
18
+ // transaction_id doit contenir entre 5 et 16 caractères
19
+ "ALTER TABLE {$this->getTable('laposte_socolissimosimplicite_transaction')} AUTO_INCREMENT = 10000;"
20
+ );
21
+ }
22
+
23
+ $installer->endSetup();
app/code/community/LaPoste/SoColissimoSimplicite/sql/socolissimosimplicite_setup/mysql4-upgrade-1.1.1-2.0.0.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * LaPoste_SoColissimoSimplicite
4
+ *
5
+ * @category LaPoste
6
+ * @package LaPoste_SoColissimoSimplicite
7
+ * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
+ */
11
+
12
+ $installer = $this;
13
+
14
+ $installer->startSetup();
15
+
16
+ if ($installer->tableExists($installer->getTable('laposte_socolissimosimplicite_transaction'))) {
17
+ $installer->run(
18
+ // transaction_id doit contenir entre 5 et 16 caractères
19
+ "ALTER TABLE {$this->getTable('laposte_socolissimosimplicite_transaction')} AUTO_INCREMENT = 10000;"
20
+ );
21
+ }
22
+
23
+ $installer->endSetup();
app/design/frontend/default/default/template/socolissimosimplicite/form.phtml CHANGED
@@ -1,109 +1,130 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
- * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
12
  <?php
13
  $_address = $this->getShippingAddress();
 
 
 
14
  $_helper = $this->helper('socolissimosimplicite');
15
  ?>
16
 
17
- <?php // header au format ISO , So Colissimo ne gèrant pas l'UTF-8 ?>
18
- <?php Mage::app()->getResponse()->setHeader("Content-Type", "text/html; charset=ISO-8859-1",true); ?>
 
 
 
19
 
20
- <?php if($this->getRedirectMessage()): ?>
21
- <h3><?php echo utf8_decode($this->getRedirectMessage()); ?></h3>
22
- <?php endif;?>
23
- <form name="socolissimosimpliciteform" action="<?php echo utf8_decode($this->getUrlFoWithReturnUrlKo()); ?>" method="post">
24
 
25
- <input type="hidden" name="pudoFOId" value="<?php echo utf8_decode($this->getAccountID()); ?>" />
26
-
27
- <?php if ($_address->getPrefix()):?>
28
- <input type="hidden" name="ceCivility" value="<?php echo utf8_decode($_helper->getPrefixForSoColissimo($_address->getPrefix())); ?>" />
29
- <?php endif;?>
30
-
31
- <?php if ($_address->getLastname()):?>
32
- <input type="hidden" name="ceName" value="<?php echo utf8_decode($_address->getLastname()); ?>" />
33
  <?php endif;?>
 
34
 
35
- <?php if ($_address->getFirstname()):?>
36
- <input type="hidden" name="ceFirstName" value="<?php echo utf8_decode($_address->getFirstname()); ?>" />
37
- <?php endif;?>
38
-
39
- <?php if ($_address->getCompany()):?>
40
- <input type="hidden" name="ceCompanyName" value="<?php echo utf8_decode($_address->getCompany()); ?>" />
41
- <?php endif;?>
42
-
43
- <?php if ($this->getShippingAddressStreet(1)): //1ère ligne de l'adresse dans Magento = 3ème champ adresse dans SoCo ?>
44
- <input type="hidden" name="ceAdress3" value="<?php echo utf8_decode($this->getShippingAddressStreet(1)); ?>" />
45
- <?php endif;?>
46
-
47
- <?php if ($this->getShippingAddressStreet(2)):?>
48
- <input type="hidden" name="ceAdress1" value="<?php echo utf8_decode($this->getShippingAddressStreet(2)); ?>" />
49
- <?php endif;?>
50
-
51
- <?php if ($this->getShippingAddressStreet(3)):?>
52
- <input type="hidden" name="ceAdress2" value="<?php echo utf8_decode($this->getShippingAddressStreet(3)); ?>" />
53
- <?php endif;?>
54
-
55
- <?php if ($this->getShippingAddressStreet(4)):?>
56
- <input type="hidden" name="ceAdress4" value="<?php echo utf8_decode($this->getShippingAddressStreet(4)); ?>" />
57
- <?php endif;?>
58
-
59
- <?php if ($_address->getPostcode()):?>
60
- <input type="hidden" name="ceZipCode" value="<?php echo utf8_decode($_address->getPostcode()); ?>" />
61
- <?php endif;?>
62
-
63
- <?php if ($_address->getCity()):?>
64
- <input type="hidden" name="ceTown" value="<?php echo utf8_decode($_address->getCity()); ?>" />
65
- <?php endif;?>
66
-
67
- <?php if ($_address->getEmail()):?>
68
- <input type="hidden" name="ceEmail" value="<?php echo utf8_decode($_address->getEmail()); ?>" />
69
- <?php endif;?>
70
-
71
- <?php if ($_address->getTelephone()):?>
72
- <input type="hidden" name="cePhoneNumber" value="<?php echo utf8_decode($_address->getTelephone()); ?>" />
73
- <?php endif;?>
74
-
75
- <?php if ($_address->getWeight()):?>
76
- <input type="hidden" name="dyWeight" value="<?php echo utf8_decode($_helper->getFormatedWeight($_address->getWeight())); ?>" />
77
- <?php endif;?>
78
 
79
- <?php // suits with free shipping which can be set up by cart rules ?>
80
- <?php $forwardingCharges = ($_address->getFreeShipping() === '1') ? 0 : $_address->getShippingAmount(); ?>
81
- <input type="hidden" name="dyForwardingCharges" value="<?php echo utf8_decode($_helper->getFormatedShippingPrice($forwardingCharges)); ?>" />
82
 
83
- <?php if ($_address->getCustomerId()):?>
84
- <input type="hidden" name="trClientNumber" value="<?php echo utf8_decode($_address->getCustomerId()); ?>" />
85
- <?php endif;?>
86
-
87
- <?php if ($_address->getQuoteId()):?>
88
- <input type="hidden" name="trOrderNumber" value="<?php echo utf8_decode($_address->getQuoteId()); ?>" />
89
- <?php endif;?>
90
-
91
- <input type="hidden" name="numVersion" value="<?php echo utf8_decode($_helper->getNumVersion()) ?>" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
 
93
- <?php
94
- /* donnée spécifique transmis au service, non interprétée par celui-ci et retournée
95
- * en paramètre en cas de succès ou d'échec, non utilisée ici
96
- * <input type="hidden" name="trParamPlus" value="" />
97
- */
98
- ?>
99
 
100
- <input type="hidden" name="trReturnUrlOk" value="<?php echo utf8_decode($_helper->getSuccessUrl()); ?>" />
101
 
102
- <input type="hidden" name="orderId" value="<?php echo utf8_decode($this->getTransaction()->getId()); ?>" />
103
 
104
- <input type="hidden" name="signature" value="<?php echo utf8_decode($this->getTransaction()->getSignature()); ?>" />
105
- </form>
106
 
 
107
  <script type="text/javascript">
108
- document.socolissimosimpliciteform.submit();
 
 
109
  </script>
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
12
  <?php
13
  $_address = $this->getShippingAddress();
14
+ $_serviceUnavailableRedirect = $this->getServiceUnavailableRedirect();
15
+
16
+ /* @var $_helper LaPoste_SoColissimoSimplicite_Helper_Data */
17
  $_helper = $this->helper('socolissimosimplicite');
18
  ?>
19
 
20
+ <?php if (!empty($_serviceUnavailableRedirect)): ?>
21
+ <h3><?php echo $this->__("Les options du lieu de livraison ne sont pas disponibles.<br />Le colis sera livré à votre adresse de livraison.") ?></h3>
22
+ <p><?php echo $this->__("La page va se mettre à jour à l'étape suivante.") ?></p>
23
+ <form name="socolissimosimpliciteform" action="<?php echo $_serviceUnavailableRedirect ?>" target="_parent" method="get"></form>
24
+ <?php else: ?>
25
 
26
+ <?php // header au format ISO , So Colissimo ne gèrant pas l'UTF-8 ?>
27
+ <?php Mage::app()->getResponse()->setHeader("Content-Type", "text/html; charset=ISO-8859-1",true); ?>
 
 
28
 
29
+ <?php if($this->getRedirectMessage()): ?>
30
+ <h3><?php echo utf8_decode($this->getRedirectMessage()); ?></h3>
 
 
 
 
 
 
31
  <?php endif;?>
32
+ <form name="socolissimosimpliciteform" action="<?php echo utf8_decode($this->getUrlFoWithReturnUrlKo()); ?>" method="post">
33
 
34
+ <input type="hidden" name="pudoFOId" value="<?php echo utf8_decode($this->getAccountID()); ?>" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
+ <?php if ($_address->getPrefix()):?>
37
+ <input type="hidden" name="ceCivility" value="<?php echo utf8_decode($_helper->getPrefixForSoColissimo($_address->getPrefix())); ?>" />
38
+ <?php endif;?>
39
 
40
+ <?php if ($_address->getLastname()):?>
41
+ <input type="hidden" name="ceName" value="<?php echo utf8_decode($_address->getLastname()); ?>" />
42
+ <?php endif;?>
43
+
44
+ <?php if ($_address->getFirstname()):?>
45
+ <input type="hidden" name="ceFirstName" value="<?php echo utf8_decode($_address->getFirstname()); ?>" />
46
+ <?php endif;?>
47
+
48
+ <?php if ($_address->getCompany()):?>
49
+ <input type="hidden" name="ceCompanyName" value="<?php echo utf8_decode($_address->getCompany()); ?>" />
50
+ <?php endif;?>
51
+
52
+ <?php if ($this->getShippingAddressStreet(1)): //1ère ligne de l'adresse dans Magento = 3ème champ adresse dans SoCo ?>
53
+ <input type="hidden" name="ceAdress3" value="<?php echo utf8_decode($this->getShippingAddressStreet(1)); ?>" />
54
+ <?php endif;?>
55
+
56
+ <?php if ($this->getShippingAddressStreet(2)):?>
57
+ <input type="hidden" name="ceAdress1" value="<?php echo utf8_decode($this->getShippingAddressStreet(2)); ?>" />
58
+ <?php endif;?>
59
+
60
+ <?php if ($this->getShippingAddressStreet(3)):?>
61
+ <input type="hidden" name="ceAdress2" value="<?php echo utf8_decode($this->getShippingAddressStreet(3)); ?>" />
62
+ <?php endif;?>
63
+
64
+ <?php if ($this->getShippingAddressStreet(4)):?>
65
+ <input type="hidden" name="ceAdress4" value="<?php echo utf8_decode($this->getShippingAddressStreet(4)); ?>" />
66
+ <?php endif;?>
67
+
68
+ <?php if ($_address->getPostcode()):?>
69
+ <input type="hidden" name="ceZipCode" value="<?php echo utf8_decode($_address->getPostcode()); ?>" />
70
+ <?php endif;?>
71
+
72
+ <?php if ($_address->getCity()):?>
73
+ <input type="hidden" name="ceTown" value="<?php echo utf8_decode($_address->getCity()); ?>" />
74
+ <?php endif;?>
75
+
76
+ <?php if ($_address->getEmail()):?>
77
+ <input type="hidden" name="ceEmail" value="<?php echo utf8_decode($_address->getEmail()); ?>" />
78
+ <?php endif;?>
79
+
80
+ <?php if ($_address->getTelephone()):?>
81
+ <?php // transfer phone number only if its a cell phone ?>
82
+ <?php // Same code is used LaPoste_SoColissimoSimplicite_Model_Transaction::_getGeneratedSignature()
83
+ $phone = $_address->getTelephone();
84
+ $phone = substr($phone, 0, 2);
85
+ ?>
86
+ <?php if (($phone == '06') || ($phone == '07')):?>
87
+ <input type="hidden" name="cePhoneNumber" value="<?php echo utf8_decode($_address->getTelephone()); ?>" />
88
+ <?php else: ?>
89
+ <input type="hidden" name="cePhoneNumber" value="" />
90
+ <?php endif; ?>
91
+ <?php endif;?>
92
+
93
+ <?php if ($_address->getWeight()):?>
94
+ <input type="hidden" name="dyWeight" value="<?php echo utf8_decode($_helper->getFormatedWeight($_address->getWeight())); ?>" />
95
+ <?php endif;?>
96
+
97
+ <?php // suits with free shipping which can be set up by cart rules ?>
98
+ <?php $forwardingCharges = ($_address->getFreeShipping() === '1') ? 0 : $_address->getShippingAmount(); ?>
99
+ <input type="hidden" name="dyForwardingCharges" value="<?php echo utf8_decode($_helper->getFormatedShippingPrice($forwardingCharges)); ?>" />
100
+
101
+ <?php if ($_address->getCustomerId()):?>
102
+ <input type="hidden" name="trClientNumber" value="<?php echo utf8_decode($_address->getCustomerId()); ?>" />
103
+ <?php endif;?>
104
+
105
+ <?php if ($_address->getQuoteId()):?>
106
+ <input type="hidden" name="trOrderNumber" value="<?php echo utf8_decode($_address->getQuoteId()); ?>" />
107
+ <?php endif;?>
108
+
109
+ <input type="hidden" name="numVersion" value="<?php echo utf8_decode($_helper->getNumVersion()) ?>" />
110
 
111
+ <?php
112
+ /* donnée spécifique transmis au service, non interprétée par celui-ci et retournée
113
+ * en paramètre en cas de succès ou d'échec, non utilisée ici
114
+ * <input type="hidden" name="trParamPlus" value="" />
115
+ */
116
+ ?>
117
 
118
+ <input type="hidden" name="trReturnUrlOk" value="<?php echo utf8_decode($_helper->getSuccessUrl()); ?>" />
119
 
120
+ <input type="hidden" name="orderId" value="<?php echo utf8_decode($this->getTransaction()->getId()); ?>" />
121
 
122
+ <input type="hidden" name="signature" value="<?php echo utf8_decode($this->getTransaction()->getSignature()); ?>" />
123
+ </form>
124
 
125
+ <?php endif ?>
126
  <script type="text/javascript">
127
+ //<![CDATA[
128
+ document.socolissimosimpliciteform.submit();
129
+ //]]>
130
  </script>
app/design/frontend/default/default/template/socolissimosimplicite/onepage/shipping_method.phtml CHANGED
@@ -1,15 +1,16 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
- * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
12
  <?php
 
13
  $_helper = $this->helper('socolissimosimplicite');
14
  ?>
15
  <form id="co-shipping-method-form" action="">
@@ -18,36 +19,116 @@ $_helper = $this->helper('socolissimosimplicite');
18
  </div>
19
  <script type="text/javascript">
20
  //<![CDATA[
21
- // update method save to redirect onSuccess to method which deals with colissimo choice
22
- ShippingMethod.prototype.saveWithColissimo = function(){
23
- if (checkout.loadWaiting!=false) return;
24
- if (this.validate()) {
25
- checkout.setLoadWaiting('shipping-method');
26
- var request = new Ajax.Request(
27
- this.saveUrl,
28
- {
29
- method:'post',
30
- onComplete: this.onComplete,
31
- onSuccess: this.redirectToColissimo,
32
- onFailure: checkout.ajaxFailure.bind(checkout),
33
- parameters: Form.serialize(this.form)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  }
35
- );
36
- }
37
- };
38
- // check if colissimo is selected, then redirect on form which post data on this platform
39
- ShippingMethod.prototype.redirectToColissimo = function(transport){
40
- var rateCodeSoColissimoSimplicite = '<?php echo $_helper->getRateCode()?>';
41
- var urlFormSoColissimoSimplicite = '<?php echo $_helper->getFormUrl()?>';
42
- var methods = document.getElementsByName('shipping_method');
43
- for (var i=0; i<methods.length; i++) {
44
- if (methods[i].value == rateCodeSoColissimoSimplicite && methods[i].checked) {
45
- window.location = urlFormSoColissimoSimplicite;
46
  }
47
  }
48
- // pass to next step (= default onSave binding
49
- ShippingMethod.prototype.nextStep(transport);
50
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  //]]>
52
  </script>
53
  <script type="text/javascript">
@@ -58,6 +139,9 @@ $_helper = $this->helper('socolissimosimplicite');
58
  <div id="onepage-checkout-shipping-method-additional-load">
59
  <?php echo $this->getChildHtml('additional') ?>
60
  </div>
 
 
 
61
  <div class="buttons-set" id="shipping-method-buttons-container">
62
  <p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
63
  <button type="button" class="button" onclick="shippingMethod.saveWithColissimo();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
12
  <?php
13
+ /* @var $_helper LaPoste_SoColissimoSimplicite_Helper_Data */
14
  $_helper = $this->helper('socolissimosimplicite');
15
  ?>
16
  <form id="co-shipping-method-form" action="">
19
  </div>
20
  <script type="text/javascript">
21
  //<![CDATA[
22
+ // Socolissimo helper
23
+ ShippingMethod.prototype.isSocolissimoSelected = function() {
24
+ var rateCodeSoColissimoSimplicite = '<?php echo $_helper->getRateCode()?>';
25
+ var methods = document.getElementsByName('shipping_method');
26
+
27
+ for (var i=0; i<methods.length; i++) {
28
+ if (methods[i].value == rateCodeSoColissimoSimplicite && methods[i].checked) {
29
+ return true;
30
+ }
31
+ }
32
+ };
33
+
34
+ // update method save to redirect onSuccess to method which deals with colissimo choice
35
+ ShippingMethod.prototype.saveWithColissimo = function() {
36
+ if (checkout.loadWaiting!=false) return;
37
+ if (this.validate()) {
38
+ checkout.setLoadWaiting('shipping-method');
39
+ var request = new Ajax.Request(
40
+ this.saveUrl,
41
+ {
42
+ method:'post',
43
+ onComplete: this.onCompleteSaveWithColissimo.bind(this), // preserves context when calling these methods
44
+ onSuccess: this.redirectToColissimo.bind(this),
45
+ onFailure: checkout.ajaxFailure.bind(checkout),
46
+ parameters: Form.serialize(this.form)
47
+ }
48
+ );
49
+ }
50
+ };
51
+
52
+ // Hacking standard onComplete when saving socollissimo
53
+ ShippingMethod.prototype.onCompleteSaveWithColissimo = function() {
54
+ if (!this.isSocolissimoSelected()) {
55
+ this.onComplete();
56
+ }
57
+ };
58
+
59
+ // Hack to allow checkout steps freezing
60
+ ShippingMethod.prototype.freezSteps = function() {
61
+ this.savedAllowedSteps = [];
62
+
63
+ var steps = document.getElementById('checkoutSteps').children;
64
+ for (i=0; i<steps.length; i++) {
65
+ if (steps[i].hasClassName('allow')) {
66
+ this.savedAllowedSteps[i] = true;
67
+ steps[i].removeClassName('allow');
68
+ } else {
69
+ this.savedAllowedSteps[i] = false;
70
+ }
71
+ }
72
+ };
73
+
74
+ // Hack to allow checkout unfreez after a call to freezSteps
75
+ ShippingMethod.prototype.unfreezSteps = function() {
76
+ if (this.savedAllowedSteps != undefined) {
77
+ var steps = document.getElementById('checkoutSteps').children;
78
+ for (i=0; i<steps.length; i++) {
79
+ if (this.savedAllowedSteps[i] == true) {
80
+ steps[i].addClassName('allow');
81
+ }
82
  }
 
 
 
 
 
 
 
 
 
 
 
83
  }
84
  }
85
+
86
+ // check if colissimo is selected, then redirect on form which post data on this platform
87
+ ShippingMethod.prototype.redirectToColissimo = function(transport) {
88
+ var urlFormSoColissimoSimplicite = '<?php echo $_helper->getFormUrl()?>';
89
+ var methods = document.getElementsByName('shipping_method');
90
+
91
+ if (this.isSocolissimoSelected()) {
92
+ // Remove ending slash for iframe src
93
+ urlFormSoColissimoSimplicite = urlFormSoColissimoSimplicite.replace(/\/$/, '');
94
+
95
+ var socoIframe= document.getElementById('socolissimosimplicite_iframe');
96
+ socoIframe.src = urlFormSoColissimoSimplicite;
97
+ socoIframe.style.display = 'block';
98
+
99
+ // Disabling all methods during iframe validation
100
+ for (var j=0; j<methods.length; j++) {
101
+ methods[j].disabled = 'disabled';
102
+ }
103
+
104
+ // Disable checkout step changing
105
+ this.freezSteps();
106
+
107
+ document.getElementById('cancel_soco_shipping_button').style.display = 'block';
108
+ checkout.setLoadWaiting('shipping-method');
109
+
110
+ return;
111
+ }
112
+
113
+ // pass to next step (= default onSave binding)
114
+ ShippingMethod.prototype.nextStep(transport);
115
+ };
116
+
117
+ // Cancel socolissimo iframe and reenable disbaled checkout feature
118
+ ShippingMethod.prototype.cancelSocollisimo = function() {
119
+ var methods = document.getElementsByName('shipping_method');
120
+ for (var i=0; i<methods.length; i++) {
121
+ methods[i].disabled = '';
122
+ }
123
+
124
+ var socoIframe= document.getElementById('socolissimosimplicite_iframe');
125
+ socoIframe.src = 'about:blank';
126
+ socoIframe.style.display = 'none';
127
+
128
+ this.resetLoadWaiting();
129
+ document.getElementById('cancel_soco_shipping_button').style.display = 'none';
130
+ this.unfreezSteps();
131
+ };
132
  //]]>
133
  </script>
134
  <script type="text/javascript">
139
  <div id="onepage-checkout-shipping-method-additional-load">
140
  <?php echo $this->getChildHtml('additional') ?>
141
  </div>
142
+ <div class="buttons-set">
143
+ <button id="cancel_soco_shipping_button" type="button" class="button" onclick="shippingMethod.cancelSocollisimo();" style="display:none;"><span><span><?php echo $this->__('Annuler SoCollissimo') ?></span></span></button>
144
+ </div>
145
  <div class="buttons-set" id="shipping-method-buttons-container">
146
  <p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
147
  <button type="button" class="button" onclick="shippingMethod.saveWithColissimo();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
app/design/frontend/default/default/template/socolissimosimplicite/onepage/shipping_method/available.phtml CHANGED
@@ -1,16 +1,22 @@
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
- *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
- * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
 
 
 
 
 
12
  <?php if (version_compare(Mage::getVersion(), '1.4.2.0', '<=')
13
  or (version_compare(Mage::getVersion(), '1.6.0.0', '>=') and version_compare(Mage::getVersion(), '1.10.0.0', '<'))): ?>
 
14
  <?php if (!($_shippingRateGroups = $this->getShippingRates())): ?>
15
  <p><?php echo $this->__('Sorry, no quotes are available for this order at this time.') ?></p>
16
  <?php else: ?>
@@ -25,16 +31,20 @@
25
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $_rate->getErrorMessage() ?></li></ul></li></ul>
26
  <?php else: ?>
27
  <?php if ($_sole) : ?>
28
- <span class="no-display"><input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" /></span>
29
  <?php else: ?>
30
- <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
31
  <?php endif; ?>
32
  <?php echo $this->getItemHtml($_rate) ?>
 
33
  <?php // disponibilité de la plateforme soco ?>
34
- <?php if ($_rate->getCode() == 'socolissimosimplicite_socolissimosimplicite' and !$this->getServiceIsAvailable()): ?>
35
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->getServiceNotAvailableMessage() ?></li></ul></li></ul>
36
  <?php endif ?>
37
 
 
 
 
38
  <?php endif ?>
39
  </li>
40
  <?php endforeach; ?>
@@ -46,6 +56,7 @@
46
 
47
  <?php // Magento >= 1.5 ?>
48
  <?php else: ?>
 
49
  <?php if (!($_shippingRateGroups = $this->getShippingRates())): ?>
50
  <p><?php echo $this->__('Sorry, no quotes are available for this order at this time.') ?></p>
51
  <?php else: ?>
@@ -65,6 +76,7 @@
65
 
66
  <?php $shippingMe = array(); ?>
67
  <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
 
68
  <dt><?php echo $this->getCarrierName($code) ?></dt>
69
  <dd>
70
  <ul>
@@ -90,10 +102,10 @@
90
  <?php endif; ?>
91
 
92
  <?php // socolissimo ?>
93
- <?php if ($_rate->getCode() == 'socolissimosimplicite_socolissimosimplicite'): ?>
94
 
95
  <?php // disponibilité de la plateforme soco ?>
96
- <?php if ($_rate->getCode() == 'socolissimosimplicite_socolissimosimplicite' and !$this->getServiceIsAvailable()): ?>
97
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->getServiceNotAvailableMessage() ?></li></ul></li></ul>
98
  <?php else: ?>
99
  <?php
@@ -105,6 +117,10 @@
105
  <?php echo $_helper->getSelectMessage() ?>
106
  <?php endif; ?>
107
 
 
 
 
 
108
  <?php // others methods ?>
109
  <?php else: ?>
110
  <label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $_rate->getMethodTitle() ?>
1
  <?php
2
  /**
3
  * LaPoste_SoColissimoSimplicite
4
+ *
5
  * @category LaPoste
6
  * @package LaPoste_SoColissimoSimplicite
7
  * @copyright Copyright (c) 2010 La Poste
8
+ * @author Smile (http://www.smile.fr)
9
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10
  */
11
  ?>
12
+ <?php
13
+ /* @var $_socoHelper LaPoste_SoColissimoSimplicite_Helper_Data */
14
+ $_socoHelper = $this->helper('socolissimosimplicite');
15
+ ?>
16
+
17
  <?php if (version_compare(Mage::getVersion(), '1.4.2.0', '<=')
18
  or (version_compare(Mage::getVersion(), '1.6.0.0', '>=') and version_compare(Mage::getVersion(), '1.10.0.0', '<'))): ?>
19
+
20
  <?php if (!($_shippingRateGroups = $this->getShippingRates())): ?>
21
  <p><?php echo $this->__('Sorry, no quotes are available for this order at this time.') ?></p>
22
  <?php else: ?>
31
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $_rate->getErrorMessage() ?></li></ul></li></ul>
32
  <?php else: ?>
33
  <?php if ($_sole) : ?>
34
+ <span class="no-display"><input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" /></span>
35
  <?php else: ?>
36
+ <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
37
  <?php endif; ?>
38
  <?php echo $this->getItemHtml($_rate) ?>
39
+
40
  <?php // disponibilité de la plateforme soco ?>
41
+ <?php if ($_rate->getCode() == $_socoHelper->getRateCode() and !$this->getServiceIsAvailable()): ?>
42
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->getServiceNotAvailableMessage() ?></li></ul></li></ul>
43
  <?php endif ?>
44
 
45
+ <?php if ($_rate->getCode() == $_socoHelper->getRateCode() and $this->getServiceIsAvailable()): ?>
46
+ <iframe id="socolissimosimplicite_iframe" src="about:blank" style="width:572px; height:1100px; border: 0 none; display:none;"></iframe>
47
+ <?php endif ?>
48
  <?php endif ?>
49
  </li>
50
  <?php endforeach; ?>
56
 
57
  <?php // Magento >= 1.5 ?>
58
  <?php else: ?>
59
+
60
  <?php if (!($_shippingRateGroups = $this->getShippingRates())): ?>
61
  <p><?php echo $this->__('Sorry, no quotes are available for this order at this time.') ?></p>
62
  <?php else: ?>
76
 
77
  <?php $shippingMe = array(); ?>
78
  <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
79
+
80
  <dt><?php echo $this->getCarrierName($code) ?></dt>
81
  <dd>
82
  <ul>
102
  <?php endif; ?>
103
 
104
  <?php // socolissimo ?>
105
+ <?php if ($_rate->getCode() == $_socoHelper->getRateCode()): ?>
106
 
107
  <?php // disponibilité de la plateforme soco ?>
108
+ <?php if ($_rate->getCode() == $_socoHelper->getRateCode() and !$this->getServiceIsAvailable()): ?>
109
  <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->getServiceNotAvailableMessage() ?></li></ul></li></ul>
110
  <?php else: ?>
111
  <?php
117
  <?php echo $_helper->getSelectMessage() ?>
118
  <?php endif; ?>
119
 
120
+ <?php if ($_rate->getCode() == $_socoHelper->getRateCode() and $this->getServiceIsAvailable()): ?>
121
+ <iframe id="socolissimosimplicite_iframe" src="about:blank" style="width:572px; height:1100px; border: 0 none; display:none;"></iframe>
122
+ <?php endif ?>
123
+
124
  <?php // others methods ?>
125
  <?php else: ?>
126
  <label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $_rate->getMethodTitle() ?>
app/locale/fr_FR/LaPoste_SoColissimoSimplicite.csv CHANGED
@@ -1,4 +1,4 @@
1
  "Code porte","Code porte"
2
  "Code porte 2","Code porte 2"
3
  "Interphone","Interphone"
4
- "(livraison sur rendez-vous)", "(livraison sur rendez-vous)"
1
  "Code porte","Code porte"
2
  "Code porte 2","Code porte 2"
3
  "Interphone","Interphone"
4
+ "livraison sur rendez-vous", "livraison sur rendez-vous"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ColiPoste_La_Poste_So_Colissimo</name>
4
- <version>1.1.1</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>
@@ -18,16 +18,16 @@ So Colissimo offre le choix parmi 5 solutions de livraison et un grand r&#xE9;se
18
  * mon commer&#xE7;ant : livraison chez l'un des nombreux commer&#xE7;ants de notre r&#xE9;seau partenaire.&#xD;
19
  &#xD;
20
  Test&#xE9; et valid&#xE9; sur Magento :&#xD;
21
- - CE 1.3.2.4, CE 1.4, CE 1.5.0.1, CE 1.6.1.0&#xD;
22
  - PE 1.8&#xD;
23
- - EE 1.8, EE 1.9, EE 1.10&#xD;
24
  &#xD;
25
  R&#xE9;alisation par Smile.</description>
26
- <notes>Compatible 1.6.1.0</notes>
27
  <authors><author><name>Berlioz</name><user>Aline</user><email>Aline.BERLIOZ@laposte.fr</email></author></authors>
28
- <date>2011-11-08</date>
29
- <time>17:54:19</time>
30
- <contents><target name="magedesign"><dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="socolissimosimplicite"><file name="empty.phtml" hash="01e4359097f904f0caa50d7175d1fa3c"/><dir name="form"><file name="failure.phtml" hash="b0692966e1ed1e32d31ad676ccd3dcba"/></dir><file name="form.phtml" hash="c458a6dbd529d073bbfc7291c62920ad"/><dir name="onepage"><dir name="shipping_method"><dir name="available"><file name="default.phtml" hash="2f84bc01d0599cfe27ef03a4c2813795"/><file name="socolissimosimplicite.phtml" hash="642ba70f2faa328f7e3afc10ab3876ec"/></dir><file name="available.phtml" hash="fe9843962b010778fa6dd11b10828a90"/></dir><file name="shipping_method.phtml" hash="180da1c16cff34b3d180d96720bde6f9"/></dir></dir></dir><dir name="layout"><file name="socolissimosimplicite.xml" hash="ecb0d6e12eec4606a54b12e421e9ff72"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="fr_FR"><file name="LaPoste_SoColissimoSimplicite.csv" hash="3b2a032525266c476fd3aec64aa81730"/></dir></dir></target><target name="magecommunity"><dir><dir name="LaPoste"><dir name="SoColissimoSimplicite"><dir name="Block"><file name="Form.php" hash="6bf92465fc24a46184653cb93156ef06"/><dir name="Onepage"><dir name="Shipping"><dir name="Method"><dir name="Available"><file name="Item.php" hash="f53ff832b868363db948d30d66d317bc"/></dir><file name="Available.php" hash="934af40303dc2217111d2b0bae90a0c2"/></dir></dir></dir><file name="Onepage.php" hash="79b4d36b3bff494f04605b860b2a73b0"/></dir><dir name="Helper"><file name="Data.php" hash="4de2e6c87e9a4770923913a0ee44416e"/></dir><dir name="Model"><dir name="Carrier"><file name="ShippingMethod.php" hash="9f6c4ef6716ac0e3889ba2e304e65107"/></dir><dir name="Mysql4"><dir name="Transaction"><file name="Collection.php" hash="dc2f61004ac7acd0af8f10574ec41880"/></dir><file name="Transaction.php" hash="0f5a3d0c1b36f3702c737bdec5b6a4cb"/></dir><file name="Observer.php" hash="6b6f9c5be3a6788b03e087e471f32c83"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Shipping"><file name="Amountbasetype.php" hash="bca2ac197de8909cfe622b05c2f89cca"/></dir></dir></dir></dir><file name="Transaction.php" hash="6f017b6fbe083a13564700bd494a56f1"/></dir><dir name="Test"><dir name="Model"><dir name="Carrier"><file name="ShippingMethodTest.php" hash="0af0dc51d6c0b99a466d19242c4e915f"/></dir></dir></dir><dir name="controllers"><file name="FormController.php" hash="e18ee28be1be5894b4fef19b64e5426f"/><file name="OnepageController.php" hash="f0758f5e2c0873ba517ab675672b2892"/></dir><dir name="etc"><file name="config.xml" hash="f6a9ed5f9ec072a0d48ac8dc4b075240"/><file name="system.xml" hash="0250e51f18b510fc093054ae524ff0ff"/></dir><dir name="sql"><dir name="socolissimosimplicite_setup"><file name="mysql4-install-1.0.0.php" hash="52761c955270d44c5a0ca4b28b86d70d"/><file name="mysql4-uninstall-0.1.0.php" hash="a0907ec1437960b6587d87827ad2ba24"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="829fcd5f192109ec0722a3269e8737c5"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="LaPoste_SoColissimoSimplicite.xml" hash="b95ad07dda6ce0fb25d6ece5750d0f0d"/></dir></dir></target></contents>
31
  <compatible/>
32
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
33
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ColiPoste_La_Poste_So_Colissimo</name>
4
+ <version>2.0.0</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>
18
  * mon commer&#xE7;ant : livraison chez l'un des nombreux commer&#xE7;ants de notre r&#xE9;seau partenaire.&#xD;
19
  &#xD;
20
  Test&#xE9; et valid&#xE9; sur Magento :&#xD;
21
+ - CE 1.3.2.4, CE 1.4, CE 1.5.0.1, CE 1.6.1.0, CE 1.7&#xD;
22
  - PE 1.8&#xD;
23
+ - EE 1.8, EE 1.9, EE 1.10, EE 1.11, EE 1.12&#xD;
24
  &#xD;
25
  R&#xE9;alisation par Smile.</description>
26
+ <notes>Compatible 1.7</notes>
27
  <authors><author><name>Berlioz</name><user>Aline</user><email>Aline.BERLIOZ@laposte.fr</email></author></authors>
28
+ <date>2012-06-25</date>
29
+ <time>10:28:51</time>
30
+ <contents><target name="magedesign"><dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="socolissimosimplicite"><file name="empty.phtml" hash="01e4359097f904f0caa50d7175d1fa3c"/><dir name="form"><file name="failure.phtml" hash="b0692966e1ed1e32d31ad676ccd3dcba"/></dir><file name="form.phtml" hash="a1c07e07cbe75ddb6661a7f97287be61"/><dir name="onepage"><dir name="shipping_method"><dir name="available"><file name="default.phtml" hash="2f84bc01d0599cfe27ef03a4c2813795"/><file name="socolissimosimplicite.phtml" hash="642ba70f2faa328f7e3afc10ab3876ec"/></dir><file name="available.phtml" hash="42e537691ecb402760428b4927c4f63c"/></dir><file name="shipping_method.phtml" hash="883c521ba33b25bf19aef748bcd51713"/></dir></dir></dir><dir name="layout"><file name="socolissimosimplicite.xml" hash="ecb0d6e12eec4606a54b12e421e9ff72"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="fr_FR"><file name="LaPoste_SoColissimoSimplicite.csv" hash="ddc252df7c3ca35cc4bf5bbe7fdb9433"/></dir></dir></target><target name="magecommunity"><dir><dir name="LaPoste"><dir name="SoColissimoSimplicite"><dir name="Block"><file name="Form.php" hash="6bf92465fc24a46184653cb93156ef06"/><dir name="Onepage"><dir name="Shipping"><dir name="Method"><dir name="Available"><file name="Item.php" hash="f53ff832b868363db948d30d66d317bc"/></dir><file name="Available.php" hash="934af40303dc2217111d2b0bae90a0c2"/></dir></dir></dir><file name="Onepage.php" hash="79b4d36b3bff494f04605b860b2a73b0"/></dir><dir name="Helper"><file name="Data.php" hash="140ab1f630c88d52ab087a657b3d8373"/></dir><dir name="Model"><dir name="Carrier"><file name="ShippingMethod.php" hash="ddf5335367e2b73f702c59571caeb208"/></dir><dir name="Mysql4"><dir name="Transaction"><file name="Collection.php" hash="dc2f61004ac7acd0af8f10574ec41880"/></dir><file name="Transaction.php" hash="0f5a3d0c1b36f3702c737bdec5b6a4cb"/></dir><file name="Observer.php" hash="134b79e2c399ff66842a802df0a1c0c4"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Shipping"><file name="Amountbasetype.php" hash="bca2ac197de8909cfe622b05c2f89cca"/></dir></dir></dir></dir><file name="Transaction.php" hash="d1d247c5988d923c604bd88ea4392d4f"/></dir><dir name="Test"><dir name="Model"><dir name="Carrier"><file name="ShippingMethodTest.php" hash="0af0dc51d6c0b99a466d19242c4e915f"/></dir></dir></dir><dir name="controllers"><file name="FormController.php" hash="f970c2ed436c81dc3a342931d6041f1c"/><file name="OnepageController.php" hash="f0758f5e2c0873ba517ab675672b2892"/></dir><dir name="etc"><file name="config.xml" hash="c726d4a936f27f322bdcaf150df655eb"/><file name="system.xml" hash="0250e51f18b510fc093054ae524ff0ff"/></dir><dir name="sql"><dir name="socolissimosimplicite_setup"><file name="mysql4-install-1.0.0.php" hash="52761c955270d44c5a0ca4b28b86d70d"/><file name="mysql4-uninstall-0.1.0.php" hash="a0907ec1437960b6587d87827ad2ba24"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="829fcd5f192109ec0722a3269e8737c5"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="c650fe23e6361546e3c8cc26b071cbf7"/><file name="mysql4-upgrade-1.1.1-2.0.0.php" hash="c650fe23e6361546e3c8cc26b071cbf7"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="LaPoste_SoColissimoSimplicite.xml" hash="b95ad07dda6ce0fb25d6ece5750d0f0d"/></dir></dir></target></contents>
31
  <compatible/>
32
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
33
  </package>