1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Adminhtml
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Adminhtml sales order create sidebar cart block
29: *
30: * @category Mage
31: * @package Mage_Adminhtml
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Reorder extends Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Abstract
35: {
36:
37: /**
38: * Storage action on selected item
39: *
40: * @var string
41: */
42: protected $_sidebarStorageAction = 'add_order_item';
43:
44: protected function _construct()
45: {
46: parent::_construct();
47: $this->setId('sales_order_create_sidebar_reorder');
48: $this->setDataId('reorder');
49: }
50:
51:
52: public function getHeaderText()
53: {
54: return Mage::helper('sales')->__('Last Ordered Items');
55: }
56:
57: /**
58: * Retrieve last order on current website
59: *
60: * @return Mage_Sales_Model_Order|false
61: */
62: public function getLastOrder()
63: {
64: $storeIds = $this->getQuote()->getStore()->getWebsite()->getStoreIds();
65: $collection = Mage::getResourceModel('sales/order_collection')
66: ->addFieldToFilter('customer_id', $this->getCustomerId())
67: ->addFieldToFilter('store_id', array('in' => $storeIds))
68: ->setOrder('created_at', 'desc')
69: ->setPageSize(1)
70: ->load();
71: foreach ($collection as $order) {
72: return $order;
73: }
74:
75: return false;
76: }
77: /**
78: * Retrieve item collection
79: *
80: * @return mixed
81: */
82: public function getItemCollection()
83: {
84: if ($order = $this->getLastOrder()) {
85: $items = array();
86: foreach ($order->getItemsCollection() as $item) {
87: if (!$item->getParentItem()) {
88: $items[] = $item;
89: }
90: }
91: return $items;
92: }
93: return false;
94: }
95:
96: public function canDisplayItemQty()
97: {
98: return false;
99: }
100:
101: public function canRemoveItems()
102: {
103: return false;
104: }
105:
106: public function canDisplayPrice()
107: {
108: return false;
109: }
110:
111: /**
112: * Retrieve identifier of block item
113: *
114: * @param Varien_Object $item
115: * @return int
116: */
117: public function getIdentifierId($item)
118: {
119: return $item->getId();
120: }
121: }
122: