From f46728c280567842be1a889155525e2c6931d924 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Sun, 21 Dec 2014 22:56:03 +0100 Subject: [PATCH] Add counter table (not yet fully editable, but on its way); add counter scopes --- .gitignore | 3 + .../OpenTools/Ordernumber/Block/Counters.php | 242 ++++++++++++++++++ .../Ordernumber/Block/Replacements.php | 125 +++++++++ .../Ordernumber/Model/Backend/Counters.php | 15 ++ .../Ordernumber/Model/Ordernumber.php | 12 + .../Ordernumber/Model/Source/Reset.php | 17 ++ .../Ordernumber/Model/Source/Scope.php | 15 ++ .../OpenTools/Ordernumber/etc/config.xml | 21 +- .../OpenTools/Ordernumber/etc/system.xml | 89 ++++++- .../install-0.1.0.php | 3 + var/connect/OpenTools_Ordernumber.xml | 4 +- 11 files changed, 535 insertions(+), 11 deletions(-) create mode 100644 .gitignore create mode 100644 app/code/community/OpenTools/Ordernumber/Block/Counters.php create mode 100644 app/code/community/OpenTools/Ordernumber/Block/Replacements.php create mode 100644 app/code/community/OpenTools/Ordernumber/Model/Backend/Counters.php create mode 100644 app/code/community/OpenTools/Ordernumber/Model/Source/Reset.php create mode 100644 app/code/community/OpenTools/Ordernumber/Model/Source/Scope.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a38d4b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.buildpath +.project +.settings diff --git a/app/code/community/OpenTools/Ordernumber/Block/Counters.php b/app/code/community/OpenTools/Ordernumber/Block/Counters.php new file mode 100644 index 0000000..aca32e4 --- /dev/null +++ b/app/code/community/OpenTools/Ordernumber/Block/Counters.php @@ -0,0 +1,242 @@ +<?php +class OpenTools_Ordernumber_Block_Counters extends Mage_Adminhtml_Block_System_Config_Form_Field +{ + protected $_addRowButtonHtml = array(); + protected $_addRowDeleteButtonHtml = array(); + protected $_editRowButtonHtml = array(); + protected $_removeRowButtonHtml = array(); + protected $_types = null; + + protected $_dbModel = null; + protected function _getModel() { + return Mage::getModel('opentools_ordernumber/ordernumber'); + } + public function getModel() { + if (is_null($this->_dbModel)) + $this->_dbModel = $this->_getModel(); + return $this->_dbModel; + } + + public function getNumberTypes() { + if (is_null($this->_types)) { + $this->_types = $this->getModel()->getNumberTypes(); + } + return $this->_types; + } + + function logitem($label, $item) { + Mage::Log($label . " " . get_class($item) . "\n", null, 'ordernumber.log'); + Mage::Log(is_array($item)?$item:$item->debug(), null, 'ordernumber.log'); + Mage::Log(get_class_methods(get_class($item)), null, 'ordernumber.log'); + } + + /** + * Returns html part of the setting + * + * @param Varien_Data_Form_Element_Abstract $element + * @return string + */ + public function render(Varien_Data_Form_Element_Abstract $element) + { + $this->setElement($element); + +$this->logitem("adminhtml/system_store: ", Mage::getSingleton('adminhtml/system_store')); +$this->logitem("adminhtml/system_store store values for form: ", Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(true, true)); +$this->logitem("adminhtml/system_store website values for form: ", Mage::getSingleton('adminhtml/system_store')->getWebsiteValuesForForm(true, true)); +$this->logitem("adminhtml/system_store stores structure: ", Mage::getSingleton('adminhtml/system_store')->getStoresStructure(true)); +$html = ''; + $html .= '<table id="ordernumber_counters_template_table" style="display:none">'; + $html .= $this->_getRowHtmlNew(); + $html .= '</table>'; + + $html .= '<div class="grid"><table id="ordernumber_counters_table" class="data" style="width: 100%;">'; + $html .= $this->_getRowHeader(); + + $collection = $this->getModel()->getCollection(); + foreach ($collection as $counter) { + $html .= $this->_getRowHtml($counter); + } + + $html .= '</table></div>'; + + return '<tr id="row_' . $element->getHtmlId() . '"><td colspan="5">' . $html . '</td></tr>'; + } + + /** + * Retrieve html for the table header + * @return string + */ + protected function _getRowHeader() + { + $html = '<tr class="headings">'; + $html .= '<th>Counter Type</th>'; + $html .= '<th>Scope</th>'; + $html .= '<th>Counter Name</th>'; + $html .= '<th>Counter</th>'; + $html .= '<th>' . $this->_getAddRowButtonHtml('ordernumber_counters_table', + 'ordernumber_counters_template_table', $this->__('Add New Counter')) . '</th>'; + $html .= '</tr>'; + return $html; + } + + /** + * Retrieve html template for new counters + * + * @return string + */ + protected function _getRowHtmlNew() + { + $html = '<tr>'; + $html .= '<td>' . $this->_getNumberTypeSelect($this->getElement()->getName() . '[new_counter_type][]') . '</td>'; + // TODO: Turn the text input to a select box + $html .= '<td>' . $this->_getNumberScopeSelect($this->getElement()->getName() . '[new_counter_scope][]') . '</td>'; + $html .= '<td><input type="text" name="' . $this->getElement()->getName() . '[new_counter_name][]" /></td>'; + $html .= '<td><input class="counter_edit validate-not-negative-number input-text" type="text" name="' . $this->getElement()->getName() . '[new_counter_value][]" /></td>'; + $html .= '<td>' . $this->_getAddRowDeleteButtonHtml() . '</td>'; + $html .= '</tr>'; + return $html; + } + + protected function _getNumberTypeSelect($name, $id='', $current=null) + { + $options = array(); + foreach ($this->getNumberTypes() as $type=>$label) { + $options[] = array('value'=>$type, 'label'=>$label); + } + $html = $this->getLayout()->createBlock('core/html_select') + ->setName($name) + ->setValue($current) + ->setOptions($options) + ->setDisabled($this->_getDisabled) + ->toHtml(); + return $html; + } + + protected function _getNumberScopeSelect($name, $id='', $current=null) + { + // TODO: Create the tree similar to ./app/code/core/Mage/Adminhtml/Model/System/Store.php, + // but let the user select websites and groups, too. +// $options = Mage::getSingleton('adminhtml/system_store')->getStoresStructure(true); + $options = Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(true, true); + $html = $this->getLayout()->createBlock('core/html_select') + ->setName($name) + ->setValue($current) + ->setOptions($options) + ->setDisabled($this->_getDisabled) + ->toHtml(); + return $html; + } + + /** + * Retrieve html template for setting + * + * @param int $rowIndex + * @return string + */ + protected function _getRowHtml($counter) + { + static $class='odd'; + + $html = '<tr class="'.$class.'">'; + $class = ($class=='odd')?'even':'odd'; + $types = $this->getNumberTypes(); + $html .= '<td class="ordernumber_type">'.$types[$counter->getNumberType()].'</td>'; + + $scopes = array(); + if ($counter->getWebsiteId()==0) { + $scopes[] = $this->__('Global'); + } else { + $scopes[] = $this->__('Website #').(int)$counter->getWebsiteId(); + } + if ($counter->getGroupId()!=0) { + $scopes[] = $this->__('Group #').(int)$counter->getGroupId(); + } + if ($counter->getStoreId()!=0) { + $scopes[] = $this->__('Store #').(int)$counter->getStoreId(); + } + $html .= '<td class="ordernumber_scope">' . implode('<br />', $scopes) . '</td>'; + $html .= '<td class="ordernumber_name">' . $counter->getNumberFormat() . '</td>'; + $html .= '<td class="ordernumber_counter">' . (int)$counter->getCount() . + '<input type="hidden" name="' . $this->getElement()->getName() . '[oldcounter][' . (int)$counter->getId() . ']" value="' . (int)$counter->getCount() . '" />' . + '<input style="display:none" class="counter_edit validate-not-negative-number input-text" name="' . $this->getElement()->getName() . '[counter][' . (int)$counter->getId() . ']" value="' . (int)$counter->getCount() . '" ' . $this->_getDisabled() . '/>' . + '</td>'; + + $html .= '<td>' . $this->_getEditRowButtonHtml() . $this->_getRemoveRowButtonHtml() . '</td>'; + $html .= '</tr>'; + + return $html; + } + + protected function _getDisabled() + { + return $this->getElement()->getDisabled() ? ' disabled' : ''; + } + + protected function _getValue($key) + { + return $this->getElement()->getData('value/' . $key); + } + + protected function _getSelected($key, $value) + { + return $this->getElement()->getData('value/' . $key) == $value ? 'selected="selected"' : ''; + } + + protected function _getAddRowDeleteButtonHtml($selector = 'tr', $title='Delete') + { + if (!$this->_addRowDeleteButtonHtml) { + $this->_addRowDeleteButtonHtml = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('delete v-middle ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.remove($(this).up('" . $selector . "'))") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_addRowDeleteButtonHtml; + } + + protected function _getAddRowButtonHtml($container, $template, $title='Add') + { + if (!isset($this->_addRowButtonHtml[$container])) { + $this->_addRowButtonHtml[$container] = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('add ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.insert($('" . $container . "'), {bottom: $('" . $template . "').innerHTML})") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_addRowButtonHtml[$container]; + } + + protected function _getEditRowButtonHtml($selector = 'tr', $title='Edit') + { + if (!$this->_editRowButtonHtml) { + $this->_editRowButtonHtml = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('edit v-middle ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.toggle(Element.select($(this).up('" . $selector . "'), 'input.counter_edit'))") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_editRowButtonHtml; + } + + protected function _getRemoveRowButtonHtml($selector = 'tr', $title = 'Delete') + { + if (!$this->_removeRowButtonHtml) { + $this->_removeRowButtonHtml = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('delete v-middle ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.remove($(this).up('" . $selector . "'))") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_removeRowButtonHtml; + } + + +} \ No newline at end of file diff --git a/app/code/community/OpenTools/Ordernumber/Block/Replacements.php b/app/code/community/OpenTools/Ordernumber/Block/Replacements.php new file mode 100644 index 0000000..76636d5 --- /dev/null +++ b/app/code/community/OpenTools/Ordernumber/Block/Replacements.php @@ -0,0 +1,125 @@ +<?php +class OpenTools_Ordernumber_Block_Replacements extends Mage_Adminhtml_Block_System_Config_Form_Field +{ + protected $_addRowButtonHtml = array(); + protected $_removeRowButtonHtml = array(); + + /** + * Returns html part of the setting + * + * @param Varien_Data_Form_Element_Abstract $element + * @return string + */ + public function render(Varien_Data_Form_Element_Abstract $element) + { + $this->setElement($element); + + $html = ''; + $html .= '<table id="ordernumber_replacements_template_table" style="display:none">'; + $html .= $this->_getRowTemplateHtml(); + $html .= '</table>'; + + $html .= '<table id="ordernumber_replacements_table">'; + $html .= $this->_getRowHeader(); + if ($this->_getValue('replacements')) { + foreach ($this->_getValue('replacements') as $i => $f) { + if ($i) { + $html .= $this->_getRowTemplateHtml($i); + } + } + } + $html .= '</table>'; + + return '<tr id="row_' . $element->getHtmlId() . '"><td colspan="5">' . $html . '</td></tr>'; + } + + /** + * Retrieve html for the table header + * @return string + */ + protected function _getRowHeader() + { + $html = '<tr>'; + $html .= '<th></th>'; + $html .= '<th>Variable</th>'; + $html .= '<th>Condition</th>'; + $html .= '<th>Value</th>'; + $html .= '<th>New Variable</th>'; + $html .= '<th>New Value</th>'; + $html .= '<th>' . $this->_getAddRowButtonHtml('ordernumber_replacements_table', + 'ordernumber_replacements_template_table', $this->__('Add New Replacement')) . '</th>'; + $html .= '</tr>'; + return $html; + } + + /** + * Retrieve html template for setting + * + * @param int $rowIndex + * @return string + */ + protected function _getRowTemplateHtml($rowIndex = 0) + { + $html = '<tr>'; + + $html .= '<td>If</td>'; + $html .= '<td><input style="width: 100px" name="' . $this->getElement()->getName() . '[variables][]" value="' . $this->_getValue('variables/' . $rowIndex) . '" ' . $this->_getDisabled() . '/></td>'; +// $html .= '<td>Condition</td>'; +// $html .= '<td>Value</td>'; +// $html .= '<td>New Variable</td>'; +// $html .= '<td>New Value</td>'; + +// $html .= '<div style="margin:5px 0 10px;">'; +// $html .= '<input style="width:100px;" name="' +// . $this->getElement()->getName() . '[addresses][]" value="' +// . $this->_getValue('addresses/' . $rowIndex) . '" ' . $this->_getDisabled() . '/> '; + + $html .= '<td>' . $this->_getRemoveRowButtonHtml() . '</td>'; + $html .= '</tr>'; + + return $html; + } + + protected function _getDisabled() + { + return $this->getElement()->getDisabled() ? ' disabled' : ''; + } + + protected function _getValue($key) + { + return $this->getElement()->getData('value/' . $key); + } + + protected function _getSelected($key, $value) + { + return $this->getElement()->getData('value/' . $key) == $value ? 'selected="selected"' : ''; + } + + protected function _getAddRowButtonHtml($container, $template, $title='Add') + { + if (!isset($this->_addRowButtonHtml[$container])) { + $this->_addRowButtonHtml[$container] = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('add ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.insert($('" . $container . "'), {bottom: $('" . $template . "').innerHTML})") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_addRowButtonHtml[$container]; + } + + protected function _getRemoveRowButtonHtml($selector = 'tr', $title = 'Delete') + { + if (!$this->_removeRowButtonHtml) { + $this->_removeRowButtonHtml = $this->getLayout()->createBlock('adminhtml/widget_button') + ->setType('button') + ->setClass('delete v-middle ' . $this->_getDisabled()) + ->setLabel($this->__($title)) + ->setOnClick("Element.remove($(this).up('" . $selector . "'))") + ->setDisabled($this->_getDisabled()) + ->toHtml(); + } + return $this->_removeRowButtonHtml; + } +} \ No newline at end of file diff --git a/app/code/community/OpenTools/Ordernumber/Model/Backend/Counters.php b/app/code/community/OpenTools/Ordernumber/Model/Backend/Counters.php new file mode 100644 index 0000000..2ab8047 --- /dev/null +++ b/app/code/community/OpenTools/Ordernumber/Model/Backend/Counters.php @@ -0,0 +1,15 @@ +<?php +class OpenTools_Ordernumber_Model_Backend_Counters extends Mage_Core_Model_Config_Data +{ + /** + * Instead of storing the counter values in the config (they are NOT config values), + * change the database and then clear the value: + */ + protected function _beforeSave() + { + if (is_array($this->getValue())) { + // TODO: Store new values in the database + // Compare with old values + } + } +} \ No newline at end of file diff --git a/app/code/community/OpenTools/Ordernumber/Model/Ordernumber.php b/app/code/community/OpenTools/Ordernumber/Model/Ordernumber.php index b2073cf..9d303f3 100644 --- a/app/code/community/OpenTools/Ordernumber/Model/Ordernumber.php +++ b/app/code/community/OpenTools/Ordernumber/Model/Ordernumber.php @@ -25,4 +25,16 @@ class OpenTools_Ordernumber_Model_Ordernumber extends Mage_Core_Model_Abstract $this->_hasDataChanges = false; return $this; } + public function getNumberTypes() + { + $helper = Mage::helper('ordernumber'); + $types = array( + 'order' => $helper->__('Order number'), + 'invoice' => $helper->__('Invoice'), + 'shipment' => $helper->__('Shipment'), + 'creditmemo' => $helper->__('Credit Memo'), + ); + return $types; + } + } \ No newline at end of file diff --git a/app/code/community/OpenTools/Ordernumber/Model/Source/Reset.php b/app/code/community/OpenTools/Ordernumber/Model/Source/Reset.php new file mode 100644 index 0000000..1e31d87 --- /dev/null +++ b/app/code/community/OpenTools/Ordernumber/Model/Source/Reset.php @@ -0,0 +1,17 @@ +<?php +class OpenTools_Ordernumber_Model_Source_Reset +{ + public function toOptionArray() + { + $reset = array( + array('value' => '0', 'label' => 'One counter without reset'), + array('value' => '[year]', 'label' => 'New counter for each year'), + array('value' => '[year]-[month]', 'label' => 'New counter for each month'), + array('value' => '[year]-[month]-[day]', 'label' => 'New counter for each day'), + array('value' => '1', 'label' => 'Separate counter for each Format Value'), + array('value' => '-1', 'label' => 'Custom counter Name'), + ); + return $reset; + } + +} diff --git a/app/code/community/OpenTools/Ordernumber/Model/Source/Scope.php b/app/code/community/OpenTools/Ordernumber/Model/Source/Scope.php new file mode 100644 index 0000000..db10aa7 --- /dev/null +++ b/app/code/community/OpenTools/Ordernumber/Model/Source/Scope.php @@ -0,0 +1,15 @@ +<?php +class OpenTools_Ordernumber_Model_Source_Scope +{ + public function toOptionArray() + { + $scopes = array( + array('value' => '0', 'label' => Mage::helper('ordernumber')->__('Use all counters across all stores')), + array('value' => '1', 'label' => Mage::helper('ordernumber')->__('Separate counters for each Website')), + array('value' => '2', 'label' => Mage::helper('ordernumber')->__('Separate counters for each Store')), + array('value' => '3', 'label' => Mage::helper('ordernumber')->__('Separate counters for each Store View')), + ); + return $scopes; + } + +} \ No newline at end of file diff --git a/app/code/community/OpenTools/Ordernumber/etc/config.xml b/app/code/community/OpenTools/Ordernumber/etc/config.xml index 9af89a0..f6cb7fc 100644 --- a/app/code/community/OpenTools/Ordernumber/etc/config.xml +++ b/app/code/community/OpenTools/Ordernumber/etc/config.xml @@ -10,7 +10,7 @@ </depends> </OpenTools_Ordernumber> </modules> - + <global> <models> <opentools_ordernumber> @@ -49,7 +49,12 @@ </connection> </opentools_ordernumber_read> </resources> - + <blocks> + <opentools_ordernumber> + <class>OpenTools_Ordernumber_Block</class> + </opentools_ordernumber> + </blocks> + <events> <sales_model_service_quote_submit_before> <observers> @@ -98,7 +103,7 @@ </sales_order_creditmemo_save_before> </events> </global> - + <adminhtml> <acl> <resources> @@ -119,7 +124,17 @@ </admin> </resources> </acl> + <translate> + <modules> + <opentools_ordernumber> + <files> + <default>OpenTools_Ordernumber.csv</default> + </files> + </opentools_ordernumber> + </modules> + </translate> </adminhtml> + </adminhtml> <default> <ordernumber> <settings> diff --git a/app/code/community/OpenTools/Ordernumber/etc/system.xml b/app/code/community/OpenTools/Ordernumber/etc/system.xml index 4bc6b59..94aab94 100644 --- a/app/code/community/OpenTools/Ordernumber/etc/system.xml +++ b/app/code/community/OpenTools/Ordernumber/etc/system.xml @@ -39,26 +39,60 @@ <show_in_store>1</show_in_store> <depends><active>1</active></depends> </format> + <scope translate="label"> + <label>Scope of the counter</label> + <tooltip>Separate counters can be used per store or per website. Alternatively, all counters can be used accoss all stores simultaneously.</tooltip> + <frontend_type>select</frontend_type> + <source_model>opentools_ordernumber/source_scope</source_model> + <sort_order>50</sort_order> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <depends><active>1</active></depends> + </scope> + <reset translate="label"> + <label>Counter "Reset"</label> + <tooltip></tooltip> + <frontend_type>select</frontend_type> + <source_model>opentools_ordernumber/source_reset</source_model> + <sort_order>60</sort_order> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <depends><active>1</active></depends> + </reset> + <counterresetformat translate="label"> + <label>Format for counter names</label> + <comment>Whenever any variable in this format changes, a new counter is used.</comment> + <frontend_type>text</frontend_type> + <sort_order>61</sort_order> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <depends><active>1</active><reset>-1</reset></depends> + </counterresetformat> <digits translate="label"> <label>Number of digits for the counter</label> <tooltip>A # will be replaced by the counter, left-padded with 0s to have at least this many digits</tooltip> <frontend_type>text</frontend_type> <validate>validate-not-negative-number</validate> - <sort_order>3</sort_order> + <sort_order>100</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <depends><active>1</active></depends> </digits> - <global translate="label"> - <label>Use a global counter with no reset</label> - <frontend_type>checkbox</frontend_type> - <sort_order>4</sort_order> + <increment translate="label"> + <label>Counter increment</label> + <tooltip>Increment for the counter so that your competitors cannot directly estimate your business figures.</tooltip> + <frontend_type>text</frontend_type> + <validate>validate-not-negative-number</validate> + <sort_order>105</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <depends><active>1</active></depends> - </global> + </increment> </fields> </ordernumbers> @@ -209,6 +243,49 @@ </fields> </creditmemonumbers> + <replacements translate="label"> + <label>Variable Replacements</label> + <frontend_type>text</frontend_type> + <sort_order>100</sort_order> + <expanded>0</expanded> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <fields> + <replacements translate="label"> + <label>Variable replacements</label> + <frontend_model>opentools_ordernumber/replacements</frontend_model> + <backend_model>adminhtml/system_config_backend_serialized</backend_model> + <sort_order>2</sort_order> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + </replacements> + </fields> + </replacements> + + <counters translate="label"> + <label>Current Counter Values</label> + <comment><![CDATA[All changes made to the counter values will be applied when you press save. Please be aware that in the meantime an order might have been created, so the counter might already be out of date!]]></comment> + <frontend_type>text</frontend_type> + <sort_order>200</sort_order> + <expanded>0</expanded> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <fields> + <counters translate="label"> + <label>Counter Values</label> + <frontend_model>opentools_ordernumber/counters</frontend_model> + <backend_model>opentools_ordernumber/backend_counters</backend_model> + <sort_order>1</sort_order> + <show_in_default>1</show_in_default> + <show_in_website>1</show_in_website> + <show_in_store>1</show_in_store> + <can_be_empty>1</can_be_empty> + </counters> + </fields> + </counters> </groups> </ordernumber> </sections> diff --git a/app/code/community/OpenTools/Ordernumber/sql/opentools_ordernumber_setup/install-0.1.0.php b/app/code/community/OpenTools/Ordernumber/sql/opentools_ordernumber_setup/install-0.1.0.php index 6f374f8..7f50ea1 100644 --- a/app/code/community/OpenTools/Ordernumber/sql/opentools_ordernumber_setup/install-0.1.0.php +++ b/app/code/community/OpenTools/Ordernumber/sql/opentools_ordernumber_setup/install-0.1.0.php @@ -19,6 +19,9 @@ $table = $installer->getConnection() 'primary' => true, ), 'Ordernumber id') ->addColumn('number_type', Varien_Db_Ddl_Table::TYPE_TEXT, 63, array('nullable'=> false), 'Number Type') + ->addColumn('website_id', Varien_Db_Ddl_Table::TYPE_SMALLINT,null, array('nullable'=> false, 'default'=>-1), 'Website ID') + ->addColumn('group_id', Varien_Db_Ddl_Table::TYPE_SMALLINT,null, array('nullable'=> false, 'default'=>-1), 'Group ID') + ->addColumn('store_id', Varien_Db_Ddl_Table::TYPE_SMALLINT,null, array('nullable'=> false, 'default'=>-1), 'Store ID') ->addColumn('number_format',Varien_Db_Ddl_Table::TYPE_TEXT, 255, array('nullable'=> true), 'Number Format') ->addColumn('count', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array('unsigned'=>true,'nullable'=>false), 'Counter') ->addIndex($installer->getIdxName( diff --git a/var/connect/OpenTools_Ordernumber.xml b/var/connect/OpenTools_Ordernumber.xml index e199008..caf4e59 100644 --- a/var/connect/OpenTools_Ordernumber.xml +++ b/var/connect/OpenTools_Ordernumber.xml @@ -1,5 +1,5 @@ <_> - <form_key>1yggEOTnk5zBnKki</form_key> + <form_key>ZV49LPLMxTBr5Syu</form_key> <name>OpenTools_Ordernumber</name> <channel>community</channel> <version_ids> @@ -40,7 +40,7 @@ <max/> </max> <files> - <files> </files> + <files> </files> </files> </package> <extension> -- GitLab