Camiloo_Channelunity - Version 1.0.0.5

Version Notes

The ChannelUnity connector kit for Magento.
Resolves an issue when copying product data where catalog flat product is enabled.

Download this release

Release Info

Developer Magento Core Team
Extension Camiloo_Channelunity
Version 1.0.0.5
Comparing to
See all releases


Code changes from version 1.0.0.4 to 1.0.0.5

app/code/community/Camiloo/Channelunity/Model/Collection.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- if (version_compare(Mage::getVersion(), "1.5.0.0", ">=")) {
3
 
4
  class Camiloo_Channelunity_Model_Collection extends Mage_Catalog_Model_Resource_Product_Collection {
5
  public function isEnabledFlat()
1
  <?php
2
+ if (version_compare(Mage::getVersion(), "1.6.0.0", ">=")) {
3
 
4
  class Camiloo_Channelunity_Model_Collection extends Mage_Catalog_Model_Resource_Product_Collection {
5
  public function isEnabledFlat()
app/code/community/Camiloo/Channelunity/Model/Orders.php CHANGED
@@ -214,17 +214,46 @@ class Camiloo_Channelunity_Model_Orders extends Camiloo_Channelunity_Model_Abstr
214
  $quote->addItem($item);
215
  }
216
  else {
217
- echo "<Info>Can't find SKU to add to quote ".(string) $orderitem->SKU.", trying to create stub</Info>";
218
 
219
- // Create stub if needed
220
- $this->createStubProduct((string) $orderitem->SKU, (string) $orderitem->Name,
221
- (string) $dataArray->WebsiteId,
222
- (string) $order->OrderId, (string) $orderitem->Price,
223
- (string) $orderitem->Quantity);
224
 
225
- // Try once again to add our item to the quote
226
- $product = Mage::getModel('catalog/product')->loadByAttribute('sku',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  (string) $orderitem->SKU);
 
 
228
 
229
  if (is_object($product)) {
230
 
@@ -236,7 +265,7 @@ class Camiloo_Channelunity_Model_Orders extends Camiloo_Channelunity_Model_Abstr
236
  $quote->addItem($item);
237
  }
238
  else {
239
- echo "<Info>Can't find SKU to add to quote ".(string) $orderitem->SKU."</Info>";
240
  }
241
  }
242
  }
@@ -447,7 +476,7 @@ class Camiloo_Channelunity_Model_Orders extends Camiloo_Channelunity_Model_Abstr
447
 
448
  }
449
 
450
- private function createStubProduct($missingSku, $productTitle, $websiteID, $keyorder, $price, $qty) {
451
  $product = new Mage_Catalog_Model_Product();
452
 
453
  $db = Mage::getSingleton("core/resource")->getConnection("core_write");
@@ -466,7 +495,7 @@ class Camiloo_Channelunity_Model_Orders extends Camiloo_Channelunity_Model_Abstr
466
  $product->setAttributeSetId($attributeSetId);
467
  $product->setTypeId('simple');
468
  $product->setName($productTitle);
469
- //TODO set the attribute marked as the SKU attribute
470
 
471
  $product->setWebsiteIDs(array($websiteID)); # derive website ID from store.
472
  $product->setDescription('Product missing from imported order ID '.$keyorder);
@@ -475,7 +504,6 @@ class Camiloo_Channelunity_Model_Orders extends Camiloo_Channelunity_Model_Abstr
475
 
476
  // Default Magento attribute
477
  $product->setWeight('0.01');
478
-
479
  $product->setVisibility(1); // not visible
480
  $product->setStatus(1); // status = enabled, other price shows as 0.00 in the order
481
  $product->setTaxClassId(0); # My default tax class
214
  $quote->addItem($item);
215
  }
216
  else {
217
+ echo "<Info>Can't find SKU to add to quote ".((string) $orderitem->SKU).", trying to create stub</Info>";
218
 
219
+ $prodIdToLoad = 0;
 
 
 
 
220
 
221
+ try {
222
+ // Create stub if needed
223
+ $this->createStubProduct((string) $orderitem->SKU, (string) $orderitem->Name,
224
+ (string) $dataArray->WebsiteId,
225
+ (string) $order->OrderId, (string) $orderitem->Price,
226
+ (string) $orderitem->Quantity,
227
+ (string) $dataArray->SkuAttribute);
228
+ }
229
+ catch (Exception $e) {
230
+ echo "<Info><![CDATA[Stub create error - ".$e->getMessage()."]]></Info>";
231
+
232
+ if (strpos($e->getMessage(), "Duplicate entry")) {
233
+
234
+ $msgParts = explode("Duplicate entry '", $e->getMessage());
235
+
236
+ if (isset($msgParts[1])) {
237
+
238
+ $msgParts = $msgParts[1];
239
+ $msgParts = explode("-", $msgParts);
240
+ $prodIdToLoad = $msgParts[0];
241
+ }
242
+ }
243
+ }
244
+
245
+ if ($prodIdToLoad > 0) {
246
+
247
+ echo "<Info>Load by ID $prodIdToLoad</Info>";
248
+ $product = Mage::getModel('catalog/product')->load($prodIdToLoad);
249
+ }
250
+ else {
251
+
252
+ // Try once again to add our item to the quote
253
+ $product = Mage::getModel('catalog/product')->loadByAttribute('sku',
254
  (string) $orderitem->SKU);
255
+
256
+ }
257
 
258
  if (is_object($product)) {
259
 
265
  $quote->addItem($item);
266
  }
267
  else {
268
+ echo "<Info>Can't find SKU to add to quote ".((string) $orderitem->SKU)."</Info>";
269
  }
270
  }
271
  }
