I am new to magento
, I have created the Module which is Auto Replenish
. Here admin can schedule orders based on user conviviality like Daily,Weekly,Monthly or Yearly
. For this I have written the code and showing the design on admin panel perfect. Here I have little bit of doubt to struck, how to validate
(ex:1 if I select Daily disable date,
2 If I select Weekly Enable week days ...etc..)
and how to create crontab event
for this. Is this Idea is correct or wrong Any Idea ?.
my code is: magento\app\code\local\Easylife\Autoreplenish\Block\Adminhtml\Autoreplenish\Edit\Tab\Form.php
<?php
class Easylife_Autoreplenish_Block_Adminhtml_Autoreplenish_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('autoreplenish_form',
array('legend'=>'Auto Replenish Information'));
$fieldset->addField('customer_name', 'text',
array(
'label' => 'Customer Name',
'class' => 'required-entry',
'required' => true,
'name' => 'customer_name',
));
$fieldset->addField('customer_email', 'text',
array(
'label' => 'Customer Email',
'class' => 'required-entry',
'required' => true,
'name' => 'customer_email',
));
$fieldset->addField('mobile_number', 'text',
array(
'label' => 'Phone Number',
'class' => 'required-entry',
'required' => true,
'name' => 'mobile_number',
));
$fieldset->addField('sku', 'text',
array(
'label' => 'Item SKU',
'class' => 'required-entry',
'required' => true,
'name' => 'sku',
));
$fieldset->addField('select', 'select', array(
'label' => Mage::helper('autoreplenish')->__('Frequency'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
'onclick' => "",
'onchange' => "",
'values' => array('-1'=>'Please Select..','1' => 'Daily','2' => 'Weekly', '3' => 'Monthly', '4' => 'Yearly'),
'disabled' => false,
'readonly' => false,
'after_element_html' => 'Select Frequency',
'tabindex' => 1
));
$fieldset->addField('date', 'date', array(
'label' => Mage::helper('autoreplenish')->__('Date'),
'after_element_html' => 'Date',
'image' => $this->getSkinUrl('images/grid-cal.gif'),
'format' => Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM)
));
$fieldset->addField('time', 'time', array(
'label' => Mage::helper('autoreplenish')->__('Time'),
'class' => 'required-entry',
'required' => true,
'name' => 'time',
'onclick' => "",
'onchange' => "",
'disabled' => false,
'readonly' => false,
'after_element_html' => 'Time',
'tabindex' => 1
));
$fieldset->addField('select2', 'select', array(
'label' => Mage::helper('autoreplenish')->__('Active'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
'onclick' => "",
'onchange' => "",
'values' => array('-1'=>'Please Select..','1' => 'Yes','2' => 'No'),
'disabled' => false,
'readonly' => false,
'tabindex' => 1
));
if ( Mage::registry('autoreplenish_data') )
{
$form->setValues(Mage::registry('autoreplenish_data')->getData());
}
return parent::_prepareForm();
}
}
magento\app\code\local\Easylife\Autoreplenish\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Autoreplenish>
<version>0.0.1</version>
</Easylife_Autoreplenish>
</modules>
<frontend>
<routers>
<!--<autoreplenish>
<use>standard</use>
<args>
<module>Easylife_Autoreplenish</module>
<frontName>autoreplenish</frontName>
</args>
</autoreplenish>-->
<customer>
<args>
<modules>
<autoreplenish before="Mage_Customer">Easylife_Autoreplenish_Customer</autoreplenish>
</modules>
</args>
</customer>
</routers>
<layout>
<updates>
<autoreplenish>
<file>autoreplenish.xml</file>
</autoreplenish>
</updates>
</layout>
</frontend>
<admin>
<routers>
<autoreplenish>
<use>admin</use>
<args>
<module>Easylife_Autoreplenish</module>
<frontName>autoreplenish</frontName>
</args>
</autoreplenish>
</routers>
</admin>
<global>
<models>
<autoreplenish>
<class>Easylife_Autoreplenish_Model</class>
<resourceModel>autoreplenish_resource</resourceModel>
</autoreplenish>
<autoreplenish_resource>
<class>Easylife_Autoreplenish_Model_Resource</class>
<entities>
<autoreplenish>
<table>autoreplenish</table>
</autoreplenish>
</entities>
</autoreplenish_resource>
</models>
<resources>
<autoreplenish_setup>
<setup>
<module>Easylife_Autoreplenish</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</autoreplenish_setup>
<autoreplenish_read>
<connection>
<use>core_read</use>
</connection>
</autoreplenish_read>
<autoreplenish_write>
<connection>
<use>core_write</use>
</connection>
</autoreplenish_write>
</resources>
<blocks>
<autoreplenish>
<class>Easylife_Autoreplenish_Block</class>
</autoreplenish>
<autoreplenish_admin>
<class>Easylife_Autoreplenish_Block_Adminhtml</class>
</autoreplenish_admin>
</blocks>
<helpers>
<autoreplenish>
<class>Easylife_Autoreplenish_Helper</class>
</autoreplenish>
</helpers>
</global>
<adminhtml>
<menu>
<autoreplenish translate="title" module="autoreplenish">
<title>Auto Replenish</title>
<sort_order>1</sort_order>
<children>
<development translate="title" module="autoreplenish">
<title>Auto Replenish Settings</title>
<action>autoreplenish/adminhtml_index</action>
<sort_order>100</sort_order>
</development>
</children>
</autoreplenish>
</menu>
<acl>
<resources>
<admin>
<children>
<autoreplenish translate="title" module="autoreplenish">
<title>Auto Replenish</title>
<sort_order>0</sort_order>
<children>
<development translate="title" module="autoreplenish">
<title>Auto Replenish Settings</title>
<sort_order>100</sort_order>
</development>
</children>
</autoreplenish>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<autoreplenish>
<file>autoreplenish.xml</file>
</autoreplenish>
</updates>
</layout>
</adminhtml>
</config>
Waiting for Expert's Idea?
Thanks in advance.