Version Notes
OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.
Download this release
Release Info
| Developer | Oro, Inc |
| Extension | Oro_Api |
| Version | 1.2.7.0 |
| Comparing to | |
| See all releases | |
Code changes from version 1.2.5.0 to 1.2.7.0
- app/code/community/Oro/Api/Helper/Data.php +21 -0
- app/code/community/Oro/Api/Model/Ping.php +6 -3
- app/code/community/Oro/Api/Model/Resource/Setup.php +25 -0
- app/code/community/Oro/Api/Model/Resource/Wishlist/Status.php +74 -0
- app/code/community/Oro/Api/Model/Resource/Wishlist/Status/Collection.php +33 -0
- app/code/community/Oro/Api/Model/Sales/Quote/Api.php +50 -35
- app/code/community/Oro/Api/Model/Wishlist/Api.php +217 -6
- app/code/community/Oro/Api/Model/Wishlist/Observer.php +75 -0
- app/code/community/Oro/Api/Model/Wishlist/Status.php +49 -0
- app/code/community/Oro/Api/Model/Wishlist/Status/Api.php +71 -0
- app/code/community/Oro/Api/Model/Wishlist/Status/Api/V2.php +21 -0
- app/code/community/Oro/Api/etc/api.xml +50 -0
- app/code/community/Oro/Api/etc/config.xml +56 -1
- app/code/community/Oro/Api/etc/system.xml +9 -0
- app/code/community/Oro/Api/etc/wsdl.xml +104 -1
- app/code/community/Oro/Api/etc/wsi.xml +103 -1
- app/code/community/Oro/Api/sql/oro_api_setup/install-1.2.5.php +20 -0
- app/code/community/Oro/Api/sql/oro_api_setup/upgrade-1.2.5.0-1.2.5.1.php +42 -0
- app/etc/modules/Oro_Api.xml +3 -0
- package.xml +4 -4
app/code/community/Oro/Api/Helper/Data.php
CHANGED
|
@@ -260,4 +260,25 @@ class Oro_Api_Helper_Data
|
|
| 260 |
|
| 261 |
return $result;
|
| 262 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
}
|
| 260 |
|
| 261 |
return $result;
|
| 262 |
}
|
| 263 |
+
|
| 264 |
+
/**
|
| 265 |
+
* Get store/wibsite filter data as array from filter condition
|
| 266 |
+
*
|
| 267 |
+
* @param array $condition
|
| 268 |
+
* @return array
|
| 269 |
+
*/
|
| 270 |
+
public function getDataFromFilterCondition($condition)
|
| 271 |
+
{
|
| 272 |
+
$result = array();
|
| 273 |
+
|
| 274 |
+
if (is_array($condition)) {
|
| 275 |
+
if (isset($condition['eq'])) {
|
| 276 |
+
$result = array($condition['eq']);
|
| 277 |
+
} elseif (isset($condition['in'])) {
|
| 278 |
+
$result = $condition['in'];
|
| 279 |
+
}
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
return $result;
|
| 283 |
+
}
|
| 284 |
}
|
app/code/community/Oro/Api/Model/Ping.php
CHANGED
|
@@ -22,10 +22,13 @@ class Oro_Api_Model_Ping extends Mage_Api_Model_Resource_Abstract
|
|
| 22 |
*/
|
| 23 |
public function ping()
|
| 24 |
{
|
|
|
|
|
|
|
| 25 |
return array(
|
| 26 |
-
'version'
|
| 27 |
-
'mage_version'
|
| 28 |
-
'admin_url'
|
|
|
|
| 29 |
);
|
| 30 |
}
|
| 31 |
}
|
| 22 |
*/
|
| 23 |
public function ping()
|
| 24 |
{
|
| 25 |
+
$customerScope = (int)Mage::getSingleton('customer/config_share')->isWebsiteScope();
|
| 26 |
+
|
| 27 |
return array(
|
| 28 |
+
'version' => (string)Mage::getConfig()->getNode('modules/Oro_Api/version'),
|
| 29 |
+
'mage_version' => Mage::getVersion(),
|
| 30 |
+
'admin_url' => Mage::getUrl('adminhtml'),
|
| 31 |
+
'customer_scope' => $customerScope,
|
| 32 |
);
|
| 33 |
}
|
| 34 |
}
|
app/code/community/Oro/Api/Model/Resource/Setup.php
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Oro API wishlist resource setup
|
| 21 |
+
*
|
| 22 |
+
*/
|
| 23 |
+
class Oro_Api_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
|
| 24 |
+
{
|
| 25 |
+
}
|
app/code/community/Oro/Api/Model/Resource/Wishlist/Status.php
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Wishlist status resource model
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Resource_Wishlist_Status extends Mage_Core_Model_Resource_Db_Abstract
|
| 23 |
+
{
|
| 24 |
+
/**
|
| 25 |
+
* Primary key auto increment flag
|
| 26 |
+
*
|
| 27 |
+
* @var bool
|
| 28 |
+
*/
|
| 29 |
+
protected $_isPkAutoIncrement = false;
|
| 30 |
+
|
| 31 |
+
/**
|
| 32 |
+
* Constructor
|
| 33 |
+
*/
|
| 34 |
+
protected function _construct()
|
| 35 |
+
{
|
| 36 |
+
$this->_init('oro_api/wishlist_status', 'wishlist_id');
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
/**
|
| 40 |
+
* Clean status logs
|
| 41 |
+
*
|
| 42 |
+
* @param Oro_Api_Model_Wishlist_Status $object
|
| 43 |
+
* @return Oro_Api_Model_Resource_Wishlist_Status
|
| 44 |
+
*/
|
| 45 |
+
public function clean(Oro_Api_Model_Wishlist_Status $object)
|
| 46 |
+
{
|
| 47 |
+
$cleanTime = $object->getLogCleanTime();
|
| 48 |
+
$this->_cleanStatuses($cleanTime);
|
| 49 |
+
|
| 50 |
+
return $this;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
/**
|
| 54 |
+
* Clean statuses table
|
| 55 |
+
*
|
| 56 |
+
* @param int $time
|
| 57 |
+
* @return Oro_Api_Model_Resource_Wishlist_Status
|
| 58 |
+
*/
|
| 59 |
+
protected function _cleanStatuses($time)
|
| 60 |
+
{
|
| 61 |
+
$writeAdapter = $this->_getWriteAdapter();
|
| 62 |
+
$timeLimit = $this->formatDate(Mage::getModel('core/date')->gmtTimestamp() - $time);
|
| 63 |
+
$condition = array('deleted_at < ?' => $timeLimit);
|
| 64 |
+
|
| 65 |
+
// remove wishlist statuses from oro_api/wishlist_status
|
| 66 |
+
try {
|
| 67 |
+
$writeAdapter->delete($this->getTable('oro_api/wishlist_status'), $condition);
|
| 68 |
+
} catch (Exception $e) {
|
| 69 |
+
Mage::log($e->getMessage());
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
return $this;
|
| 73 |
+
}
|
| 74 |
+
}
|
app/code/community/Oro/Api/Model/Resource/Wishlist/Status/Collection.php
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Wishlist Status Resource Collection
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Resource_Wishlist_Status_Collection
|
| 23 |
+
extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
| 24 |
+
{
|
| 25 |
+
/**
|
| 26 |
+
* Resource constructor
|
| 27 |
+
*
|
| 28 |
+
*/
|
| 29 |
+
protected function _construct()
|
| 30 |
+
{
|
| 31 |
+
$this->_init('oro_api/wishlist_status');
|
| 32 |
+
}
|
| 33 |
+
}
|
app/code/community/Oro/Api/Model/Sales/Quote/Api.php
CHANGED
|
@@ -45,7 +45,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 45 |
{
|
| 46 |
/** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
|
| 47 |
$quoteCollection = Mage::getResourceModel('sales/quote_collection');
|
| 48 |
-
|
| 49 |
$filters = $this->_apiHelper->parseFilters($filters);
|
| 50 |
try {
|
| 51 |
foreach ($filters as $field => $value) {
|
|
@@ -61,6 +60,8 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 61 |
return array();
|
| 62 |
}
|
| 63 |
|
|
|
|
|
|
|
| 64 |
$resultArray = array();
|
| 65 |
/** @var Mage_Sales_Model_Quote $quote */
|
| 66 |
foreach ($quoteCollection as $quote) {
|
|
@@ -84,12 +85,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 84 |
*/
|
| 85 |
protected function info($quote)
|
| 86 |
{
|
| 87 |
-
if ($quote->getGiftMessageId() > 0) {
|
| 88 |
-
$quote->setGiftMessage(
|
| 89 |
-
Mage::getSingleton('giftmessage/message')->load($quote->getGiftMessageId())->getMessage()
|
| 90 |
-
);
|
| 91 |
-
}
|
| 92 |
-
|
| 93 |
$result = $this->_getAttributes($quote, 'quote');
|
| 94 |
$result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
|
| 95 |
$result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
|
|
@@ -97,12 +92,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 97 |
|
| 98 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
| 99 |
foreach ($quote->getAllItems() as $item) {
|
| 100 |
-
if ($item->getGiftMessageId() > 0) {
|
| 101 |
-
$item->setGiftMessage(
|
| 102 |
-
Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
|
| 103 |
-
);
|
| 104 |
-
}
|
| 105 |
-
|
| 106 |
$quoteItem = $this->_getAttributes($item, 'quote_item');
|
| 107 |
$productAttributes = $this->_getProductAttributes($item);
|
| 108 |
$quoteItem = array_merge($quoteItem, $productAttributes);
|
|
@@ -127,30 +116,14 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 127 |
protected function _getProductAttributes($item)
|
| 128 |
{
|
| 129 |
$result = array();
|
| 130 |
-
|
| 131 |
-
$productModel = Mage::getModel('catalog/product');
|
| 132 |
-
/** @var Mage_Catalog_Model_Resource_Eav_Attribute[] $mediaAttributes */
|
| 133 |
-
$mediaAttributes = $productModel->getMediaAttributes();
|
| 134 |
-
if (is_array($mediaAttributes) && array_key_exists('image', $mediaAttributes)) {
|
| 135 |
-
/** @var Mage_Catalog_Model_Product $product */
|
| 136 |
-
$product = Mage::getModel('catalog/product')
|
| 137 |
-
->setStoreId($item->getQuote()->getStoreId())
|
| 138 |
-
->load($item->getProductId(), array($mediaAttributes['image']->getAttributeCode()));
|
| 139 |
-
|
| 140 |
-
if ($product) {
|
| 141 |
-
/** @var Mage_Catalog_Model_Product_Media_Config $productMediaConfig */
|
| 142 |
-
$productMediaConfig = Mage::getSingleton('catalog/product_media_config');
|
| 143 |
-
|
| 144 |
-
$productImage = $product->getData('image');
|
| 145 |
-
if ($productImage) {
|
| 146 |
-
$result['product_image_url'] = $productMediaConfig->getMediaUrl($productImage);
|
| 147 |
-
}
|
| 148 |
-
}
|
| 149 |
-
} else {
|
| 150 |
-
$product = $item->getProduct();
|
| 151 |
-
}
|
| 152 |
|
| 153 |
if ($product) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 154 |
$result['product_url'] = $product->getProductUrl(false);
|
| 155 |
}
|
| 156 |
|
|
@@ -173,4 +146,46 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
| 173 |
|
| 174 |
return $this->_knownAttributes;
|
| 175 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
}
|
| 45 |
{
|
| 46 |
/** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
|
| 47 |
$quoteCollection = Mage::getResourceModel('sales/quote_collection');
|
|
|
|
| 48 |
$filters = $this->_apiHelper->parseFilters($filters);
|
| 49 |
try {
|
| 50 |
foreach ($filters as $field => $value) {
|
| 60 |
return array();
|
| 61 |
}
|
| 62 |
|
| 63 |
+
$this->_preparesGiftMessages($quoteCollection);
|
| 64 |
+
|
| 65 |
$resultArray = array();
|
| 66 |
/** @var Mage_Sales_Model_Quote $quote */
|
| 67 |
foreach ($quoteCollection as $quote) {
|
| 85 |
*/
|
| 86 |
protected function info($quote)
|
| 87 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
$result = $this->_getAttributes($quote, 'quote');
|
| 89 |
$result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
|
| 90 |
$result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
|
| 92 |
|
| 93 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
| 94 |
foreach ($quote->getAllItems() as $item) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
$quoteItem = $this->_getAttributes($item, 'quote_item');
|
| 96 |
$productAttributes = $this->_getProductAttributes($item);
|
| 97 |
$quoteItem = array_merge($quoteItem, $productAttributes);
|
| 116 |
protected function _getProductAttributes($item)
|
| 117 |
{
|
| 118 |
$result = array();
|
| 119 |
+
$product = $item->getProduct();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 120 |
|
| 121 |
if ($product) {
|
| 122 |
+
$productImage = $product->getData('image');
|
| 123 |
+
if ($productImage) {
|
| 124 |
+
$result['product_image_url'] = Mage::getSingleton('catalog/product_media_config')
|
| 125 |
+
->getMediaUrl($productImage);
|
| 126 |
+
}
|
| 127 |
$result['product_url'] = $product->getProductUrl(false);
|
| 128 |
}
|
| 129 |
|
| 146 |
|
| 147 |
return $this->_knownAttributes;
|
| 148 |
}
|
| 149 |
+
|
| 150 |
+
/**
|
| 151 |
+
* Set gift_message key to quote and quote item
|
| 152 |
+
*
|
| 153 |
+
* @param Mage_Sales_Model_Resource_Quote_Collection $quoteCollection
|
| 154 |
+
*/
|
| 155 |
+
protected function _preparesGiftMessages($quoteCollection)
|
| 156 |
+
{
|
| 157 |
+
$messageIds = array();
|
| 158 |
+
/* @var Mage_Sales_Model_Quote $quote */
|
| 159 |
+
foreach ($quoteCollection as $quote) {
|
| 160 |
+
if ($quote->getGiftMessageId()) {
|
| 161 |
+
$messageIds[] = $quote->getGiftMessageId();
|
| 162 |
+
}
|
| 163 |
+
foreach ($quote->getAllItems() as $quoteItem) {
|
| 164 |
+
if ($quoteItem->getGiftMessageId()) {
|
| 165 |
+
$messageIds[] = $quoteItem->getGiftMessageId();
|
| 166 |
+
}
|
| 167 |
+
}
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
if (!$messageIds) {
|
| 171 |
+
return;
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
$messageIds = array_unique($messageIds);
|
| 175 |
+
|
| 176 |
+
$giftCollection = Mage::getResourceModel('giftmessage/message_collection');
|
| 177 |
+
$giftCollection->addFieldToFilter('gift_message_id', array('in' => $messageIds));
|
| 178 |
+
|
| 179 |
+
/* @var Mage_Sales_Model_Quote $quote */
|
| 180 |
+
foreach ($quoteCollection as $quote) {
|
| 181 |
+
if ($quote->getGiftMessageId()) {
|
| 182 |
+
$quote->setGiftMessage($giftCollection->getItemById($quote->getGiftMessageId())->getMessage());
|
| 183 |
+
}
|
| 184 |
+
foreach ($quote->getAllItems() as $quoteItem) {
|
| 185 |
+
if ($quoteItem->getGiftMessageId()) {
|
| 186 |
+
$quoteItem->setGiftMessage($giftCollection->getItemById($quoteItem->getGiftMessageId())->getMessage());
|
| 187 |
+
}
|
| 188 |
+
}
|
| 189 |
+
}
|
| 190 |
+
}
|
| 191 |
}
|
app/code/community/Oro/Api/Model/Wishlist/Api.php
CHANGED
|
@@ -15,20 +15,46 @@
|
|
| 15 |
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
*/
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
| 20 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
/**
|
| 22 |
* @param array|object $filters
|
|
|
|
| 23 |
* @return array
|
| 24 |
*/
|
| 25 |
-
public function items($filters)
|
| 26 |
{
|
| 27 |
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
| 28 |
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
| 29 |
-
|
| 30 |
-
$apiHelper = Mage::helper('oro_api');
|
| 31 |
-
$filters = $apiHelper->parseFilters($filters);
|
| 32 |
try {
|
| 33 |
foreach ($filters as $field => $value) {
|
| 34 |
$collection->addFieldToFilter($field, $value);
|
|
@@ -37,8 +63,193 @@ class Oro_Api_Model_Wishlist_Api
|
|
| 37 |
$this->_fault('filters_invalid', $e->getMessage());
|
| 38 |
}
|
| 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
$arr = $collection->toArray();
|
| 41 |
|
| 42 |
return $arr['items'];
|
| 43 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
}
|
| 15 |
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Oro Wishlist Api
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Wishlist_Api extends Mage_Api_Model_Resource_Abstract
|
| 23 |
{
|
| 24 |
+
protected $_mapAttributes = array(
|
| 25 |
+
'wishlist_id' => 'entity_id'
|
| 26 |
+
);
|
| 27 |
+
|
| 28 |
+
/**
|
| 29 |
+
* Store ids (website stores)
|
| 30 |
+
*
|
| 31 |
+
* @var array
|
| 32 |
+
*/
|
| 33 |
+
protected $storeIds = null;
|
| 34 |
+
|
| 35 |
+
/**
|
| 36 |
+
* @var Oro_Api_Helper_Data
|
| 37 |
+
*/
|
| 38 |
+
protected $apiHelper;
|
| 39 |
+
|
| 40 |
+
/**
|
| 41 |
+
* Constructor.
|
| 42 |
+
*/
|
| 43 |
+
public function __construct()
|
| 44 |
+
{
|
| 45 |
+
$this->apiHelper = Mage::helper('oro_api');
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
/**
|
| 49 |
* @param array|object $filters
|
| 50 |
+
* @param \stdClass $pager
|
| 51 |
* @return array
|
| 52 |
*/
|
| 53 |
+
public function items($filters, $pager = null)
|
| 54 |
{
|
| 55 |
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
| 56 |
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
| 57 |
+
$filters = $this->apiHelper->parseFilters($filters);
|
|
|
|
|
|
|
| 58 |
try {
|
| 59 |
foreach ($filters as $field => $value) {
|
| 60 |
$collection->addFieldToFilter($field, $value);
|
| 63 |
$this->_fault('filters_invalid', $e->getMessage());
|
| 64 |
}
|
| 65 |
|
| 66 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
| 67 |
+
// there's no such page, so no results for it
|
| 68 |
+
return array();
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
$arr = $collection->toArray();
|
| 72 |
|
| 73 |
return $arr['items'];
|
| 74 |
}
|
| 75 |
+
|
| 76 |
+
/**
|
| 77 |
+
* Get wishlist with items info
|
| 78 |
+
*
|
| 79 |
+
* @param array|object $filters
|
| 80 |
+
* @param null|\stdClass $pager
|
| 81 |
+
* @return array
|
| 82 |
+
*
|
| 83 |
+
* @throws Mage_Api_Exception
|
| 84 |
+
*/
|
| 85 |
+
public function listWithItems($filters, $pager = null)
|
| 86 |
+
{
|
| 87 |
+
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
| 88 |
+
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
| 89 |
+
$filters = $this->apiHelper->parseFilters($filters, array('updated_at' => 'main_table.updated_at'));
|
| 90 |
+
/* Prepare store/website filters for wishlist */
|
| 91 |
+
$filters = $this->prepareFilters($filters);
|
| 92 |
+
|
| 93 |
+
try {
|
| 94 |
+
foreach ($filters as $field => $value) {
|
| 95 |
+
$collection->addFieldToFilter($field, $value);
|
| 96 |
+
}
|
| 97 |
+
// Load customer data
|
| 98 |
+
$collection = $this->addCustomerData($collection);
|
| 99 |
+
} catch (Mage_Core_Exception $e) {
|
| 100 |
+
$this->_fault('filters_invalid', $e->getMessage());
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
| 104 |
+
// there's no such page, so no results for it
|
| 105 |
+
return array();
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
$result = array();
|
| 109 |
+
foreach ($collection as $wishlist) {
|
| 110 |
+
/** @var Mage_Wishlist_Model_Wishlist $wishlist */
|
| 111 |
+
$wishlistData = $this->info($wishlist);
|
| 112 |
+
$result[] = $wishlistData;
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
return $result;
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
/**
|
| 119 |
+
* Retrieve store ids
|
| 120 |
+
*
|
| 121 |
+
* @param null|integer $websiteId
|
| 122 |
+
* @return array
|
| 123 |
+
*/
|
| 124 |
+
public function getStoreIds($websiteId = null)
|
| 125 |
+
{
|
| 126 |
+
$storeIds = array();
|
| 127 |
+
if ($websiteId) {
|
| 128 |
+
$website = Mage::getModel('core/website')->load($websiteId);
|
| 129 |
+
$storeIds = $website->getStoreIds();
|
| 130 |
+
} else {
|
| 131 |
+
$stores = Mage::app()->getStores();
|
| 132 |
+
foreach ($stores as $store) {
|
| 133 |
+
$storeIds[] = $store->getId();
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
return $storeIds;
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
/**
|
| 140 |
+
* Add customer data to collection
|
| 141 |
+
*
|
| 142 |
+
* @param Mage_Wishlist_Model_Resource_Wishlist_Collection $collection
|
| 143 |
+
* @return Mage_Wishlist_Model_Resource_Wishlist_Collection
|
| 144 |
+
*/
|
| 145 |
+
protected function addCustomerData($collection)
|
| 146 |
+
{
|
| 147 |
+
$customerTable = $collection->getTable('customer/entity');
|
| 148 |
+
$select = $collection->getSelect();
|
| 149 |
+
$select->joinLeft(
|
| 150 |
+
array('customer' => $customerTable),
|
| 151 |
+
'main_table.customer_id = customer.entity_id',
|
| 152 |
+
array(
|
| 153 |
+
'customer_email' => 'email',
|
| 154 |
+
'website_id' => 'website_id'
|
| 155 |
+
)
|
| 156 |
+
);
|
| 157 |
+
|
| 158 |
+
return $collection;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
/**
|
| 162 |
+
* Retrieve full information about wishlist
|
| 163 |
+
*
|
| 164 |
+
* @param Mage_Wishlist_Model_Wishlist $wishlist
|
| 165 |
+
* @return array
|
| 166 |
+
*/
|
| 167 |
+
protected function info($wishlist)
|
| 168 |
+
{
|
| 169 |
+
$result = $wishlist->toArray();
|
| 170 |
+
$result['items'] = array();
|
| 171 |
+
|
| 172 |
+
// Load wishlist items data
|
| 173 |
+
/** @var Mage_Wishlist_Model_Resource_Item_Collection $collection */
|
| 174 |
+
$collection = Mage::getResourceModel('wishlist/item_collection')
|
| 175 |
+
->addWishlistFilter($wishlist)
|
| 176 |
+
->addStoreFilter($this->storeIds)
|
| 177 |
+
->setVisibilityFilter();
|
| 178 |
+
|
| 179 |
+
/** @var Mage_Wishlist_Model_Item $item */
|
| 180 |
+
foreach ($collection as $item) {
|
| 181 |
+
$product = $item->getProduct();
|
| 182 |
+
if ($product) {
|
| 183 |
+
$item->setSku($product->getSku());
|
| 184 |
+
$item->setProductName($product->getName());
|
| 185 |
+
$item->setWebsiteId(Mage::app()->getStore($item->getStoreId())->getWebsiteId());
|
| 186 |
+
}
|
| 187 |
+
$wishlistItem = $item->toArray();
|
| 188 |
+
unset($wishlistItem['product']);
|
| 189 |
+
$result['items'][] = $wishlistItem;
|
| 190 |
+
}
|
| 191 |
+
return $result;
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
+
/**
|
| 195 |
+
* Prepare store/website filters for wishlist
|
| 196 |
+
*
|
| 197 |
+
* Exclude store fields from complex filter for wishlist if exists
|
| 198 |
+
* Save store filter data to storeIds - used for filter wishlist items
|
| 199 |
+
* Save website filter data to websiteIds - used for filter wishlists by customer's website
|
| 200 |
+
*
|
| 201 |
+
* If website filter exists in the incoming filter (from integration) and customer accounts shared globally
|
| 202 |
+
* ignore sent filters, set all stores where customer can be presented to storeIds
|
| 203 |
+
*
|
| 204 |
+
* Example if complex filter:
|
| 205 |
+
* 'website_id',
|
| 206 |
+
* [
|
| 207 |
+
* 'key' => 'website_id',
|
| 208 |
+
* 'value' => [
|
| 209 |
+
* 'key' => 'eq',
|
| 210 |
+
* 'value' => '1'
|
| 211 |
+
* ]
|
| 212 |
+
* ]
|
| 213 |
+
* 'store_id',
|
| 214 |
+
* [
|
| 215 |
+
* 'key' => 'store_id',
|
| 216 |
+
* 'value' => [
|
| 217 |
+
* 'key' => 'in',
|
| 218 |
+
* 'value' => [1,2]
|
| 219 |
+
* ]
|
| 220 |
+
* ]
|
| 221 |
+
*
|
| 222 |
+
* @param array $filters
|
| 223 |
+
* @return array
|
| 224 |
+
*/
|
| 225 |
+
protected function prepareFilters($filters)
|
| 226 |
+
{
|
| 227 |
+
if (Mage::getSingleton('customer/config_share')->isWebsiteScope()) {
|
| 228 |
+
if (isset($filters['store_id'])) {
|
| 229 |
+
$storeIds = $this->apiHelper->getDataFromFilterCondition($filters['store_id']);
|
| 230 |
+
$this->storeIds = $storeIds;
|
| 231 |
+
unset($filters['store_id']);
|
| 232 |
+
}
|
| 233 |
+
if (isset($filters['website_id'])) {
|
| 234 |
+
$websiteIds = $this->apiHelper->getDataFromFilterCondition($filters['website_id']);
|
| 235 |
+
if (!$this->storeIds) {
|
| 236 |
+
foreach ($websiteIds as $websiteId) {
|
| 237 |
+
$storeIds = $this->getStoreIds($websiteId);
|
| 238 |
+
foreach ($storeIds as $id) {
|
| 239 |
+
$this->storeIds[] = $id;
|
| 240 |
+
}
|
| 241 |
+
}
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
} else {
|
| 245 |
+
unset($filters['store_id']);
|
| 246 |
+
unset($filters['website_id']);
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
if (!$this->storeIds) {
|
| 250 |
+
$this->storeIds = $this->getStoreIds();
|
| 251 |
+
}
|
| 252 |
+
|
| 253 |
+
return $filters;
|
| 254 |
+
}
|
| 255 |
}
|
app/code/community/Oro/Api/Model/Wishlist/Observer.php
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Multiple wishlist observer.
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Wishlist_Observer
|
| 23 |
+
{
|
| 24 |
+
/**
|
| 25 |
+
* Log wishlist on manually wishlist deletion
|
| 26 |
+
*
|
| 27 |
+
* @param Varien_Event_Observer $observer
|
| 28 |
+
* @return Oro_Api_Model_Wishlist_Observer
|
| 29 |
+
*/
|
| 30 |
+
public function registerWishlistChange(Varien_Event_Observer $observer)
|
| 31 |
+
{
|
| 32 |
+
if (Mage::helper('core')->isModuleEnabled('Enterprise_Wishlist') &&
|
| 33 |
+
Mage::helper('enterprise_wishlist')->isMultipleEnabled()) {
|
| 34 |
+
/** @var Mage_Wishlist_Model_Wishlist $wishlist */
|
| 35 |
+
$wishlist = $observer->getEvent()->getObject();
|
| 36 |
+
$wishlistId = $wishlist->getId();
|
| 37 |
+
if ($wishlistId) {
|
| 38 |
+
try {
|
| 39 |
+
$websiteId = $this->getWishlistOwnerWebsiteId($wishlist);
|
| 40 |
+
/** @var Oro_Api_Model_Wishlist_Status $wishlistStatus */
|
| 41 |
+
$wishlistStatus = Mage::getModel('oro_api/wishlist_status')
|
| 42 |
+
->setWishlistId($wishlistId)
|
| 43 |
+
->setWebsiteId($websiteId)
|
| 44 |
+
->setDeletedAt(Mage::getSingleton('core/date')->gmtDate());
|
| 45 |
+
$wishlistStatus->save();
|
| 46 |
+
} catch (Exception $e) {
|
| 47 |
+
Mage::log($e->getMessage());
|
| 48 |
+
}
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
return $this;
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
/**
|
| 56 |
+
* Retrieve wishlist owner website
|
| 57 |
+
*
|
| 58 |
+
* @param Mage_Wishlist_Model_Wishlist $wishlist
|
| 59 |
+
* @return null
|
| 60 |
+
*/
|
| 61 |
+
public function getWishlistOwnerWebsiteId($wishlist)
|
| 62 |
+
{
|
| 63 |
+
$customerId = $wishlist->getCustomerId();
|
| 64 |
+
if ($customerId) {
|
| 65 |
+
/** @var Mage_Customer_Model_Customer $owner */
|
| 66 |
+
$owner = Mage::getModel("customer/customer");
|
| 67 |
+
$owner->load($customerId);
|
| 68 |
+
if ($owner->getId()) {
|
| 69 |
+
return $owner->getWebsiteId();
|
| 70 |
+
}
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
return null;
|
| 74 |
+
}
|
| 75 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status.php
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Log Wishlist Status Model
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Wishlist_Status extends Mage_Core_Model_Abstract
|
| 23 |
+
{
|
| 24 |
+
const XML_WISHLIST_STATUS_CLEAN_DAYS = 'oro/api/wishlist_status_clean_after_day';
|
| 25 |
+
|
| 26 |
+
/**
|
| 27 |
+
* Init Resource Model
|
| 28 |
+
*/
|
| 29 |
+
protected function _construct()
|
| 30 |
+
{
|
| 31 |
+
$this->_init('oro_api/wishlist_status');
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
public function getLogCleanTime()
|
| 35 |
+
{
|
| 36 |
+
return Mage::getStoreConfig(self::XML_WISHLIST_STATUS_CLEAN_DAYS) * 60 * 60 * 24;
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
/**
|
| 40 |
+
* Clean statuses
|
| 41 |
+
*
|
| 42 |
+
* @return Oro_Api_Model_Wishlist_Status
|
| 43 |
+
*/
|
| 44 |
+
public function clean()
|
| 45 |
+
{
|
| 46 |
+
$this->getResource()->clean($this);
|
| 47 |
+
return $this;
|
| 48 |
+
}
|
| 49 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status/Api.php
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/**
|
| 20 |
+
* Oro API Wishlist Status Api
|
| 21 |
+
*/
|
| 22 |
+
class Oro_Api_Model_Wishlist_Status_Api extends Mage_Api_Model_Resource_Abstract
|
| 23 |
+
{
|
| 24 |
+
/**
|
| 25 |
+
* @var Oro_Api_Helper_Data
|
| 26 |
+
*/
|
| 27 |
+
protected $apiHelper;
|
| 28 |
+
|
| 29 |
+
/**
|
| 30 |
+
* Constructor.
|
| 31 |
+
*/
|
| 32 |
+
public function __construct()
|
| 33 |
+
{
|
| 34 |
+
$this->apiHelper = Mage::helper('oro_api');
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* Get wishlist status list
|
| 39 |
+
*
|
| 40 |
+
* @param array|object $filters
|
| 41 |
+
* @param null|\stdClass $pager
|
| 42 |
+
* @return array
|
| 43 |
+
* @throws Mage_Api_Exception
|
| 44 |
+
*/
|
| 45 |
+
public function items($filters, $pager = null)
|
| 46 |
+
{
|
| 47 |
+
/** @var Oro_Api_Model_Resource_Wishlist_Status_Collection $collection */
|
| 48 |
+
$collection = Mage::getResourceModel('oro_api/wishlist_status_collection');
|
| 49 |
+
$filters = $this->apiHelper->parseFilters($filters);
|
| 50 |
+
try {
|
| 51 |
+
foreach ($filters as $field => $value) {
|
| 52 |
+
$collection->addFieldToFilter($field, $value);
|
| 53 |
+
}
|
| 54 |
+
} catch (Mage_Core_Exception $e) {
|
| 55 |
+
$this->_fault('filters_invalid', $e->getMessage());
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
| 59 |
+
// there's no such page, so no results for it
|
| 60 |
+
return array();
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
$result = array();
|
| 64 |
+
/** @var Oro_Api_Model_Wishlist_Status $status */
|
| 65 |
+
foreach ($collection as $status) {
|
| 66 |
+
$result[] = $status->toArray();
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
return $result;
|
| 70 |
+
}
|
| 71 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status/Api/V2.php
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
class Oro_Api_Model_Wishlist_Status_Api_V2 extends Oro_Api_Model_Wishlist_Status_Api
|
| 19 |
+
{
|
| 20 |
+
|
| 21 |
+
}
|
app/code/community/Oro/Api/etc/api.xml
CHANGED
|
@@ -167,6 +167,42 @@
|
|
| 167 |
</list>
|
| 168 |
</methods>
|
| 169 |
</wishlist_item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
<report_product_viewed translate="title" module="oro_api">
|
| 171 |
<model>oro_api/report_product_viewed_api</model>
|
| 172 |
<title>Report Product Viewed</title>
|
|
@@ -262,6 +298,12 @@
|
|
| 262 |
<wishlist_item_list>
|
| 263 |
<get><method>list</method></get>
|
| 264 |
</wishlist_item_list>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
<report_product_viewed>
|
| 266 |
<get><method>list</method></get>
|
| 267 |
</report_product_viewed>
|
|
@@ -319,6 +361,12 @@
|
|
| 319 |
<wishlist_item translate="title" module="oro_api">
|
| 320 |
<title>Wishlist Item Info</title>
|
| 321 |
</wishlist_item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 322 |
<report_product_viewed translate="title" module="oro_api">
|
| 323 |
<title>Report Product Viewed</title>
|
| 324 |
</report_product_viewed>
|
|
@@ -356,6 +404,8 @@
|
|
| 356 |
<oro_customer_address>oroCustomerAddress</oro_customer_address>
|
| 357 |
<wishlist>wishlist</wishlist>
|
| 358 |
<wishlist_item>wishlistItem</wishlist_item>
|
|
|
|
|
|
|
| 359 |
<report_product_viewed>reportProductViewed</report_product_viewed>
|
| 360 |
<newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
|
| 361 |
</resources_function_prefix>
|
| 167 |
</list>
|
| 168 |
</methods>
|
| 169 |
</wishlist_item>
|
| 170 |
+
<oro_wishlist translate="title" module="oro_api">
|
| 171 |
+
<model>oro_api/wishlist_api</model>
|
| 172 |
+
<title>Oro Wishlist API</title>
|
| 173 |
+
<acl>oro</acl>
|
| 174 |
+
<methods>
|
| 175 |
+
<list translate="title" module="oro_api">
|
| 176 |
+
<title>Get wishlist with items by filters</title>
|
| 177 |
+
<method>listWithItems</method>
|
| 178 |
+
<acl>oro/wishlist</acl>
|
| 179 |
+
</list>
|
| 180 |
+
</methods>
|
| 181 |
+
<faults module="oro_api">
|
| 182 |
+
<filters_invalid>
|
| 183 |
+
<code>100</code>
|
| 184 |
+
<message>Invalid filters given. Details in error message.</message>
|
| 185 |
+
</filters_invalid>
|
| 186 |
+
</faults>
|
| 187 |
+
</oro_wishlist>
|
| 188 |
+
<oro_wishlist_status translate="title" module="oro_api">
|
| 189 |
+
<model>oro_api/wishlist_status_api</model>
|
| 190 |
+
<title>Wishlist Status Information</title>
|
| 191 |
+
<acl>oro</acl>
|
| 192 |
+
<methods>
|
| 193 |
+
<list translate="title" module="oro_api">
|
| 194 |
+
<title>Get wishlist status by filters</title>
|
| 195 |
+
<method>items</method>
|
| 196 |
+
<acl>oro/wishlist</acl>
|
| 197 |
+
</list>
|
| 198 |
+
</methods>
|
| 199 |
+
<faults module="oro_api">
|
| 200 |
+
<filters_invalid>
|
| 201 |
+
<code>100</code>
|
| 202 |
+
<message>Invalid filters given. Details in error message.</message>
|
| 203 |
+
</filters_invalid>
|
| 204 |
+
</faults>
|
| 205 |
+
</oro_wishlist_status>
|
| 206 |
<report_product_viewed translate="title" module="oro_api">
|
| 207 |
<model>oro_api/report_product_viewed_api</model>
|
| 208 |
<title>Report Product Viewed</title>
|
| 298 |
<wishlist_item_list>
|
| 299 |
<get><method>list</method></get>
|
| 300 |
</wishlist_item_list>
|
| 301 |
+
<oro_wishlist_list>
|
| 302 |
+
<get><method>list</method></get>
|
| 303 |
+
</oro_wishlist_list>
|
| 304 |
+
<oro_wishlist_status_list>
|
| 305 |
+
<get><method>list</method></get>
|
| 306 |
+
</oro_wishlist_status_list>
|
| 307 |
<report_product_viewed>
|
| 308 |
<get><method>list</method></get>
|
| 309 |
</report_product_viewed>
|
| 361 |
<wishlist_item translate="title" module="oro_api">
|
| 362 |
<title>Wishlist Item Info</title>
|
| 363 |
</wishlist_item>
|
| 364 |
+
<oro_wishlist translate="title" module="oro_api">
|
| 365 |
+
<title>Wishlist with Items Info</title>
|
| 366 |
+
</oro_wishlist>
|
| 367 |
+
<oro_wishlist_status translate="title" module="oro_api">
|
| 368 |
+
<title>Wishlist Status Info</title>
|
| 369 |
+
</oro_wishlist_status>
|
| 370 |
<report_product_viewed translate="title" module="oro_api">
|
| 371 |
<title>Report Product Viewed</title>
|
| 372 |
</report_product_viewed>
|
| 404 |
<oro_customer_address>oroCustomerAddress</oro_customer_address>
|
| 405 |
<wishlist>wishlist</wishlist>
|
| 406 |
<wishlist_item>wishlistItem</wishlist_item>
|
| 407 |
+
<oro_wishlist>oroWishlist</oro_wishlist>
|
| 408 |
+
<oro_wishlist_status>oroWishlistStatus</oro_wishlist_status>
|
| 409 |
<report_product_viewed>reportProductViewed</report_product_viewed>
|
| 410 |
<newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
|
| 411 |
</resources_function_prefix>
|
app/code/community/Oro/Api/etc/config.xml
CHANGED
|
@@ -20,7 +20,7 @@
|
|
| 20 |
<config>
|
| 21 |
<modules>
|
| 22 |
<Oro_Api>
|
| 23 |
-
<version>1.2.
|
| 24 |
</Oro_Api>
|
| 25 |
</modules>
|
| 26 |
<global>
|
|
@@ -31,6 +31,11 @@
|
|
| 31 |
</oro_api>
|
| 32 |
<oro_api_resource>
|
| 33 |
<class>Oro_Api_Model_Resource</class>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
</oro_api_resource>
|
| 35 |
<catalog>
|
| 36 |
<rewrite>
|
|
@@ -47,8 +52,22 @@
|
|
| 47 |
<oro_api_setup>
|
| 48 |
<setup>
|
| 49 |
<module>Oro_Api</module>
|
|
|
|
| 50 |
</setup>
|
|
|
|
|
|
|
|
|
|
| 51 |
</oro_api_setup>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
</resources>
|
| 53 |
<events>
|
| 54 |
<newsletter_subscriber_save_before>
|
|
@@ -59,7 +78,24 @@
|
|
| 59 |
</oro_api_newsletter_subscriber_save_before_observer>
|
| 60 |
</observers>
|
| 61 |
</newsletter_subscriber_save_before>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
</events>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
</global>
|
| 64 |
<admin>
|
| 65 |
<routers>
|
|
@@ -112,4 +148,23 @@
|
|
| 112 |
</checkout_submit_all_after>
|
| 113 |
</events>
|
| 114 |
</adminhtml>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
</config>
|
| 20 |
<config>
|
| 21 |
<modules>
|
| 22 |
<Oro_Api>
|
| 23 |
+
<version>1.2.7</version>
|
| 24 |
</Oro_Api>
|
| 25 |
</modules>
|
| 26 |
<global>
|
| 31 |
</oro_api>
|
| 32 |
<oro_api_resource>
|
| 33 |
<class>Oro_Api_Model_Resource</class>
|
| 34 |
+
<entities>
|
| 35 |
+
<wishlist_status>
|
| 36 |
+
<table>oro_wishlist_status</table>
|
| 37 |
+
</wishlist_status>
|
| 38 |
+
</entities>
|
| 39 |
</oro_api_resource>
|
| 40 |
<catalog>
|
| 41 |
<rewrite>
|
| 52 |
<oro_api_setup>
|
| 53 |
<setup>
|
| 54 |
<module>Oro_Api</module>
|
| 55 |
+
<class>Oro_Api_Model_Resource_Setup</class>
|
| 56 |
</setup>
|
| 57 |
+
<connection>
|
| 58 |
+
<use>core_setup</use>
|
| 59 |
+
</connection>
|
| 60 |
</oro_api_setup>
|
| 61 |
+
<oro_api_read>
|
| 62 |
+
<connection>
|
| 63 |
+
<use>core_read</use>
|
| 64 |
+
</connection>
|
| 65 |
+
</oro_api_read>
|
| 66 |
+
<oro_api_write>
|
| 67 |
+
<connection>
|
| 68 |
+
<use>core_write</use>
|
| 69 |
+
</connection>
|
| 70 |
+
</oro_api_write>
|
| 71 |
</resources>
|
| 72 |
<events>
|
| 73 |
<newsletter_subscriber_save_before>
|
| 78 |
</oro_api_newsletter_subscriber_save_before_observer>
|
| 79 |
</observers>
|
| 80 |
</newsletter_subscriber_save_before>
|
| 81 |
+
<wishlist_delete_commit_after>
|
| 82 |
+
<observers>
|
| 83 |
+
<oro_api_wishlist_status>
|
| 84 |
+
<class>oro_api/wishlist_observer</class>
|
| 85 |
+
<method>registerWishlistChange</method>
|
| 86 |
+
</oro_api_wishlist_status>
|
| 87 |
+
</observers>
|
| 88 |
+
</wishlist_delete_commit_after>
|
| 89 |
</events>
|
| 90 |
+
<sales>
|
| 91 |
+
<quote>
|
| 92 |
+
<item>
|
| 93 |
+
<product_attributes>
|
| 94 |
+
<image/>
|
| 95 |
+
</product_attributes>
|
| 96 |
+
</item>
|
| 97 |
+
</quote>
|
| 98 |
+
</sales>
|
| 99 |
</global>
|
| 100 |
<admin>
|
| 101 |
<routers>
|
| 148 |
</checkout_submit_all_after>
|
| 149 |
</events>
|
| 150 |
</adminhtml>
|
| 151 |
+
<default>
|
| 152 |
+
<oro>
|
| 153 |
+
<api>
|
| 154 |
+
<wishlist_status_clean_after_day>30</wishlist_status_clean_after_day>
|
| 155 |
+
</api>
|
| 156 |
+
</oro>
|
| 157 |
+
</default>
|
| 158 |
+
<crontab>
|
| 159 |
+
<jobs>
|
| 160 |
+
<oro_api_wishlist_status_clean>
|
| 161 |
+
<schedule>
|
| 162 |
+
<cron_expr>15 0 1 * *</cron_expr>
|
| 163 |
+
</schedule>
|
| 164 |
+
<run>
|
| 165 |
+
<model>oro_api/wishlist_status::clean</model>
|
| 166 |
+
</run>
|
| 167 |
+
</oro_api_wishlist_status_clean>
|
| 168 |
+
</jobs>
|
| 169 |
+
</crontab>
|
| 170 |
</config>
|
app/code/community/Oro/Api/etc/system.xml
CHANGED
|
@@ -45,6 +45,15 @@
|
|
| 45 |
<show_in_website>0</show_in_website>
|
| 46 |
<show_in_store>0</show_in_store>
|
| 47 |
</enable_attributes>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
</fields>
|
| 49 |
</api>
|
| 50 |
</groups>
|
| 45 |
<show_in_website>0</show_in_website>
|
| 46 |
<show_in_store>0</show_in_store>
|
| 47 |
</enable_attributes>
|
| 48 |
+
<wishlist_status_clean_after_day translate="label">
|
| 49 |
+
<label>Save Wishlist Status Log, Days</label>
|
| 50 |
+
<comment>Used in case of Magento Enterprise Multiple Wishlist enabled to clean Wishlist deletion logs.</comment>
|
| 51 |
+
<frontend_type>text</frontend_type>
|
| 52 |
+
<sort_order>20</sort_order>
|
| 53 |
+
<show_in_default>1</show_in_default>
|
| 54 |
+
<show_in_website>0</show_in_website>
|
| 55 |
+
<show_in_store>0</show_in_store>
|
| 56 |
+
</wishlist_status_clean_after_day>
|
| 57 |
</fields>
|
| 58 |
</api>
|
| 59 |
</groups>
|
app/code/community/Oro/Api/etc/wsdl.xml
CHANGED
|
@@ -93,6 +93,7 @@
|
|
| 93 |
<element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
| 94 |
<element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
| 95 |
<element name="is_persistent" type="xsd:string" minOccurs="0" />
|
|
|
|
| 96 |
|
| 97 |
<element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 98 |
<element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
|
@@ -167,6 +168,65 @@
|
|
| 167 |
</restriction>
|
| 168 |
</complexContent>
|
| 169 |
</complexType>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
<!-- Report Product Viewed -->
|
| 171 |
<complexType name="reportProductViewedEntity">
|
| 172 |
<all>
|
|
@@ -218,6 +278,7 @@
|
|
| 218 |
<element name="version" type="xsd:string" minOccurs="0" />
|
| 219 |
<element name="mage_version" type="xsd:string" minOccurs="0" />
|
| 220 |
<element name="admin_url" type="xsd:string" minOccurs="0" />
|
|
|
|
| 221 |
</all>
|
| 222 |
</complexType>
|
| 223 |
|
|
@@ -375,8 +436,20 @@
|
|
| 375 |
<output message="typens:wishlistItemListResponse"/>
|
| 376 |
</operation>
|
| 377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 378 |
<operation name="reportProductViewedList">
|
| 379 |
-
<documentation>Get
|
| 380 |
<input message="typens:reportProductViewedListRequest"/>
|
| 381 |
<output message="typens:reportProductViewedListResponse"/>
|
| 382 |
</operation>
|
|
@@ -480,6 +553,16 @@
|
|
| 480 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
| 481 |
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
| 482 |
</operation>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 483 |
<operation name="reportProductViewedList">
|
| 484 |
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
| 485 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
|
@@ -592,6 +675,26 @@
|
|
| 592 |
<message name="wishlistItemListResponse">
|
| 593 |
<part name="result" type="typens:wishlistItemEntityArray" />
|
| 594 |
</message>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 595 |
|
| 596 |
<!-- Report Product Viewed -->
|
| 597 |
<message name="reportProductViewedListRequest">
|
| 93 |
<element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
| 94 |
<element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
| 95 |
<element name="is_persistent" type="xsd:string" minOccurs="0" />
|
| 96 |
+
<element name="gift_message" type="xsd:string" minOccurs="0" />
|
| 97 |
|
| 98 |
<element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 99 |
<element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 168 |
</restriction>
|
| 169 |
</complexContent>
|
| 170 |
</complexType>
|
| 171 |
+
<!-- Oro Wishlist With Items-->
|
| 172 |
+
<complexType name="oroWishlistEntity">
|
| 173 |
+
<all>
|
| 174 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 175 |
+
<element name="customer_id" type="xsd:string" minOccurs="0" />
|
| 176 |
+
<element name="shared" type="xsd:string" minOccurs="0" />
|
| 177 |
+
<element name="sharing_code" type="xsd:string" minOccurs="0" />
|
| 178 |
+
<element name="updated_at" type="xsd:string" minOccurs="0" />
|
| 179 |
+
<element name="name" type="xsd:string" minOccurs="0" />
|
| 180 |
+
<element name="visibility" type="xsd:string" minOccurs="0" />
|
| 181 |
+
<element name="customer_email" type="xsd:string" minOccurs="0" />
|
| 182 |
+
<element name="items" type="typens:oroWishlistItemEntityArray" minOccurs="0"/>
|
| 183 |
+
</all>
|
| 184 |
+
</complexType>
|
| 185 |
+
<complexType name="oroWishlistEntityArray">
|
| 186 |
+
<complexContent>
|
| 187 |
+
<restriction base="soapenc:Array">
|
| 188 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistEntity[]" />
|
| 189 |
+
</restriction>
|
| 190 |
+
</complexContent>
|
| 191 |
+
</complexType>
|
| 192 |
+
<complexType name="oroWishlistItemEntity">
|
| 193 |
+
<all>
|
| 194 |
+
<element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
|
| 195 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 196 |
+
<element name="product_id" type="xsd:string" minOccurs="0" />
|
| 197 |
+
<element name="store_id" type="xsd:string" minOccurs="0" />
|
| 198 |
+
<element name="website_id" type="xsd:string" minOccurs="0" />
|
| 199 |
+
<element name="added_at" type="xsd:string" minOccurs="0" />
|
| 200 |
+
<element name="description" type="xsd:string" minOccurs="0" />
|
| 201 |
+
<element name="qty" type="xsd:string" minOccurs="0" />
|
| 202 |
+
<element name="sku" type="xsd:string" minOccurs="0" />
|
| 203 |
+
<element name="product_name" type="xsd:string" minOccurs="0" />
|
| 204 |
+
</all>
|
| 205 |
+
</complexType>
|
| 206 |
+
<complexType name="oroWishlistItemEntityArray">
|
| 207 |
+
<complexContent>
|
| 208 |
+
<restriction base="soapenc:Array">
|
| 209 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistItemEntity[]" />
|
| 210 |
+
</restriction>
|
| 211 |
+
</complexContent>
|
| 212 |
+
</complexType>
|
| 213 |
+
<!-- Oro Wishlist With Items-->
|
| 214 |
+
<!-- Oro Wishlist Status -->
|
| 215 |
+
<complexType name="oroWishlistStatusEntity">
|
| 216 |
+
<all>
|
| 217 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 218 |
+
<element name="deleted_at" type="xsd:string" minOccurs="0" />
|
| 219 |
+
</all>
|
| 220 |
+
</complexType>
|
| 221 |
+
<complexType name="oroWishlistStatusEntityArray">
|
| 222 |
+
<complexContent>
|
| 223 |
+
<restriction base="soapenc:Array">
|
| 224 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistStatusEntity[]" />
|
| 225 |
+
</restriction>
|
| 226 |
+
</complexContent>
|
| 227 |
+
</complexType>
|
| 228 |
+
<!-- Oro Wishlist Status -->
|
| 229 |
+
|
| 230 |
<!-- Report Product Viewed -->
|
| 231 |
<complexType name="reportProductViewedEntity">
|
| 232 |
<all>
|
| 278 |
<element name="version" type="xsd:string" minOccurs="0" />
|
| 279 |
<element name="mage_version" type="xsd:string" minOccurs="0" />
|
| 280 |
<element name="admin_url" type="xsd:string" minOccurs="0" />
|
| 281 |
+
<element name="customer_scope" type="xsd:int" minOccurs="0" />
|
| 282 |
</all>
|
| 283 |
</complexType>
|
| 284 |
|
| 436 |
<output message="typens:wishlistItemListResponse"/>
|
| 437 |
</operation>
|
| 438 |
|
| 439 |
+
<operation name="oroWishlistList">
|
| 440 |
+
<documentation>Get wishlist collection with items</documentation>
|
| 441 |
+
<input message="typens:oroWishlistListRequest"/>
|
| 442 |
+
<output message="typens:oroWishlistListResponse"/>
|
| 443 |
+
</operation>
|
| 444 |
+
|
| 445 |
+
<operation name="oroWishlistStatusList">
|
| 446 |
+
<documentation>Get wishlist Status collection</documentation>
|
| 447 |
+
<input message="typens:oroWishlistStatusListRequest"/>
|
| 448 |
+
<output message="typens:oroWishlistStatusListResponse"/>
|
| 449 |
+
</operation>
|
| 450 |
+
|
| 451 |
<operation name="reportProductViewedList">
|
| 452 |
+
<documentation>Get product viewed collection</documentation>
|
| 453 |
<input message="typens:reportProductViewedListRequest"/>
|
| 454 |
<output message="typens:reportProductViewedListResponse"/>
|
| 455 |
</operation>
|
| 553 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
| 554 |
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
| 555 |
</operation>
|
| 556 |
+
<operation name="oroWishlistList">
|
| 557 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
| 558 |
+
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
| 559 |
+
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
| 560 |
+
</operation>
|
| 561 |
+
<operation name="oroWishlistStatusList">
|
| 562 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
| 563 |
+
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
| 564 |
+
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
| 565 |
+
</operation>
|
| 566 |
<operation name="reportProductViewedList">
|
| 567 |
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
| 568 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
| 675 |
<message name="wishlistItemListResponse">
|
| 676 |
<part name="result" type="typens:wishlistItemEntityArray" />
|
| 677 |
</message>
|
| 678 |
+
<!-- Oro Wishlist -->
|
| 679 |
+
<message name="oroWishlistListRequest">
|
| 680 |
+
<part name="sessionId" type="xsd:string" />
|
| 681 |
+
<part name="filters" type="typens:filters" />
|
| 682 |
+
<part name="pager" type="typens:pager" />
|
| 683 |
+
</message>
|
| 684 |
+
<message name="oroWishlistListResponse">
|
| 685 |
+
<part name="result" type="typens:oroWishlistEntityArray" />
|
| 686 |
+
</message>
|
| 687 |
+
<!-- Oro Wishlist -->
|
| 688 |
+
<!-- Oro Wishlist Status -->
|
| 689 |
+
<message name="oroWishlistStatusListRequest">
|
| 690 |
+
<part name="sessionId" type="xsd:string" />
|
| 691 |
+
<part name="filters" type="typens:filters" />
|
| 692 |
+
<part name="pager" type="typens:pager" />
|
| 693 |
+
</message>
|
| 694 |
+
<message name="oroWishlistStatusListResponse">
|
| 695 |
+
<part name="result" type="typens:oroWishlistStatusEntityArray" />
|
| 696 |
+
</message>
|
| 697 |
+
<!-- Oro Wishlist Status -->
|
| 698 |
|
| 699 |
<!-- Report Product Viewed -->
|
| 700 |
<message name="reportProductViewedListRequest">
|
app/code/community/Oro/Api/etc/wsi.xml
CHANGED
|
@@ -75,6 +75,7 @@
|
|
| 75 |
<xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
| 76 |
<xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
| 77 |
<xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
|
|
|
|
| 78 |
|
| 79 |
<xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 80 |
<xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
|
@@ -145,6 +146,64 @@
|
|
| 145 |
</xsd:sequence>
|
| 146 |
</xsd:complexType>
|
| 147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
<!-- Report Product Viewed -->
|
| 149 |
<xsd:complexType name="reportProductViewedEntity">
|
| 150 |
<xsd:sequence>
|
|
@@ -197,6 +256,7 @@
|
|
| 197 |
<xsd:element name="version" type="xsd:string" minOccurs="0" />
|
| 198 |
<xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
|
| 199 |
<xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
|
|
|
|
| 200 |
</xsd:sequence>
|
| 201 |
</xsd:complexType>
|
| 202 |
|
|
@@ -542,6 +602,8 @@
|
|
| 542 |
<xsd:complexType>
|
| 543 |
<xsd:sequence>
|
| 544 |
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
|
|
|
|
|
|
| 545 |
</xsd:sequence>
|
| 546 |
</xsd:complexType>
|
| 547 |
</xsd:element>
|
|
@@ -643,6 +705,16 @@
|
|
| 643 |
<wsdl:part name="result" element="typens:wishlistItemEntityArray" />
|
| 644 |
</wsdl:message>
|
| 645 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 646 |
<!-- Report Product Viewed -->
|
| 647 |
<wsdl:message name="reportProductViewedListRequest">
|
| 648 |
<wsdl:part name="sessionId" element="xsd:string" />
|
|
@@ -772,8 +844,20 @@
|
|
| 772 |
<wsdl:output message="typens:wishlistItemListResponse"/>
|
| 773 |
</wsdl:operation>
|
| 774 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 775 |
<wsdl:operation name="reportProductViewedList">
|
| 776 |
-
<wsdl:documentation>Get
|
| 777 |
<wsdl:input message="typens:reportProductViewedListRequest"/>
|
| 778 |
<wsdl:output message="typens:reportProductViewedListResponse"/>
|
| 779 |
</wsdl:operation>
|
|
@@ -925,6 +1009,24 @@
|
|
| 925 |
<soap:body use="literal" />
|
| 926 |
</wsdl:output>
|
| 927 |
</wsdl:operation>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 928 |
<wsdl:operation name="reportProductViewedList">
|
| 929 |
<soap:operation soapAction=""/>
|
| 930 |
<wsdl:input>
|
| 75 |
<xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
| 76 |
<xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
| 77 |
<xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
|
| 78 |
+
<xsd:element name="gift_message" type="xsd:string" minOccurs="0" />
|
| 79 |
|
| 80 |
<xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 81 |
<xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
| 146 |
</xsd:sequence>
|
| 147 |
</xsd:complexType>
|
| 148 |
|
| 149 |
+
<!-- Oro Wishlist -->
|
| 150 |
+
<xsd:complexType name="oroWishlistEntity">
|
| 151 |
+
<xsd:sequence>
|
| 152 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 153 |
+
<xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
|
| 154 |
+
<xsd:element name="shared" type="xsd:string" minOccurs="0" />
|
| 155 |
+
<xsd:element name="sharing_code" type="xsd:string" minOccurs="0" />
|
| 156 |
+
<xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
|
| 157 |
+
<xsd:element name="name" type="xsd:string" minOccurs="0" />
|
| 158 |
+
<xsd:element name="visibility" type="xsd:string" minOccurs="0" />
|
| 159 |
+
<xsd:element name="customer_email" type="xsd:string" minOccurs="0" />
|
| 160 |
+
<xsd:element name="items" type="typens:oroWishlistItemEntityArray" minOccurs="0"/>
|
| 161 |
+
</xsd:sequence>
|
| 162 |
+
</xsd:complexType>
|
| 163 |
+
|
| 164 |
+
<xsd:complexType name="oroWishlistEntityArray">
|
| 165 |
+
<xsd:sequence>
|
| 166 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistEntity" />
|
| 167 |
+
</xsd:sequence>
|
| 168 |
+
</xsd:complexType>
|
| 169 |
+
|
| 170 |
+
<xsd:complexType name="oroWishlistItemEntity">
|
| 171 |
+
<xsd:sequence>
|
| 172 |
+
<xsd:element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
|
| 173 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 174 |
+
<xsd:element name="product_id" type="xsd:string" minOccurs="0" />
|
| 175 |
+
<xsd:element name="store_id" type="xsd:string" minOccurs="0" />
|
| 176 |
+
<xsd:element name="website_id" type="xsd:string" minOccurs="0" />
|
| 177 |
+
<xsd:element name="added_at" type="xsd:string" minOccurs="0" />
|
| 178 |
+
<xsd:element name="description" type="xsd:string" minOccurs="0" />
|
| 179 |
+
<xsd:element name="qty" type="xsd:string" minOccurs="0" />
|
| 180 |
+
<xsd:element name="sku" type="xsd:string" minOccurs="0" />
|
| 181 |
+
<xsd:element name="product_name" type="xsd:string" minOccurs="0" />
|
| 182 |
+
</xsd:sequence>
|
| 183 |
+
</xsd:complexType>
|
| 184 |
+
|
| 185 |
+
<xsd:complexType name="oroWishlistItemEntityArray">
|
| 186 |
+
<xsd:sequence>
|
| 187 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistItemEntity" />
|
| 188 |
+
</xsd:sequence>
|
| 189 |
+
</xsd:complexType>
|
| 190 |
+
<!-- Oro Wishlist -->
|
| 191 |
+
|
| 192 |
+
<!-- Oro Wishlist Status-->
|
| 193 |
+
<xsd:complexType name="oroWishlistStatusEntity">
|
| 194 |
+
<xsd:sequence>
|
| 195 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
| 196 |
+
<xsd:element name="deleted_at" type="xsd:string" minOccurs="0" />
|
| 197 |
+
</xsd:sequence>
|
| 198 |
+
</xsd:complexType>
|
| 199 |
+
|
| 200 |
+
<xsd:complexType name="oroWishlistStatusEntityArray">
|
| 201 |
+
<xsd:sequence>
|
| 202 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistStatusEntity" />
|
| 203 |
+
</xsd:sequence>
|
| 204 |
+
</xsd:complexType>
|
| 205 |
+
<!-- Oro Wishlist Status-->
|
| 206 |
+
|
| 207 |
<!-- Report Product Viewed -->
|
| 208 |
<xsd:complexType name="reportProductViewedEntity">
|
| 209 |
<xsd:sequence>
|
| 256 |
<xsd:element name="version" type="xsd:string" minOccurs="0" />
|
| 257 |
<xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
|
| 258 |
<xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
|
| 259 |
+
<xsd:element name="customer_scope" type="xsd:int" minOccurs="0" />
|
| 260 |
</xsd:sequence>
|
| 261 |
</xsd:complexType>
|
| 262 |
|
| 602 |
<xsd:complexType>
|
| 603 |
<xsd:sequence>
|
| 604 |
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
| 605 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
|
| 606 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
|
| 607 |
</xsd:sequence>
|
| 608 |
</xsd:complexType>
|
| 609 |
</xsd:element>
|
| 705 |
<wsdl:part name="result" element="typens:wishlistItemEntityArray" />
|
| 706 |
</wsdl:message>
|
| 707 |
|
| 708 |
+
<!-- Oro Wishlist -->
|
| 709 |
+
<wsdl:message name="oroWishlistItemListRequest">
|
| 710 |
+
<wsdl:part name="sessionId" element="xsd:string" />
|
| 711 |
+
<wsdl:part name="filters" element="typens:filters" />
|
| 712 |
+
</wsdl:message>
|
| 713 |
+
<wsdl:message name="oroWishlistItemListResponse">
|
| 714 |
+
<wsdl:part name="result" element="typens:oroWishlistItemEntityArray" />
|
| 715 |
+
</wsdl:message>
|
| 716 |
+
<!-- Oro Wishlist -->
|
| 717 |
+
|
| 718 |
<!-- Report Product Viewed -->
|
| 719 |
<wsdl:message name="reportProductViewedListRequest">
|
| 720 |
<wsdl:part name="sessionId" element="xsd:string" />
|
| 844 |
<wsdl:output message="typens:wishlistItemListResponse"/>
|
| 845 |
</wsdl:operation>
|
| 846 |
|
| 847 |
+
<wsdl:operation name="oroWishlistList">
|
| 848 |
+
<wsdl:documentation>Get wishlist collection with items</wsdl:documentation>
|
| 849 |
+
<wsdl:input message="typens:oroWishlistListRequest"/>
|
| 850 |
+
<wsdl:output message="typens:oroWishlistListResponse"/>
|
| 851 |
+
</wsdl:operation>
|
| 852 |
+
|
| 853 |
+
<wsdl:operation name="oroWishlistStatusList">
|
| 854 |
+
<wsdl:documentation>Get wishlist collection with items</wsdl:documentation>
|
| 855 |
+
<wsdl:input message="typens:oroWishlistStatusListRequest"/>
|
| 856 |
+
<wsdl:output message="typens:oroWishlistStatusListResponse"/>
|
| 857 |
+
</wsdl:operation>
|
| 858 |
+
|
| 859 |
<wsdl:operation name="reportProductViewedList">
|
| 860 |
+
<wsdl:documentation>Get product viewed collection</wsdl:documentation>
|
| 861 |
<wsdl:input message="typens:reportProductViewedListRequest"/>
|
| 862 |
<wsdl:output message="typens:reportProductViewedListResponse"/>
|
| 863 |
</wsdl:operation>
|
| 1009 |
<soap:body use="literal" />
|
| 1010 |
</wsdl:output>
|
| 1011 |
</wsdl:operation>
|
| 1012 |
+
<wsdl:operation name="oroWishlistList">
|
| 1013 |
+
<soap:operation soapAction=""/>
|
| 1014 |
+
<wsdl:input>
|
| 1015 |
+
<soap:body use="literal" />
|
| 1016 |
+
</wsdl:input>
|
| 1017 |
+
<wsdl:output>
|
| 1018 |
+
<soap:body use="literal" />
|
| 1019 |
+
</wsdl:output>
|
| 1020 |
+
</wsdl:operation>
|
| 1021 |
+
<wsdl:operation name="oroWishlistStatusList">
|
| 1022 |
+
<soap:operation soapAction=""/>
|
| 1023 |
+
<wsdl:input>
|
| 1024 |
+
<soap:body use="literal" />
|
| 1025 |
+
</wsdl:input>
|
| 1026 |
+
<wsdl:output>
|
| 1027 |
+
<soap:body use="literal" />
|
| 1028 |
+
</wsdl:output>
|
| 1029 |
+
</wsdl:operation>
|
| 1030 |
<wsdl:operation name="reportProductViewedList">
|
| 1031 |
<soap:operation soapAction=""/>
|
| 1032 |
<wsdl:input>
|
app/code/community/Oro/Api/sql/oro_api_setup/install-1.2.5.php
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/* @var $installer Oro_Api_Model_Resource_Setup */
|
| 20 |
+
$installer = $this;
|
app/code/community/Oro/Api/sql/oro_api_setup/upgrade-1.2.5.0-1.2.5.1.php
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Oro Inc.
|
| 4 |
+
*
|
| 5 |
+
* NOTICE OF LICENSE
|
| 6 |
+
*
|
| 7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
| 9 |
+
* If you did not receive a copy of the license and are unable to
|
| 10 |
+
* obtain it through the world-wide-web, please send an email
|
| 11 |
+
* to license@magecore.com so we can send you a copy immediately
|
| 12 |
+
*
|
| 13 |
+
* @category Oro
|
| 14 |
+
* @package Oro_Api
|
| 15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
| 16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
/* @var $installer Oro_Api_Model_Resource_Setup */
|
| 20 |
+
$installer = $this;
|
| 21 |
+
|
| 22 |
+
$installer->startSetup();
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Create table 'oro_api/wishlist_status'
|
| 26 |
+
*/
|
| 27 |
+
$table = $installer->getConnection()
|
| 28 |
+
->newTable($installer->getTable('oro_api/wishlist_status'))
|
| 29 |
+
->addColumn('wishlist_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
|
| 30 |
+
'unsigned' => true,
|
| 31 |
+
'nullable' => false,
|
| 32 |
+
'primary' => true,
|
| 33 |
+
), 'Wishlist ID')
|
| 34 |
+
->addColumn('website_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
|
| 35 |
+
'unsigned' => true,
|
| 36 |
+
), 'Website Id')
|
| 37 |
+
->addColumn('deleted_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
|
| 38 |
+
), 'Wishlist Deletion Time')
|
| 39 |
+
->setComment('Wishlist Deletion Status Table');
|
| 40 |
+
$installer->getConnection()->createTable($table);
|
| 41 |
+
|
| 42 |
+
$installer->endSetup();
|
app/etc/modules/Oro_Api.xml
CHANGED
|
@@ -22,6 +22,9 @@
|
|
| 22 |
<Oro_Api>
|
| 23 |
<active>true</active>
|
| 24 |
<codePool>community</codePool>
|
|
|
|
|
|
|
|
|
|
| 25 |
</Oro_Api>
|
| 26 |
</modules>
|
| 27 |
</config>
|
| 22 |
<Oro_Api>
|
| 23 |
<active>true</active>
|
| 24 |
<codePool>community</codePool>
|
| 25 |
+
<depends>
|
| 26 |
+
<Mage_Api/>
|
| 27 |
+
</depends>
|
| 28 |
</Oro_Api>
|
| 29 |
</modules>
|
| 30 |
</config>
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Oro_Api</name>
|
| 4 |
-
<version>1.2.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -10,9 +10,9 @@
|
|
| 10 |
<description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
|
| 11 |
<notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
|
| 12 |
<authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
|
| 13 |
-
<date>
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Oro_Api</name>
|
| 4 |
+
<version>1.2.7.0</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
|
| 7 |
<channel>community</channel>
|
| 10 |
<description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
|
| 11 |
<notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
|
| 12 |
<authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
|
| 13 |
+
<date>2016-09-08</date>
|
| 14 |
+
<time>10:08:48</time>
|
| 15 |
+
<contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="3f60d322fbdeea0f751addadc3d0b10e"/></dir><dir name="Model"><dir name="Catalog"><dir name="Product"><dir name="Api"><file name="V2.php" hash="9fe5e65e1b189ba6a9fed25fe8d858d6"/></dir></dir></dir><dir name="Customer"><dir name="Address"><dir name="Api"><file name="V2.php" hash="d78fb25439d4c4f172f8ff49dc24439d"/></dir><file name="Api.php" hash="bc68a17a8b3f4ef84d4887c9bbe148f0"/></dir><dir name="Api"><file name="V2.php" hash="89fc6f16e7f452438d4927669ea0f0de"/></dir><file name="Api.php" hash="36e09efd92d3ecb1d4dc833f3c259ad3"/></dir><dir name="Newsletter"><dir name="Subscriber"><dir name="Api"><file name="V2.php" hash="7b18db294f86ccf841a95aa7b7e656af"/></dir><file name="Api.php" hash="ac35ba0bb921258495149509fdb1b66e"/></dir></dir><dir name="Observer"><dir name="Crm"><file name="Controller.php" hash="7b3ec12f8934af2cb97ee21d7cd1c903"/></dir><dir name="Sales"><file name="Order.php" hash="81e2f8992f57a406130c893072365782"/></dir></dir><file name="Observer.php" hash="cf5202298ae9319e731ef8b5845a36a1"/><dir name="Ping"><file name="V2.php" hash="0fa10110ecb67d32079c5530a979c55a"/></dir><file name="Ping.php" hash="223e546950e0f7c23dfcc567e44893a3"/><dir name="Report"><dir name="Product"><dir name="Viewed"><dir name="Api"><file name="V2.php" hash="c8481504cefd028a17cc4a6555182ad0"/></dir><file name="Api.php" hash="fe175f2aab97cafa47574f1da2e169a3"/></dir></dir></dir><dir name="Resource"><dir name="Reports"><dir name="Product"><dir name="Index"><dir name="Viewed"><file name="Collection.php" hash="199749c5c972ab305abff0c9b10e9954"/></dir></dir></dir></dir><file name="Setup.php" hash="4186114dd1317db2c98d54089d7edf89"/><dir name="Wishlist"><dir name="Status"><file name="Collection.php" hash="c700fba4fcdf3c229cac1636c09e6d63"/></dir><file name="Status.php" hash="2af51c733fd1a967d0c540b7d8db9f76"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Api"><file name="V2.php" hash="0621bd68c420feb8000dae6861c49369"/></dir><file name="Api.php" hash="9a38a73ed31bdc4a681478be4456cedf"/></dir><dir name="Quote"><dir name="Api"><file name="V2.php" hash="4e8ba0ed7757110c4eae1d239b2adf76"/></dir><file name="Api.php" hash="5d279114dda6adff26e85a7af3641570"/></dir></dir><dir name="Website"><dir name="Api"><file name="V2.php" hash="aa9ab487ab696216d287be68dac262a6"/></dir><file name="Api.php" hash="a7cc7c6b06873e6d63b5d393cd50fd9b"/></dir><dir name="Wishlist"><dir name="Api"><file name="V2.php" hash="f0ac63e1cf9440ed0e4ca72eb93834f2"/></dir><file name="Api.php" hash="db30a7c3c9fbd7ff5fa6dcf7ba4c594f"/><dir name="Item"><dir name="Api"><file name="V2.php" hash="43a919dae8dd432e211878a39ba3f4a2"/></dir><file name="Api.php" hash="8d5d856ea533b9b122c96d0bef32861b"/></dir><file name="Observer.php" hash="475495be5a367730dfdf1ffbc20b54fa"/><dir name="Status"><dir name="Api"><file name="V2.php" hash="37a227a428a277ace34cbb25d30e92c2"/></dir><file name="Api.php" hash="25789253dbd23561aabaf62aba3a982c"/></dir><file name="Status.php" hash="0fe5e02ae58a405adbc7b69a282acdab"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oro"><file name="GatewayController.php" hash="aca4efd099a889a77fb119356d9fab23"/><file name="SalesController.php" hash="3cd40b74eafe18fc6885ce871e305c5c"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b3298b50c6f9556d36055f01cdfeb180"/><file name="api.xml" hash="f7bfee159a0af513bc55a82c270c2caf"/><file name="config.xml" hash="617796a28a194e16d9a9a5c318d343e6"/><file name="system.xml" hash="d42daecd30f4b9a1de9952fa1041bfbe"/><file name="workflow.xml" hash="40e7f46d53156e77b1d5498769e8f6cc"/><file name="wsdl.xml" hash="02b59d257447b63b80019dc9755c3b67"/><file name="wsi.xml" hash="8cbeca1823c055abf2576b18562067dc"/></dir><dir name="sql"><dir name="oro_api_setup"><file name="install-1.2.5.php" hash="d7c5d2ef1ebfd4f6084aa48d318fe307"/><file name="upgrade-1.2.5.0-1.2.5.1.php" hash="7946d51070254f4230c90da2e97801e8"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Oro_Api.xml" hash="9e6e71fac0eecdb2eb3d5589a19aa60e"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="oro"><dir><dir name="api"><file name="check.phtml" hash="142e380fa9eae5c0b7f233d519d13dc7"/><file name="login_styles.phtml" hash="a89d5d690702cf8296d76923b85e4ced"/><file name="page.phtml" hash="e9359e49019bbaa6e8b77e2a0ec458dd"/><file name="script.phtml" hash="89c3810165995c0ef6a0f5ad3b39f41f"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="oro"><file name="add_button_icon_dark.png" hash="01929b4351b537427035ba0f4df61689"/><file name="apply_button_icon.png" hash="4fc6fffbf943e82ea2b1a0022ec329e1"/><file name="error.png" hash="0caf3533e40e7f425d206803ef6e1876"/><file name="grid_sort_asc.gif" hash="8a86df764d4219dc0cf04f8529165cef"/><file name="grid_sort_desc.gif" hash="4f493deb94cb0eb0c6401e7f6bf6e0af"/><file name="loader.gif" hash="edf214475c8e79574dac3687926fc62b"/></dir></dir><file name="oro_style.css" hash="fd0609bb04a1f6748c06dd17a2946a54"/></dir></dir></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
|
| 18 |
</package>
|
