*/ class Mage_GiftMessage_Block_Adminhtml_Sales_Order_View_Items extends Mage_Adminhtml_Block_Template { /** * Gift message array * * @var array */ protected $_giftMessage = array(); /** * Get Order Item * * @return Mage_Sales_Model_Order_Item */ public function getItem() { return $this->getParentBlock()->getItem(); } /** * Retrive default value for giftmessage sender * * @return string */ public function getDefaultSender() { if(!$this->getItem()) { return ''; } if($this->getItem()->getOrder()) { return $this->getItem()->getOrder()->getBillingAddress()->getName(); } return $this->getItem()->getBillingAddress()->getName(); } /** * Retrive default value for giftmessage recipient * * @return string */ public function getDefaultRecipient() { if(!$this->getItem()) { return ''; } if($this->getItem()->getOrder()) { if ($this->getItem()->getOrder()->getShippingAddress()) { return $this->getItem()->getOrder()->getShippingAddress()->getName(); } else if ($this->getItem()->getOrder()->getBillingAddress()) { return $this->getItem()->getOrder()->getBillingAddress()->getName(); } } if ($this->getItem()->getShippingAddress()) { return $this->getItem()->getShippingAddress()->getName(); } else if ($this->getItem()->getBillingAddress()) { return $this->getItem()->getBillingAddress()->getName(); } return ''; } /** * Retrive real name for field * * @param string $name * @return string */ public function getFieldName($name) { return 'giftmessage[' . $this->getItem()->getId() . '][' . $name . ']'; } /** * Retrive real html id for field * * @param string $name * @return string */ public function getFieldId($id) { return $this->getFieldIdPrefix() . $id; } /** * Retrive field html id prefix * * @return string */ public function getFieldIdPrefix() { return 'giftmessage_' . $this->getItem()->getId() . '_'; } /** * Initialize gift message for entity * * @return Mage_Adminhtml_Block_Sales_Order_Edit_Items_Grid_Renderer_Name_Giftmessage */ protected function _initMessage() { $this->_giftMessage[$this->getItem()->getGiftMessageId()] = $this->helper('giftmessage/message')->getGiftMessage($this->getItem()->getGiftMessageId()); // init default values for giftmessage form if(!$this->getMessage()->getSender()) { $this->getMessage()->setSender($this->getDefaultSender()); } if(!$this->getMessage()->getRecipient()) { $this->getMessage()->setRecipient($this->getDefaultRecipient()); } return $this; } /** * Retrive gift message for entity * * @return Mage_GiftMessage_Model_Message */ public function getMessage() { if(!isset($this->_giftMessage[$this->getItem()->getGiftMessageId()])) { $this->_initMessage(); } return $this->_giftMessage[$this->getItem()->getGiftMessageId()]; } /** * Retrieve save url * * @return array */ public function getSaveUrl() { return $this->getUrl('*/sales_order_view_giftmessage/save', array( 'entity' => $this->getItem()->getId(), 'type' => 'order_item', 'reload' => true )); } /** * Retrive block html id * * @return string */ public function getHtmlId() { return substr($this->getFieldIdPrefix(), 0, -1); } /** * Indicates that block can display giftmessages form * * @return boolean */ public function canDisplayGiftmessage() { return $this->getItem()->getGiftMessageId(); } /** * Retrieve gift message sender * * @return string */ public function getSender() { return $this->htmlEscape($this->getMessage()->getSender()); } /** * Retrieve gift message recipient * * @return string */ public function getRecipient() { return $this->htmlEscape($this->getMessage()->getRecipient()); } /** * Retrieve gift message text * * @return string */ public function getMessageText() { return $this->htmlEscape($this->getMessage()->getMessage()); } }