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_Sales
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: /**
29: * Flat sales order shipment resource
30: *
31: * @category Mage
32: * @package Mage_Sales
33: * @author Magento Core Team <core@magentocommerce.com>
34: */
35: class Mage_Sales_Model_Resource_Order_Shipment extends Mage_Sales_Model_Resource_Order_Abstract
36: {
37: /**
38: * Event prefix
39: *
40: * @var string
41: */
42: protected $_eventPrefix = 'sales_order_shipment_resource';
43:
44: /**
45: * Is grid available
46: *
47: * @var bool
48: */
49: protected $_grid = true;
50:
51: /**
52: * Use increment id
53: *
54: * @var bool
55: */
56: protected $_useIncrementId = true;
57:
58: /**
59: * Entity type for increment id
60: *
61: * @var string
62: */
63: protected $_entityTypeForIncrementId = 'shipment';
64:
65: /**
66: * Model initialization
67: *
68: */
69: protected function _construct()
70: {
71: $this->_init('sales/shipment', 'entity_id');
72: }
73:
74: /**
75: * Init virtual grid records for entity
76: *
77: * @return Mage_Sales_Model_Resource_Order_Shipment
78: */
79: protected function _initVirtualGridColumns()
80: {
81: parent::_initVirtualGridColumns();
82: $adapter = $this->getReadConnection();
83: $checkedFirstname = $adapter->getIfNullSql('{{table}}.firstname', $adapter->quote(''));
84: $checkedLastname = $adapter->getIfNullSql('{{table}}.lastname', $adapter->quote(''));
85: $concatName = $adapter->getConcatSql(array($checkedFirstname, $adapter->quote(' '), $checkedLastname));
86:
87: $this->addVirtualGridColumn(
88: 'shipping_name',
89: 'sales/order_address',
90: array('shipping_address_id' => 'entity_id'),
91: $concatName
92: )
93: ->addVirtualGridColumn(
94: 'order_increment_id',
95: 'sales/order',
96: array('order_id' => 'entity_id'),
97: 'increment_id'
98: )
99: ->addVirtualGridColumn(
100: 'order_created_at',
101: 'sales/order',
102: array('order_id' => 'entity_id'),
103: 'created_at'
104: );
105:
106: return $this;
107: }
108: }
109: