summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaketh14992021-08-04 11:38:30 +0530
committerSaketh14992021-08-04 11:38:30 +0530
commit171dad5c275e35ad25ceaabae8997d0d775c3640 (patch)
treef0e20fa1029f35cdb8a13126bf1798bfa4acc3a7
parentbd9e663e0732cbd66c198ba99bd6030cfade38c6 (diff)
downloadsoul_chemistry_lab_project-171dad5c275e35ad25ceaabae8997d0d775c3640.tar.gz
soul_chemistry_lab_project-171dad5c275e35ad25ceaabae8997d0d775c3640.tar.bz2
soul_chemistry_lab_project-171dad5c275e35ad25ceaabae8997d0d775c3640.zip
Updating proposal form
-rwxr-xr-xchemistry_lab.module83
-rwxr-xr-xmanage_proposal.inc27
-rwxr-xr-xproposal.inc160
3 files changed, 210 insertions, 60 deletions
diff --git a/chemistry_lab.module b/chemistry_lab.module
index 7230088..638179d 100755
--- a/chemistry_lab.module
+++ b/chemistry_lab.module
@@ -617,7 +617,7 @@ function chemistry_lab_permission()
/*************************** VALIDATION FUNCTIONS *****************************/
function chemistry_lab_check_valid_filename($file_name)
{
- if (!preg_match('/^[0-9a-zA-Z\.\_]+$/', $file_name))
+ if (!preg_match('/^[0-9a-zA-Z\.\_-]+$/', $file_name))
return FALSE;
else if (substr_count($file_name, ".") > 1)
return FALSE;
@@ -714,50 +714,57 @@ function _df_sentence_case($string)
} //array( '-', '\'' ) as $delimiter
return $string;
}
-function _df_list_of_states()
+function _soul_list_of_city_pincode($city=Null, $state=NULL, $district=NULL)
{
- $states = array(
- 0 => '-Select-'
- );
- $query = db_select('list_states_of_india');
- $query->fields('list_states_of_india');
- //$query->orderBy('', '');
- $states_list = $query->execute();
- while ($states_list_data = $states_list->fetchObject())
- {
- $states[$states_list_data->state] = $states_list_data->state;
- } //$states_list_data = $states_list->fetchObject()
- return $states;
+ $pincode = array();
+ if($city){
+ $pincode_list = db_query("SELECT pincode FROM all_india_pincode WHERE city = :city AND state = :state AND district = :district", array(':city' => $city,':state'=> $state, ':district' => $district));
+ while ($pincode_list_data = $pincode_list->fetchObject())
+ {
+ $pincode[$pincode_list_data->pincode] = $pincode_list_data->pincode;
+ }
+ }
+ else{
+ $pincode[000000] = '000000';
+ }
+ return $pincode;
}
-function _df_list_of_cities()
+
+function _soul_list_of_cities($state=Null, $district=NULL)
{
- $city = array(
- 0 => '-Select-'
- );
- $query = db_select('list_cities_of_india');
- $query->fields('list_cities_of_india');
- $query->orderBy('city', 'ASC');
- $city_list = $query->execute();
- while ($city_list_data = $city_list->fetchObject())
- {
- $city[$city_list_data->city] = $city_list_data->city;
- } //$city_list_data = $city_list->fetchObject()
+ $city = array(''=> '- Select -');
+ if($state){
+ $city_list = db_query("SELECT city FROM all_india_pincode WHERE state = :state AND district = :district ORDER BY city ASC", array(':state'=> $state, ':district' =>$district));
+ while ($city_list_data = $city_list->fetchObject())
+ {
+ $city[$city_list_data->city] = $city_list_data->city;
+ }
+ }
return $city;
}
-function _df_list_of_pincodes()
+
+function _soul_list_of_district($state=Null)
{
- $pincode = array(
- 0 => '-Select-'
- );
- $query = db_select('list_of_all_india_pincode');
- $query->fields('list_of_all_india_pincode');
- $query->orderBy('pincode', 'ASC');
- $pincode_list = $query->execute();
- while ($pincode_list_data = $pincode_list->fetchObject())
+ $district = array(''=> '- Select -');
+ if($state){
+ $district_list = db_query("SELECT district FROM all_india_pincode WHERE state = :state ORDER BY district ASC", array(':state'=> $state));
+ while ($district_list_data = $district_list->fetchObject())
+ {
+ $district[$district_list_data->district] = $district_list_data->district;
+ }
+ }
+ return $district;
+}
+
+function _soul_list_of_states()
+{
+ $states = array(''=> '- Select -');
+ $states_list = db_query("SELECT state FROM all_india_pincode WHERE country = 'India' ORDER BY state ASC");
+ while ($states_list_data = $states_list->fetchObject())
{
- $pincode[$pincode_list_data->pincode] = $pincode_list_data->pincode;
- } //$pincode_list_data = $pincode_list->fetchObject()
- return $pincode;
+ $states[$states_list_data->state] = $states_list_data->state;
+ }
+ return $states;
}
function _df_list_of_departments()
{
diff --git a/manage_proposal.inc b/manage_proposal.inc
index d496af5..041d5d7 100755
--- a/manage_proposal.inc
+++ b/manage_proposal.inc
@@ -200,6 +200,11 @@ function chemistry_lab_proposal_approval_form($form, &$form_state)
'#markup' => $proposal_data->city,
'#title' => t('City')
);
+ $form['district'] = array(
+ '#type' => 'item',
+ '#markup' => $proposal_data->district,
+ '#title' => t('District')
+ );
$form['pincode'] = array(
'#type' => 'item',
'#markup' => $proposal_data->pincode,
@@ -459,6 +464,11 @@ function chemistry_lab_proposal_status_form($form, &$form_state)
'#markup' => $proposal_data->city,
'#title' => t('City')
);
+ $form['District'] = array(
+ '#type' => 'item',
+ '#markup' => $proposal_data->district,
+ '#title' => t('District')
+ );
$form['pincode'] = array(
'#type' => 'item',
'#markup' => $proposal_data->pincode,
@@ -704,19 +714,19 @@ function chemistry_lab_proposal_edit_form($form, &$form_state)
'India' => 'India',
'Others' => 'Others'
),
- '#default_value' => $proposal_data->country,
'#required' => TRUE,
'#tree' => TRUE,
- '#validated' => TRUE
+ '#validated' => TRUE,
+ '#default_value' => $proposal_data->country
);
$form['other_country'] = array(
'#type' => 'textfield',
'#title' => t('Other than India'),
'#size' => 100,
- '#default_value' => $proposal_data->country,
'#attributes' => array(
'placeholder' => t('Enter your country name')
),
+ '#default_value' => $proposal_data->country,
'#states' => array(
'visible' => array(
':input[name="country"]' => array(
@@ -760,9 +770,9 @@ function chemistry_lab_proposal_edit_form($form, &$form_state)
$form['all_state'] = array(
'#type' => 'select',
'#title' => t('State'),
- '#options' => _df_list_of_states(),
- '#default_value' => $proposal_data->state,
+ '#options' => _soul_list_of_states(),
'#validated' => TRUE,
+ '#default_value' => $proposal_data->state,
'#states' => array(
'visible' => array(
':input[name="country"]' => array(
@@ -774,7 +784,7 @@ function chemistry_lab_proposal_edit_form($form, &$form_state)
$form['city'] = array(
'#type' => 'select',
'#title' => t('City'),
- '#options' => _df_list_of_cities(),
+ '#options' => _soul_list_of_cities(),
'#default_value' => $proposal_data->city,
'#states' => array(
'visible' => array(
@@ -790,10 +800,11 @@ function chemistry_lab_proposal_edit_form($form, &$form_state)
'#size' => 30,
'#maxlength' => 6,
'#default_value' => $proposal_data->pincode,
+ '#required' => False,
'#attributes' => array(
- 'placeholder' => 'Insert pincode of your city/ village....'
+ 'placeholder' => 'Enter pincode....'
)
- );
+ );
$form['project_title'] = array(
'#type' => 'textarea',
'#title' => t('Title of the chemistry lab Project'),
diff --git a/proposal.inc b/proposal.inc
index 1502a4d..32805d7 100755
--- a/proposal.inc
+++ b/proposal.inc
@@ -27,6 +27,15 @@ chemistry_lab_solution : approval_status
function chemistry_lab_proposal_form($form, &$form_state, $no_js_use = FALSE)
{
global $user;
+ $form = array();
+ $state = _soul_list_of_states();
+ $selected_state = isset($form_state['values']['all_state'])?$form_state['values']['all_state']:key($state);
+ $district = _soul_list_of_district();
+ $selected_district = isset($form_state['values']['district'])?$form_state['values']['district']:key($district);
+ $city = _soul_list_of_cities();
+ $selected_city = isset($form_state['values']['city'])?$form_state['values']['city']:key($city);
+ $pincode = _soul_list_of_city_pincode();
+ $selected_pincode = isset($form_state['values']['picode'])?$form_state['values']['pincode']:key($pincode);
/************************ start approve book details ************************/
if ($user->uid == 0)
{
@@ -99,7 +108,8 @@ function chemistry_lab_proposal_form($form, &$form_state, $no_js_use = FALSE)
'#maxlength' => 200,
'#attributes' => array(
'placeholder' => 'Enter full name of your School/Institute/University/Organisation.... '
- )
+ ),
+ '#required' => TRUE
);
$form['department'] = array(
'#type' => 'textfield',
@@ -115,8 +125,14 @@ function chemistry_lab_proposal_form($form, &$form_state, $no_js_use = FALSE)
'#title' => t('Country'),
'#options' => array(
'India' => 'India',
- 'Others' => 'Others'
+ //'Others' => 'Others'
),
+ '#default_value' => 'India',
+ '#prefix' => '<div id="ajax-country-list-replace">',
+ '#suffix' => '</div>',
+ '#ajax' => array(
+ 'callback' => 'ajax_get_city_list_callback',
+ ),
'#required' => TRUE,
'#tree' => TRUE,
'#validated' => TRUE
@@ -168,8 +184,17 @@ function chemistry_lab_proposal_form($form, &$form_state, $no_js_use = FALSE)
);
$form['all_state'] = array(
'#type' => 'select',
- '#title' => t('State'),
- '#options' => _df_list_of_states(),
+ '#title' => t('State/UT'),
+ '#options' => _soul_list_of_states(),
+ //'#empty_value' => '0',
+ //'#empty_option' => '- Select -',
+ '#default_value' => '0',
+ '#prefix' => '<div id="ajax-state-list-replace">',
+ '#suffix' => '</div>',
+ '#required' => TRUE,
+ '#ajax' => array(
+ 'callback' => 'ajax_get_district_list_callback',
+ ),
'#validated' => TRUE,
'#states' => array(
'visible' => array(
@@ -179,25 +204,66 @@ function chemistry_lab_proposal_form($form, &$form_state, $no_js_use = FALSE)
)
)
);
+ $form['district'] = array(
+ '#type' => 'select',
+ '#title' => t('District/Area'),
+ '#options' => _soul_list_of_district($selected_state),
+ '#empty_value' => '0',
+ '#empty_option' => '- Select -',
+ '#prefix' => '<div id="ajax-district-list-replace">',
+ '#suffix' => '</div>',
+ '#validated' => TRUE,
+ '#required' => TRUE,
+ '#ajax' => array(
+ 'callback' => 'ajax_get_city_list_callback',
+ ),
+ '#states' => array(
+ 'invisible' => array(
+ ':input[name="all_state"]' => array(
+ 'value' => '0'
+ )
+ )
+ )
+ );
$form['city'] = array(
'#type' => 'select',
- '#title' => t('City'),
- '#options' => _df_list_of_cities(),
+ '#title' => t('City/Area'),
+ '#options' => _soul_list_of_cities($selected_state, $selected_district),
+ '#default_value' => '0',
+ '#empty_value' => '0',
+ '#empty_option' => '- Select -',
+ '#prefix' => '<div id="ajax-city-list-replace">',
+ '#suffix' => '</div>',
+ '#validated' => TRUE,
+ '#required' => TRUE,
+ '#ajax' => array(
+ 'callback' => 'ajax_get_city_pincode_list_callback',
+ ),
'#states' => array(
- 'visible' => array(
- ':input[name="country"]' => array(
- 'value' => 'India'
+ 'invisible' => array(
+ ':input[name="district"]' => array(
+ 'value' => '0'
)
)
)
);
$form['pincode'] = array(
- '#type' => 'textfield',
+ '#type' => 'select',
'#title' => t('Pincode'),
- '#attributes' => array(
- 'placeholder' => t('Enter Pincode')
- ),
- '#size' => 6
+ '#options' => _soul_list_of_city_pincode($selected_city, $selected_state, $selected_district),
+ '#prefix' => '<div id="ajax-pincode-list-replace">',
+ '#suffix' => '</div>',
+ '#empty_value' => '0',
+ '#empty_option' => '- Select -',
+ '#required' => TRUE,
+ '#validated' => TRUE,
+ '#states' => array(
+ 'invisible' => array(
+ ':input[name="city"]' => array(
+ 'value' => '0'
+ )
+ )
+ )
);
/***************************************************************************/
$form['hr'] = array(
@@ -525,6 +591,7 @@ function chemistry_lab_proposal_form_submit($form, &$form_state)
university,
department,
city,
+ district,
state,
country,
pincode,
@@ -554,6 +621,7 @@ function chemistry_lab_proposal_form_submit($form, &$form_state)
:university,
:department,
:city,
+ :district,
:state,
:country,
:pincode,
@@ -583,6 +651,7 @@ function chemistry_lab_proposal_form_submit($form, &$form_state)
":university" => _df_sentence_case($v['university']),
":department" => $v['department'],
":city" => $v['city'],
+ ":district" => $v['district'],
":pincode" => $v['pincode'],
":state" => $v['all_state'],
":country" => $v['country'],
@@ -673,3 +742,66 @@ function chemistry_lab_proposal_form_submit($form, &$form_state)
drupal_set_message(t('We have received your soul chemistry lab proposal. We will get back to you soon.'), 'status');
drupal_goto('');
}
+
+
+function ajax_get_city_list_callback($form, $form_state)
+{
+ $state_default_value = $form_state['values']['all_state'];
+ $district_default_value = $form_state['values']['district'];
+ if ($district_default_value != '0')
+ {
+ $form['city']['#options'] = _soul_list_of_cities($state_default_value, $district_default_value);
+ $commands[] = ajax_command_replace("#ajax-city-list-replace", drupal_render($form['city']));
+ $form['pincode']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-pincode-list-replace", drupal_render($form['pincode']));
+ }else{
+ $form['city']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-city-list-replace", drupal_render($form['city']));
+ }
+ return array(
+ '#type' => 'ajax',
+ '#commands' => $commands
+ );
+}
+function ajax_get_district_list_callback($form, $form_state)
+{
+ $state_default_value = $form_state['values']['all_state'];
+ if ($state_default_value != '0')
+ {
+ $form['district']['#options'] = _soul_list_of_district($state_default_value);
+ $commands[] = ajax_command_replace("#ajax-district-list-replace", drupal_render($form['district']));
+ $form['pincode']['#options'] = array('0' =>'- Select -');
+ $commands[] = ajax_command_replace("#ajax-pincode-list-replace", drupal_render($form['pincode']));
+ $form['city']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-city-list-replace", drupal_render($form['city']));
+ }else{
+ $form['district']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-district-list-replace", drupal_render($form['district']));
+ $form['pincode']['#options'] = array('0' =>'- Select -');
+ $commands[] = ajax_command_replace("#ajax-pincode-list-replace", drupal_render($form['pincode']));
+ $form['city']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-city-list-replace", drupal_render($form['city']));
+ }
+ return array(
+ '#type' => 'ajax',
+ '#commands' => $commands
+ );
+}
+function ajax_get_city_pincode_list_callback($form, $form_state)
+{
+ $city_default_value = $form_state['values']['city'];
+ $state_default_value = $form_state['values']['all_state'];
+ $district_default_value = $form_state['values']['district'];
+ if ($city_default_value != '0')
+ {
+ $form['pincode']['#options'] = _soul_list_of_city_pincode($city_default_value,$state_default_value,$district_default_value);
+ $commands[] = ajax_command_replace("#ajax-pincode-list-replace", drupal_render($form['pincode']));
+ }else{
+ $form['pincode']['#options'] = array('0' => '- Select -');
+ $commands[] = ajax_command_replace("#ajax-pincode-list-replace", drupal_render($form['pincode']));
+ }
+ return array(
+ '#type' => 'ajax',
+ '#commands' => $commands
+ );
+} \ No newline at end of file