From 171dad5c275e35ad25ceaabae8997d0d775c3640 Mon Sep 17 00:00:00 2001 From: Saketh1499 Date: Wed, 4 Aug 2021 11:38:30 +0530 Subject: Updating proposal form --- chemistry_lab.module | 83 ++++++++++++++------------ manage_proposal.inc | 27 ++++++--- proposal.inc | 160 ++++++++++++++++++++++++++++++++++++++++++++++----- 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' => '