From 72d65529d4443634ce99c58aa50732d7e09fccf6 Mon Sep 17 00:00:00 2001 From: Saketh1499 Date: Mon, 9 Aug 2021 13:56:46 +0530 Subject: Updating country fields in proposal form --- lab_migration.module | 57 ++++++++++++++++++- manage_proposal.inc | 63 ++++++++++++++++++--- proposal.inc | 151 ++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 248 insertions(+), 23 deletions(-) diff --git a/lab_migration.module b/lab_migration.module index cf40af6..6a861a1 100755 --- a/lab_migration.module +++ b/lab_migration.module @@ -836,7 +836,59 @@ function lm_ucname($string) } return $string; } - + + function _lab_migration_list_of_city_pincode($city=Null, $state=NULL, $district=NULL) +{ + $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 _lab_migration_list_of_cities($state=Null, $district=NULL) +{ + $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 _lab_migration_list_of_district($state=Null) +{ + $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 _lab_migration_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()) + { + $states[$states_list_data->state] = $states_list_data->state; + } + return $states; +} function _lm_list_of_states() { $states = array(0 => '-Select-'); @@ -930,7 +982,8 @@ function _list_all_lm_certificates() 'Institute name', 'Name', 'Type', - 'Download Certificates' + 'Download Certificates', + 'Edit Certificates' ); $output .= theme('table', array( 'header' => $search_header, diff --git a/manage_proposal.inc b/manage_proposal.inc index 1a140d0..b9071ab 100755 --- a/manage_proposal.inc +++ b/manage_proposal.inc @@ -248,6 +248,11 @@ function lab_migration_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, @@ -499,6 +504,31 @@ function lab_migration_proposal_status_form($form, $form_state) '#markup' => $proposal_data->university, '#title' => t('University/Institute') ); + $form['country'] = array( + '#type' => 'item', + '#markup' => $proposal_data->country, + '#title' => t('Country') + ); + $form['all_state'] = array( + '#type' => 'item', + '#markup' => $proposal_data->state, + '#title' => t('State') + ); + $form['city'] = array( + '#type' => 'item', + '#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, + '#title' => t('Pincode/Postal code') + ); $form['lab_title'] = array( '#type' => 'item', '#markup' => $proposal_data->lab_title, @@ -767,19 +797,19 @@ function lab_migration_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( @@ -823,9 +853,22 @@ function lab_migration_proposal_edit_form($form, $form_state) $form['all_state'] = array( '#type' => 'select', '#title' => t('State'), - '#options' => _lm_list_of_states(), - '#default_value' => $proposal_data->state, + '#options' => _lab_migration_list_of_states(), '#validated' => TRUE, + '#default_value' => $proposal_data->state, + '#states' => array( + 'visible' => array( + ':input[name="country"]' => array( + 'value' => 'India' + ) + ) + ) + ); + $form['district'] = array( + '#type' => 'select', + '#title' => t('District'), + '#options' => _lab_migration_list_of_district(), + '#default_value' => $proposal_data->district, '#states' => array( 'visible' => array( ':input[name="country"]' => array( @@ -837,7 +880,7 @@ function lab_migration_proposal_edit_form($form, $form_state) $form['city'] = array( '#type' => 'select', '#title' => t('City'), - '#options' => _lm_list_of_cities(), + '#options' => _lab_migration_list_of_cities(), '#default_value' => $proposal_data->city, '#states' => array( 'visible' => array( @@ -847,16 +890,19 @@ function lab_migration_proposal_edit_form($form, $form_state) ) ) ); + $form['pincode'] = array( '#type' => 'textfield', '#title' => t('Pincode'), '#size' => 30, '#maxlength' => 6, '#default_value' => $proposal_data->pincode, + '#required' => False, '#attributes' => array( - 'placeholder' => 'Insert pincode of your city/ village....' + 'placeholder' => 'Enter pincode....' ) - ); + ); + $form['lab_title'] = array( '#type' => 'textfield', '#title' => t('Title of the Lab'), @@ -1129,6 +1175,7 @@ function lab_migration_proposal_edit_form_submit($form, &$form_state) 'department' => $v['department'], 'university' => $v['university'], 'city' => $v['city'], + 'district' => $v['district'], 'pincode' => $v['pincode'], 'state' => $v['all_state'], 'lab_title' => $v['lab_title'], diff --git a/proposal.inc b/proposal.inc index bc75e4c..85175f8 100755 --- a/proposal.inc +++ b/proposal.inc @@ -23,6 +23,15 @@ lab_migration_solution : approval_status function lab_migration_proposal_form($form, &$form_state) { global $user; + $form = array(); + $state = _lab_migration_list_of_states(); + $selected_state = isset($form_state['values']['all_state'])?$form_state['values']['all_state']:key($state); + $district = _lab_migration_list_of_district(); + $selected_district = isset($form_state['values']['district'])?$form_state['values']['district']:key($district); + $city = _lab_migration_list_of_cities(); + $selected_city = isset($form_state['values']['city'])?$form_state['values']['city']:key($city); + $pincode = _lab_migration_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) { $msg = drupal_set_message(t('It is mandatory to ' . l('login', 'user') . ' on this website to access the lab proposal form. If you are new user please create a new account first.'), 'error'); @@ -101,13 +110,19 @@ function lab_migration_proposal_form($form, &$form_state) 'placeholder' => 'Insert full name of your institute/ university.... ' ) ); - $form['country'] = array( + $form['country'] = array( '#type' => 'select', '#title' => t('Country'), '#options' => array( 'India' => 'India', 'Others' => 'Others' ), + //'#default_value' => 'India', + '#prefix' => '
', + '#suffix' => '
', + // '#ajax' => array( + // 'callback' => 'ajax_get_lm_district_list_callback', + // ), '#required' => TRUE, '#tree' => TRUE, '#validated' => TRUE @@ -159,8 +174,17 @@ function lab_migration_proposal_form($form, &$form_state) ); $form['all_state'] = array( '#type' => 'select', - '#title' => t('State'), - '#options' => _lm_list_of_states(), + '#title' => t('State/UT'), + '#options' => _lab_migration_list_of_states(), + //'#empty_value' => '0', + //'#empty_option' => '- Select -', + '#default_value' => '0', + '#prefix' => '
', + '#suffix' => '
', + '#required' => TRUE, + '#ajax' => array( + 'callback' => 'ajax_get_lm_district_list_callback', + ), '#validated' => TRUE, '#states' => array( 'visible' => array( @@ -170,26 +194,64 @@ function lab_migration_proposal_form($form, &$form_state) ) ) ); + $form['district'] = array( + '#type' => 'select', + '#title' => t('District/Area'), + '#options' => _lab_migration_list_of_district($selected_state), + //'#empty_value' => '0', + //'#empty_option' => '- Select -', + '#prefix' => '
', + '#suffix' => '
', + '#validated' => TRUE, + '#required' => TRUE, + '#ajax' => array( + 'callback' => 'ajax_get_lm_city_list_callback', + ), + '#states' => array( + 'visible' => array( + ':input[name="all_state"]' => array( + 'value' => 'India' + ) + ) + ) + ); $form['city'] = array( '#type' => 'select', - '#title' => t('City'), - '#options' => _lm_list_of_cities(), + '#title' => t('City/Area'), + '#options' => _lab_migration_list_of_cities($selected_state, $selected_district), + //'#empty_value' => '0', + //'#empty_option' => '- Select -', + '#prefix' => '
', + '#suffix' => '
', + '#validated' => TRUE, + '#required' => TRUE, + '#ajax' => array( + 'callback' => 'ajax_get_lm_city_pincode_list_callback', + ), '#states' => array( 'visible' => array( - ':input[name="country"]' => array( + ':input[name="district"]' => array( 'value' => 'India' ) ) ) ); $form['pincode'] = array( - '#type' => 'textfield', + '#type' => 'select', '#title' => t('Pincode'), - '#size' => 30, - '#maxlength' => 6, + '#options' => _lab_migration_list_of_city_pincode($selected_city, $selected_state, $selected_district), + '#prefix' => '
', + '#suffix' => '
', + //'#empty_value' => '0', + //'#empty_option' => '- Select -', '#required' => TRUE, - '#attributes' => array( - 'placeholder' => 'Enter pincode....' + '#validated' => TRUE, + '#states' => array( + 'visible' => array( + ':input[name="city"]' => array( + 'value' => 'India' + ) + ) ) ); /***************************************************************************/ @@ -430,8 +492,8 @@ function lab_migration_proposal_form_submit($form, &$form_state) $university = $v['university']; $directory_name = _lm_dir_name($lab_title, $proposar_name, $university); $result = "INSERT INTO {lab_migration_proposal} - (uid, approver_uid, name_title, name, contact_ph, department, university, city, pincode, state, country, r_version, lab_title, approval_status, solution_status, solution_provider_uid, solution_display, creation_date, approval_date, solution_date, solution_provider_name_title, solution_provider_name, solution_provider_contact_ph, solution_provider_department, solution_provider_university, directory_name) VALUES - (:uid, :approver_uid, :name_title, :name, :contact_ph, :department, :university, :city, :pincode, :state, :country, + (uid, approver_uid, name_title, name, contact_ph, department, university, city, district, pincode, state, country, r_version, lab_title, approval_status, solution_status, solution_provider_uid, solution_display, creation_date, approval_date, solution_date, solution_provider_name_title, solution_provider_name, solution_provider_contact_ph, solution_provider_department, solution_provider_university, directory_name) VALUES + (:uid, :approver_uid, :name_title, :name, :contact_ph, :department, :university, :city, :district, :pincode, :state, :country, :r_version, :lab_title, :approval_status, :solution_status, :solution_provider_uid, :solution_display, :creation_date, :approval_date, :solution_date, :solution_provider_name_title, :solution_provider_name, :solution_provider_contact_ph, :solution_provider_department, :solution_provider_university, :directory_name)"; @@ -444,6 +506,7 @@ function lab_migration_proposal_form_submit($form, &$form_state) ":department" => $v['department'], ":university" => $v['university'], ":city" => $v['city'], + ":district" => $v['district'], ":pincode" => $v['pincode'], ":state" => $v['all_state'], ":country" => $v['country'], @@ -532,3 +595,65 @@ function _lm_dir_name($lab, $name, $university) $directory_name = str_replace("__", "_", str_replace(" ", "_", $dir_name)); return $directory_name; } + +function ajax_get_lm_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'] = _lab_migration_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_lm_district_list_callback($form, $form_state) +{ + $state_default_value = $form_state['values']['all_state']; + if ($state_default_value != '0') + { + $form['district']['#options'] = _lab_migration_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_lm_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'] = _lab_migration_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 -- cgit