00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 class Mage_Adminhtml_Block_System_Config_Form_Fieldset_Order_Statuses
00029 extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
00030 {
00031 protected $_dummyElement;
00032 protected $_fieldRenderer;
00033 protected $_values;
00034
00035 public function render(Varien_Data_Form_Element_Abstract $element)
00036 {
00037 $html = '';
00038
00039 $statuses = Mage::getResourceModel('sales/order_status_collection')->load()->toOptionHash();
00040
00041 foreach ($statuses as $id => $status) {
00042 $html.= $this->_getFieldHtml($element, $id, $status);
00043 }
00044 #$html .= $this->_getFooterHtml($element);
00045
00046 return $html;
00047 }
00048
00049 protected function _getDummyElement()
00050 {
00051 if (empty($this->_dummyElement)) {
00052 $this->_dummyElement = new Varien_Object(array('show_in_default'=>1, 'show_in_website'=>1));
00053 }
00054 return $this->_dummyElement;
00055 }
00056
00057 protected function _getFieldRenderer()
00058 {
00059 if (empty($this->_fieldRenderer)) {
00060 $this->_fieldRenderer = Mage::getBlockSingleton('adminhtml/system_config_form_field');
00061 }
00062 return $this->_fieldRenderer;
00063 }
00064
00065 protected function _getFieldHtml($fieldset, $id, $status)
00066 {
00067 $configData = $this->getConfigData();
00068 $path = 'sales/order_statuses/status_'.$id;
00069 $data = isset($configData[$path]) ? $configData[$path] : array();
00070
00071 $e = $this->_getDummyElement();
00072
00073 $field = $fieldset->addField($id, 'text',
00074 array(
00075 'name' => 'groups[order_statuses][fields][status_'.$id.'][value]',
00076 'label' => $status,
00077 'value' => isset($data['value']) ? $data['value'] : $status,
00078 'default_value' => isset($data['default_value']) ? $data['default_value'] : '',
00079 'old_value' => isset($data['old_value']) ? $data['old_value'] : '',
00080 'inherit' => isset($data['inherit']) ? $data['inherit'] : '',
00081 'can_use_default_value' => $this->getForm()->canUseDefaultValue($e),
00082 'can_use_website_value' => $this->getForm()->canUseWebsiteValue($e),
00083 ))->setRenderer($this->_getFieldRenderer());
00084
00085 return $field->toHtml();
00086 }
00087
00088 }