476
 
477
  }
478
 
479
+ private function createStubProduct($missingSku, $productTitle, $websiteID, $keyorder, $price, $qty, $skuAttribute) {
480
  $product = new Mage_Catalog_Model_Product();
481
 
482
  $db = Mage::getSingleton("core/resource")->getConnection("core_write");
495
  $product->setAttributeSetId($attributeSetId);
496
  $product->setTypeId('simple');
497
  $product->setName($productTitle);
498
+ $product->setData($skuAttribute, $missingSku); // set the attribute marked as the SKU attribute
499
 
500
  $product->setWebsiteIDs(array($websiteID)); # derive website ID from store.
501
  $product->setDescription('Product missing from imported order ID '.$keyorder);
504
 
505
  // Default Magento attribute
506
  $product->setWeight('0.01');
 
507
  $product->setVisibility(1); // not visible
508
  $product->setStatus(1); // status = enabled, other price shows as 0.00 in the order
509
  $product->setTaxClassId(0); # My default tax class
app/design/adminhtml/default/default/template/channelunity/configheader.phtml CHANGED
@@ -16,7 +16,7 @@
16
  <h3>ChannelUnity Integration for Magento</h3>
17
  Devised and Developed in Manchester, UK by <a href="http://www.camiloo.co.uk/?ref=cu" target="_blank">Camiloo Limited</a><br />
18
  <?php
19
- $xml = Mage::getModel('channelunity/checkforupdates')->getRemoteXMLFileData("http://my.channelunity.com/versioncheck.php?Version=1.0.0.4");
20
  $html = $xml->DisplayMessage[0];
21
  echo $html;
22
  ?>
16
  <h3>ChannelUnity Integration for Magento</h3>
17
  Devised and Developed in Manchester, UK by <a href="http://www.camiloo.co.uk/?ref=cu" target="_blank">Camiloo Limited</a><br />
18
  <?php
19
+ $xml = Mage::getModel('channelunity/checkforupdates')->getRemoteXMLFileData("http://my.channelunity.com/versioncheck.php?Version=1.0.0.5");
20
  $html = $xml->DisplayMessage[0];
21
  echo $html;
22
  ?>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Camiloo_Channelunity</name>
4
- <version>1.0.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.camiloo.co.uk/license.txt">Camiloo EULA</license>
7
  <channel>community</channel>
@@ -11,11 +11,11 @@
11
 
12
  Should you need any help getting started, please email support@camiloo.co.uk</description>
13
  <notes>The ChannelUnity connector kit for Magento.
14
- This version imports the shipping service level into an order, and also resolves an issue when copying product data where catalog flat product is enabled.</notes>
15
  <authors><author><name>Camiloo Limited</name><user>auto-converted</user><email>hello@camiloo.co.uk</email></author></authors>
16
- <date>2012-05-17</date>
17
- <time>13:21:47</time>
18
- <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="channelunity"><file name="configheader.phtml" hash="4b5db6e0e20940f8295167b3518b22cf"/><file name="paymentinfo.phtml" hash="60967f7ab38fe17c879b272eed25f986"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Camiloo"><dir name="Channelunity"><dir name="Block"><file name="Configheader.php" hash="6d7de078f04901e94b8b9675bcd9e4ac"/><file name="Paymentform.php" hash="1f3e79556f15a57b9761c3665a103103"/><file name="Paymentinfo.php" hash="6c3c36d92592dd802fb8045dc065d231"/></dir><dir name="controllers"><file name="ApiController.php" hash="6cc9052f6dd80e9460bc40d208fb5779"/><file name="ApiController.php.old.php" hash="01ff34c2cf5798a82cfc11b19ab6decd"/></dir><dir name="etc"><file name="config.xml" hash="4d813910e0807b964b3e68484eb38f41"/><file name="system.xml" hash="b43f861f8ab3dadca3c122be10790609"/></dir><dir name="Helper"><file name="Data.php" hash="857d7d23882394c33f96e14dece757c2"/></dir><dir name="Model"><file name="Abstract.php" hash="de4075b91bbb176c807ad12061789774"/><file name="Attributes.php" hash="054b33cadc22acda31056e5b4cb8ff56"/><file name="Categories.php" hash="fd3806b220fd579b00bc5ab5fd464170"/><file name="Checkforupdates.php" hash="e2675f59cc61e54ad1a20f76865ce653"/><file name="Collection.php" hash="ee472aa7cc4300c444e40ad5e770d3f6"/><file name="Customrate.php" hash="f388bd243823436828c1bb214b3f81be"/><file name="Entity.php" hash="0032a6c24cb75beb2ae073a56c2a1564"/><file name="Observer.php" hash="f734886fbecb301e766eeeeb8e95f2f3"/><file name="Ordercreatebackport.php" hash="3b696fb97ce6550a967d76436a3d131c"/><file name="Orders.php" hash="883998c27e6a066f1dfc4eb2757d8e08"/><file name="Payment.php" hash="7fe570cf0aaf7c2bcdf1982b6e69caa6"/><file name="Paymentinfo.php" hash="e11658c9fa02420557441f5c8a41f8a0"/><file name="Paymentmethoduk.php" hash="a99409ed4ee5f7e426df4eaf793482d6"/><file name="Products.php" hash="490c089a0cc71b8c5b049d767fd670a8"/><file name="Stores.php" hash="7f299877f0b62ca9d30a46b333124680"/></dir><dir name="sql"><dir name="channelunity_setup"><file name="install-1.0.0.php" hash="7127fff7219108813aa35dd7596b09d3"/><file name="mysql4-install-0.0.1.php" hash="7ebc892c87b9401bf402a7e1976133e3"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Camiloo_Channelunity.xml" hash="cccfbce64ee176372c5afecb8676fab0"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies/>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Camiloo_Channelunity</name>
4
+ <version>1.0.0.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.camiloo.co.uk/license.txt">Camiloo EULA</license>
7
  <channel>community</channel>
11
 
12
  Should you need any help getting started, please email support@camiloo.co.uk</description>
13
  <notes>The ChannelUnity connector kit for Magento.
14
+ Resolves an issue when copying product data where catalog flat product is enabled.</notes>
15
  <authors><author><name>Camiloo Limited</name><user>auto-converted</user><email>hello@camiloo.co.uk</email></author></authors>
16
+ <date>2012-05-30</date>
17
+ <time>10:36:56</time>
18
+ <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="channelunity"><file name="configheader.phtml" hash="943b579d8dd91f2afc813fdf011e7351"/><file name="paymentinfo.phtml" hash="60967f7ab38fe17c879b272eed25f986"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Camiloo"><dir name="Channelunity"><dir name="Block"><file name="Configheader.php" hash="6d7de078f04901e94b8b9675bcd9e4ac"/><file name="Paymentform.php" hash="1f3e79556f15a57b9761c3665a103103"/><file name="Paymentinfo.php" hash="6c3c36d92592dd802fb8045dc065d231"/></dir><dir name="controllers"><file name="ApiController.php" hash="6cc9052f6dd80e9460bc40d208fb5779"/><file name="ApiController.php.old.php" hash="01ff34c2cf5798a82cfc11b19ab6decd"/></dir><dir name="etc"><file name="config.xml" hash="4d813910e0807b964b3e68484eb38f41"/><file name="system.xml" hash="b43f861f8ab3dadca3c122be10790609"/></dir><dir name="Helper"><file name="Data.php" hash="857d7d23882394c33f96e14dece757c2"/></dir><dir name="Model"><file name="Abstract.php" hash="de4075b91bbb176c807ad12061789774"/><file name="Attributes.php" hash="054b33cadc22acda31056e5b4cb8ff56"/><file name="Categories.php" hash="fd3806b220fd579b00bc5ab5fd464170"/><file name="Checkforupdates.php" hash="e2675f59cc61e54ad1a20f76865ce653"/><file name="Collection.php" hash="2fee7c15f58053c7b8fc9a2c011b97ac"/><file name="Customrate.php" hash="f388bd243823436828c1bb214b3f81be"/><file name="Entity.php" hash="0032a6c24cb75beb2ae073a56c2a1564"/><file name="Observer.php" hash="f734886fbecb301e766eeeeb8e95f2f3"/><file name="Ordercreatebackport.php" hash="3b696fb97ce6550a967d76436a3d131c"/><file name="Orders.php" hash="56951f913fe1edce017a1df7b261b9aa"/><file name="Payment.php" hash="7fe570cf0aaf7c2bcdf1982b6e69caa6"/><file name="Paymentinfo.php" hash="e11658c9fa02420557441f5c8a41f8a0"/><file name="Paymentmethoduk.php" hash="a99409ed4ee5f7e426df4eaf793482d6"/><file name="Products.php" hash="490c089a0cc71b8c5b049d767fd670a8"/><file name="Stores.php" hash="7f299877f0b62ca9d30a46b333124680"/></dir><dir name="sql"><dir name="channelunity_setup"><file name="install-1.0.0.php" hash="7127fff7219108813aa35dd7596b09d3"/><file name="mysql4-install-0.0.1.php" hash="7ebc892c87b9401bf402a7e1976133e3"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Camiloo_Channelunity.xml" hash="cccfbce64ee176372c5afecb8676fab0"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies/>
21
  </package>