Overview

Namespaces

  • None
  • PHP

Classes

  • Eabi_DpdEE_Block_Adminhtml_Config_Form_Field_Country
  • Eabi_DpdEE_Block_Info_Payment
  • Eabi_DpdEE_Block_Invoice
  • Eabi_DpdEE_Block_Order_Courier
  • Eabi_DpdEE_Helper_Data
  • Eabi_DpdEE_Model_Api
  • Eabi_DpdEE_Model_Button_Courier
  • Eabi_DpdEE_Model_Config
  • Eabi_DpdEE_Model_Flat
  • Eabi_DpdEE_Model_Observer
  • Eabi_DpdEE_Model_Payment_Processor
  • Eabi_DpdEE_Model_Post
  • Eabi_DpdEE_Model_Source_Label_Position
  • Eabi_DpdEE_Model_Source_Service
  • Eabi_Livehandler_Adminhtml_LivehandlerController
  • Eabi_Livehandler_Adminhtml_RemoveController
  • Eabi_Livehandler_Block_Adminhtml_Config_Form_Field_Button
  • Eabi_Livehandler_Block_Adminhtml_Config_Form_Field_Remove
  • Eabi_Livehandler_Block_Email
  • Eabi_LiveHandler_Block_Footer
  • Eabi_Livehandler_Helper_Data
  • Eabi_Livehandler_Helper_Keypair
  • Eabi_Livehandler_IndexController
  • Eabi_Livehandler_Model_Abstract
  • Eabi_Livehandler_Model_Action_Abstract
  • Eabi_Livehandler_Model_Action_Postoffice_Print
  • Eabi_Livehandler_Model_Action_Postoffice_Send
  • Eabi_Livehandler_Model_Adminhtml_Gridmanager
  • Eabi_Livehandler_Model_Directory_Collection
  • Eabi_Livehandler_Model_Entry
  • Eabi_Livehandler_Model_File_Object
  • Eabi_Livehandler_Model_Mysql4_Entry
  • Eabi_Livehandler_Model_Mysql4_Entry_Collection
  • Eabi_Livehandler_Model_Ordergrid
  • Eabi_Livehandler_Model_System_Config_Backend_Button
  • Eabi_Postoffice_Adminhtml_PostofficeController
  • Eabi_Postoffice_Block_Adminhtml_Config_Form_Field_License
  • Eabi_Postoffice_Block_Adminhtml_Config_Form_Field_Remove
  • Eabi_Postoffice_Block_Config_Rebuildbutton
  • Eabi_Postoffice_Helper_Countrycode
  • Eabi_Postoffice_Helper_Data
  • Eabi_Postoffice_IndexController
  • Eabi_Postoffice_Model_Carrier_Abstract
  • Eabi_Postoffice_Model_Carrier_Result
  • Eabi_Postoffice_Model_Carriermodule
  • Eabi_Postoffice_Model_Mysql4_Carriermodule
  • Eabi_Postoffice_Model_Mysql4_Carriermodule_Collection
  • Eabi_Postoffice_Model_Mysql4_Office
  • Eabi_Postoffice_Model_Mysql4_Office_Collection
  • Eabi_Postoffice_Model_Observer
  • Eabi_Postoffice_Model_Office
  • Eabi_Postoffice_Model_Orderview
  • Eabi_Postoffice_Model_Source_Sendevent
  • Eabi_Postoffice_Model_Updater
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: /*
  3:   
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * or OpenGPL v3 license (GNU Public License V3.0)
  9:  * that is bundled with this package in the file LICENSE.txt.
 10:  * It is also available through the world-wide-web at this URL:
 11:  * http://opensource.org/licenses/osl-3.0.php
 12:  * or
 13:  * http://www.gnu.org/licenses/gpl-3.0.txt
 14:  * If you did not receive a copy of the license and are unable to
 15:  * obtain it through the world-wide-web, please send an email
 16:  * to info@e-abi.ee so we can send you a copy immediately.
 17:  *
 18:  * DISCLAIMER
 19:  *
 20:  * Do not edit or add to this file if you wish to upgrade this module to newer
 21:  * versions in the future.
 22:  *
 23:  * @category   Eabi
 24:  * @package    Eabi_Dpd
 25:  * @copyright  Copyright (c) 2014 Aktsiamaailm LLC (http://en.e-abi.ee/)
 26:  * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 27:  * @license    http://www.gnu.org/licenses/gpl-3.0.txt  GNU Public License V3.0
 28:  * @author     Matis Halmann
 29:  * 
 30: 
 31:  */
 32: 
 33: /**
 34:  * <p>Renders the button under the Magento Configuration panel.</p>
 35:  * <p>Purpose of this button is to invoke the procedure, which rebuilds the list of Postoffices/Parcel terminals
 36:  * which are directly related to this carrier.</p>
 37:  * <p>This button is only intended to use in the Magento -> System -> Configuration -> Shipping methods section
 38:  * and the carrier, that is using this button in the configuration panel should extend Eabi_Postoffice_Model_Carrier_Abstract class.</p>
 39:  *  
 40:  * <p>In order to use this button in the system.xml configuration use the following example:</p>
 41:  * <p><pre><code>
 42:  *                         &lt;rebuild_all translate="label"&gt;
 43:                             &lt;label&gt;Rebuild Postoffice List&lt;/label&gt;
 44:                             &lt;frontend_type&gt;label&lt;/frontend_type&gt;
 45:                             &lt;sort_order&gt;999&lt;/sort_order&gt;
 46:                             &lt;frontend_model&gt;eabi_postoffice/config_rebuildbutton&lt;/frontend_model&gt;
 47:                             &lt;show_in_default&gt;1&lt;/show_in_default&gt;
 48:                             &lt;show_in_website&gt;1&lt;/show_in_website&gt;
 49:                             &lt;show_in_store&gt;1&lt;/show_in_store&gt;
 50:                             &lt;comment&gt;If post offices are not displayed correctly, then rebuilding the list may help&lt;/comment&gt;
 51:                         &lt;/rebuild_all&gt;
 52: 
 53:  * </code>
 54:  * </pre></p>
 55:  * <p>Most important parts of this example are <b>frontend_model</b> declaration, which refers to this block. Also <b>frontend_type</b> should be label.</p>
 56:  *
 57:  * @author matishalmann
 58:  */
 59: class Eabi_Postoffice_Block_Config_Rebuildbutton extends Mage_Adminhtml_Block_System_Config_Form_Field {
 60:     
 61:     /**
 62:      *  Pre-render the element HTML.
 63:      * @param Varien_Data_Form_Element_Abstract $element
 64:      * @return string
 65:      * @throws Exception 
 66:      */
 67:     protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
 68:         $html = '';
 69:         $rebuildTextSuccess = Mage::helper('eabi_postoffice')->__('Rebuild successful');
 70:         
 71:         //get the carrier code
 72:         $transformedNames = explode('/', str_replace(array('[', ']'), array('/', ''), $element->getName()));
 73:         $carrierName = trim($transformedNames[1]);
 74:         if ($carrierName == '') {
 75:             throw new Exception('Invalid carrier name');
 76:         }
 77:         $url = Mage::helper('adminhtml')->getUrl('eabi_postoffice/adminhtml_postoffice/rebuild', array('carrier_code' => $carrierName));
 78: 
 79:         $rebuildText = Mage::helper('eabi_postoffice')->__('Rebuild postoffices for this carrier');
 80:         $rebuildTextConfirm = addslashes(sprintf(Mage::helper('eabi_postoffice')->__('Rebuilding postoffices for the carrier %s takes a little while... Continue?'), $carrierName));
 81:         
 82:         $divId = $element->getId();
 83:         
 84:         $html .= <<<EOT
 85:    <button class="scalable" type="button" onclick="{$divId}_eabi_office_rebuild(); return false;">
 86:        <span>{$rebuildText}</span>
 87:    </button>
 88: <script type="text/javascript">
 89: //<![CDATA[
 90: function {$divId}_eabi_office_rebuild() {
 91:     var confirmR = confirm("{$rebuildTextConfirm}");
 92:     if (confirmR) {
 93:         new Ajax.Request('{$url}', {
 94:             method: 'get',
 95:             onSuccess: function(transport) {
 96:                 json = transport.responseText.evalJSON(true);
 97:                 if (json) {
 98:                     if (json['error']) {
 99:                         alert(json['error']);
100:                     } else if (json['success']) {
101:                         alert('{$rebuildTextSuccess}');
102:                     }
103:                 } else {
104:                     alert('Rebuild failed!');
105:                 }
106:             }
107:         });
108:     }
109: }
110: 
111: 
112: //]]>    
113: </script>
114: 
115: EOT;
116:         
117:         return $html;
118:     }
119: }
120: 
121: 
122: 
DPD Eesti - Pakivedu.ee Shipping module for Magento API documentation generated by ApiGen 2.8.0