00001 <?php 00002 /** 00003 * Magento 00004 * 00005 * NOTICE OF LICENSE 00006 * 00007 * This source file is subject to the Open Software License (OSL 3.0) 00008 * that is bundled with this package in the file LICENSE.txt. 00009 * It is also available through the world-wide-web at this URL: 00010 * http://opensource.org/licenses/osl-3.0.php 00011 * If you did not receive a copy of the license and are unable to 00012 * obtain it through the world-wide-web, please send an email 00013 * to license@magentocommerce.com so we can send you a copy immediately. 00014 * 00015 * DISCLAIMER 00016 * 00017 * Do not edit or add to this file if you wish to upgrade Magento to newer 00018 * versions in the future. If you wish to customize Magento for your 00019 * needs please refer to http://www.magentocommerce.com for more information. 00020 * 00021 * @category Mage 00022 * @package Mage_Adminhtml 00023 * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) 00024 * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) 00025 */ 00026 00027 /** 00028 * Order history block 00029 * 00030 * @category Mage 00031 * @package Mage_Adminhtml 00032 * @author Magento Core Team <core@magentocommerce.com> 00033 */ 00034 class Mage_Adminhtml_Block_Sales_Order_View_History extends Mage_Adminhtml_Block_Template 00035 { 00036 protected function _prepareLayout() 00037 { 00038 $onclick = "submitAndReloadArea($('order_history_block').parentNode, '".$this->getSubmitUrl()."')"; 00039 $button = $this->getLayout()->createBlock('adminhtml/widget_button') 00040 ->setData(array( 00041 'label' => Mage::helper('sales')->__('Submit Comment'), 00042 'class' => 'save', 00043 'onclick' => $onclick 00044 )); 00045 $this->setChild('submit_button', $button); 00046 return parent::_prepareLayout(); 00047 } 00048 00049 public function getStatuses() 00050 { 00051 $state = $this->getOrder()->getState(); 00052 $statuses = $this->getOrder()->getConfig()->getStateStatuses($state); 00053 return $statuses; 00054 } 00055 00056 public function canSendCommentEmail() 00057 { 00058 return Mage::helper('sales')->canSendOrderCommentEmail($this->getOrder()->getStore()->getId()); 00059 } 00060 00061 /** 00062 * Retrieve order model 00063 * 00064 * @return Mage_Sales_Model_Order 00065 */ 00066 public function getOrder() 00067 { 00068 return Mage::registry('sales_order'); 00069 } 00070 00071 public function canAddComment() 00072 { 00073 return Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/comment') && 00074 $this->getOrder()->canComment(); 00075 } 00076 00077 public function getSubmitUrl() 00078 { 00079 return $this->getUrl('*/*/addComment', array('order_id'=>$this->getOrder()->getId())); 00080 } 00081 }