diff options
-rwxr-xr-x | dependency.inc | 7 | ||||
-rwxr-xr-x | dependency_approval.inc | 138 | ||||
-rwxr-xr-x | general_deletion.inc | 44 | ||||
-rwxr-xr-x | lab_migration.module | 55 | ||||
-rwxr-xr-x | latex.inc | 4 | ||||
-rwxr-xr-x | manage_proposal.inc | 42 | ||||
-rwxr-xr-x | manage_solution_proposal.inc | 18 | ||||
-rwxr-xr-x | proposal.inc | 30 | ||||
-rwxr-xr-x | run.inc | 21 | ||||
-rwxr-xr-x | solution_proposal.inc | 82 | ||||
-rwxr-xr-x | upload_code.inc | 9 |
11 files changed, 348 insertions, 102 deletions
diff --git a/dependency.inc b/dependency.inc index 5bf044e..9343f46 100755 --- a/dependency.inc +++ b/dependency.inc @@ -20,8 +20,8 @@ function upload_dependency_form($form_state) ); $form['name'] = array( '#type' => 'item', - '#value' => $proposal_data->name, - '#title' => t('Contributor Name'), + '#value' => $proposal_data->name_title . ' ' . $proposal_data->name, + '#title' => t('Proposer Name'), ); $form['existing_depfile'] = array( @@ -77,6 +77,9 @@ function upload_dependency_form_validate($form, &$form_state) form_set_error('', t('Invalid')); } + if (!check_name($form_state['values']['depfile1_caption'])) + form_set_error('code_caption', t('Caption can contain only alphabets, numbers and spaces.')); + if (isset($_FILES['files'])) { /* check for valid filename extensions */ diff --git a/dependency_approval.inc b/dependency_approval.inc new file mode 100755 index 0000000..b82849f --- /dev/null +++ b/dependency_approval.inc @@ -0,0 +1,138 @@ +<?php + +/******************************************************************************/ +/********************************* BULK APPROVAL ******************************/ +/******************************************************************************/ + +function dependency_approval_form($form_state) +{ + $form['#redirect'] = FALSE; + + ahah_helper_register($form, $form_state); + + /* default value for ahah fields */ + if (!isset($form_state['storage']['run']['dependency'])) + { + $dependency_default_value = 0; + } else { + $dependency_default_value = $form_state['storage']['run']['dependency']; + } + + $form['run'] = array( + '#type' => 'fieldset', + '#title' => t('Bulk Manage Code'), + '#collapsible' => FALSE, + '#collapsed' => FALSE, + '#prefix' => '<div id="run-wrapper">', + '#suffix' => '</div>', + '#tree' => TRUE, + ); + + $form['run']['dependency'] = array( + '#type' => 'select', + '#title' => t('Dependency'), + '#options' => _list_of_dependencies(), + '#default_value' => $dependency_default_value, + '#tree' => TRUE, + '#ahah' => array( + 'event' => 'change', + 'effect' => 'none', + 'path' => ahah_helper_path(array('run')), + 'wrapper' => 'run-wrapper', + 'progress' => array( + 'type' => 'throbber', + 'message' => t(''), + ), + ), + ); + + $solution_list = array(); + /************ START OF $_POST **************/ + if ($_POST) + { + if ($dependency_default_value > 0) + { + $solution_id_q = db_query("SELECT * FROM {lab_migration_solution_dependency} WHERE dependency_id = %d", $dependency_default_value); + while ($solution_id_data = db_fetch_object($solution_id_q)) { + $solution_q = db_query("SELECT * FROM {lab_migration_solution} WHERE id = %d", $solution_id_data->solution_id); + $solution_data = db_fetch_object($solution_q); + $experiment_q = db_query("SELECT * FROM {lab_migration_experiment} WHERE id = %d", $solution_data->experiment_id); + $experiment_data = db_fetch_object($experiment_q); + $lab_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE id = %d", $experiment_data->proposal_id); + $lab_data = db_fetch_object($lab_q); + $solution_list[] = array($solution_data->code_number, $experiment_data->number . ' . ' . $experiment_data->title, $lab_data->lab_title); + } + $solution_list_header = array('Code', 'Experiment', 'Lab'); + $solution = theme_table($solution_list_header, $solution_list); + + if ($solution_list) { + $form['run']['solution_dependency'] = array( + '#type' => 'item', + '#value' => $solution, + ); + $form['run']['solution_dependency_message'] = array( + '#type' => 'item', + '#value' => 'Please unlink the dependency from the above solutions before deleting it', + ); + } + } + } + + /* hidden form elements */ + $form['run']['dependency_hidden'] = array( + '#type' => 'hidden', + '#value' => $form_state['values']['run']['dependency'], + ); + + if (!$solution_list && $dependency_default_value > 0) + { + $form['run']['delete_dependency'] = array( + '#type' => 'checkbox', + '#title' => t('Delete Dependency'), + ); + $form['run']['submit'] = array( + '#type' => 'submit', + '#value' => t('Submit') + ); + } + + return $form; +} + + +function dependency_approval_form_submit($form, &$form_state) +{ + global $user; + $root_path = lab_migration_path(); + + if ($form_state['clicked_button']['#value'] == 'Submit') + { + if (user_access('bulk manage code')) + { + if ($form_state['values']['run']['delete_dependency'] == "1") + { + $solution_q = db_query("SELECT * FROM {lab_migration_solution_dependency} WHERE dependency_id = %d", $form_state['values']['run']['dependency']); + if ($solution_data = db_fetch_object($solution_q)) { + drupal_set_message('Cannot delete dependency since it is linked with some solutions' , 'error'); + } else { + if (delete_dependency($form_state['values']['run']['dependency'])) + { + drupal_set_message('Dependency deleted' , 'status'); + } + } + } + } + } +} + +function _list_of_dependencies() +{ + $dependencies = array('0' => 'Please select...'); + $dependency_q = db_query("SELECT * FROM {lab_migration_dependency_files} ORDER BY filename ASC"); + while ($dependency_data = db_fetch_object($dependency_q)) + { + $dependencies[$dependency_data->id] = $dependency_data->filename . ' (' . $dependency_data->filepath . ')'; + } + return $dependencies; +} + diff --git a/general_deletion.inc b/general_deletion.inc index 4cad917..604768a 100755 --- a/general_deletion.inc +++ b/general_deletion.inc @@ -220,3 +220,47 @@ function del_lab_pdf($lab_id) unlink($dir_path . $pdf_filename); } + +function delete_dependency($dependency_id) +{ + global $user; + $root_path = lab_migration_path(); + $status = TRUE; + + $dependency_files_q = db_query("SELECT * FROM {lab_migration_dependency_files} WHERE id = %d", $dependency_id); + $dependency_files_data = db_fetch_object($dependency_files_q); + if (!$dependency_files_data) + { + drupal_set_message(t('Invalid dependency.'), 'error'); + return FALSE; + } + + if (!file_exists($root_path . $dependency_files_data->filepath)) + { + drupal_set_message(t('Error deleting !file. File does not exists.', array('!file' => $dependency_files_data->filepath)), 'error'); + return FALSE; + } + + /* removing dependency file */ + if (!unlink($root_path . $dependency_files_data->filepath)) + { + $status = FALSE; + drupal_set_message(t('Error deleting !file', array('!file' => $dependency_files_data->filepath)), 'error'); + + /* sending email to admins */ + $email_to = variable_get('lab_migration_emails', ''); + $param['standard']['subject'] = "[ERROR] Error deleting dependency file"; + $param['standard']['body'] = "Error deleting dependency files by " . $user->uid . " at " . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . " : + dependency id : " . $dependency_id . " + file id : " . $dependency_files_data->id . " + file path : " . $dependency_files_data->filepath; + if (!drupal_mail('lab_migration', 'standard', $email_to, language_default(), $param, variable_get('lab_migration_from_email', NULL), TRUE)) + drupal_set_message('Error sending email message.', 'error'); + } else { + /* deleting dependency files database entries */ + db_query("DELETE FROM {lab_migration_dependency_files} WHERE id = %d", $dependency_id); + } + + return $status; +} + diff --git a/lab_migration.module b/lab_migration.module index 9fa15af..8ca981c 100755 --- a/lab_migration.module +++ b/lab_migration.module @@ -136,7 +136,7 @@ function lab_migration_menu() 'file' => 'solution_proposal.inc', ); $items['lab_migration/show_proposal'] = array( - 'title' => 'Lab Migration Proposal', + 'title' => 'Lab Migration Solution Proposal', 'page callback' => 'drupal_get_form', 'page arguments' => array('lab_migration_solution_proposal_form'), 'access arguments' => array('view proposal'), @@ -173,6 +173,16 @@ function lab_migration_menu() 'weight' => 2, 'file' => 'bulk_approval.inc', ); + $items['lab_migration/code_approval/dependency'] = array( + 'title' => 'Dependency', + 'description' => 'Dependency Mangage', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('dependency_approval_form'), + 'access arguments' => array('bulk manage code'), + 'type' => MENU_LOCAL_TASK, + 'weight' => 3, + 'file' => 'dependency_approval.inc', + ); $items['lab_migration/code_approval/editcode'] = array( 'title' => 'Admin Edit Example', 'description' => 'Admin Edit Example', @@ -402,7 +412,7 @@ function lab_migration_ajax() /*************************** VALIDATION FUNCTIONS *****************************/ function lab_migration_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) @@ -434,33 +444,30 @@ function lab_migration_path() { function get_proposal() { global $user; - $proposal_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid); + $proposal_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE solution_provider_uid = %d AND solution_status = 2 ORDER BY id DESC LIMIT 1", $user->uid); $proposal_data = db_fetch_object($proposal_q); if (!$proposal_data) { - drupal_set_message("Please submit a " . l('proposal', 'lab_migration/proposal') . ".", 'error'); + drupal_set_message("You do not have any approved Lab migraion solution proposal. Please check the " . l('available', 'lab_migration/open_proposal') . " Lab migration proposal.", 'error'); drupal_goto(''); } - if ($proposal_data->proposal_status != 1) - { - switch ($proposal_data->approval_status) - { - case 0: - drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); - return FALSE; - case 1: - return $proposal_data; - case 2: - drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'lab_migration/proposal') . '.'), 'error'); - return FALSE; - case 3: - drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'lab_migration/proposal') . '.'), 'status'); - return FALSE; - default: - drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); - return FALSE; - } - } + switch ($proposal_data->approval_status) + { + case 0: + drupal_set_message(t('Proposal is awaiting approval.'), 'status'); + return FALSE; + case 1: + return $proposal_data; + case 2: + drupal_set_message(t('Proposal has been dis-approved.'), 'error'); + return FALSE; + case 3: + drupal_set_message(t('Proposal has been marked as completed.'), 'status'); + return FALSE; + default: + drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); + return FALSE; + } return FALSE; } @@ -82,7 +82,7 @@ function _latex_generate_files($lab_id, $full_lab = FALSE) { drupal_set_message('Could not fetch solution provider information for the lab specified.', 'error'); } - $solution_provider_filedata .= $solution_provider_user->name . $sep . $solution_provider_user->mail . $eol; + $solution_provider_filedata .= $proposal_data->solution_provider_name_title . $sep . $proposal_data->solution_provider_name . $sep . $proposal_data->solution_provider_department . $sep . $proposal_data->solution_provider_university . $eol; $experiment_q = db_query("SELECT * FROM {lab_migration_experiment} WHERE proposal_id = %d ORDER BY number DESC", $proposal_data->id); while ($experiment_data = db_fetch_object($experiment_q)) @@ -170,7 +170,7 @@ function _latex_generate_files($lab_id, $full_lab = FALSE) { /* download zip file */ header('Content-Type: application/pdf'); - header('Content-disposition: attachment; filename="' . $proposal_data->lab . '_' . $proposal_data->author . '.pdf"'); + header('Content-disposition: attachment; filename="' . $proposal_data->lab_title . '_' . $proposal_data->name_title . '_' . $proposal_data->name . '.pdf"'); header('Content-Length: ' . filesize($dir_path . $pdf_filename)); readfile($dir_path . $pdf_filename); } else { diff --git a/manage_proposal.inc b/manage_proposal.inc index 5d40fb1..4a72198 100755 --- a/manage_proposal.inc +++ b/manage_proposal.inc @@ -272,7 +272,7 @@ function proposal_approval_form_submit($form, &$form_state) drupal_goto('lab_migration/manage_proposal'); return; } else if ($form_state['values']['approval'] == 2) { - db_query("UPDATE {lab_migration_proposal} SET approver_uid = %d, approval_date = %d, approval_status = 2, message = '%s' WHERE id = %d", $user->uid, time(), $form_state['values']['message'], $proposal_id); + db_query("UPDATE {lab_migration_proposal} SET approver_uid = %d, approval_date = %d, approval_status = 2, message = '%s', solution_provider_uid = 0, solution_status = 0 WHERE id = %d", $user->uid, time(), $form_state['values']['message'], $proposal_id); /* sending email */ $user_data = user_load($proposal_data->uid); @@ -613,27 +613,26 @@ function proposal_edit_form($form_state) } if ($proposal_data->solution_provider_uid == 0) { - $solution_provider_user = 1; + $solution_provider_user = 'Open'; } else if ($proposal_data->solution_provider_uid == $proposal_data->uid) { - $solution_provider_user = 2; + $solution_provider_user = 'Proposer'; } else { - $solution_provider_user = 3; $user_data = user_load($proposal_data->solution_provider_uid); if (!$user_data) { $solution_provider_user = 1; drupal_set_message('Solution provider user name is invalid', 'error'); } + $solution_provider_user = $user_data->name; } $form['solution_provider_uid'] = array( - '#type' => 'radios', + '#type' => 'item', '#title' => t('Who will provide the solution'), - '#options' => array('1' => 'Open', '2' => 'Proposer', '3' => 'User name mentioned below'), - '#required' => TRUE, - '#default_value' => $solution_provider_user, + '#value' => $solution_provider_user, ); - $form['solution_provider_user_name'] = array( - '#type' => 'textfield', - '#default_value' => ($solution_provider_user == 3) ? $user_data->name : "", + + $form['open_solution'] = array( + '#type' => 'checkbox', + '#title' => t('Open the solution for everyone'), ); $form['solution_display'] = array( @@ -664,17 +663,6 @@ function proposal_edit_form_validate($form, &$form_state) { $proposal_id = (int)arg(3); - if ($form_state['values']['solution_provider_uid'] == 3) { - $solution_provider_data = user_load(array('name' => check_plain($form_state['values']['solution_provider_user_name']))); - if (!$solution_provider_data) { - form_set_error('solution_provider_user_name', t('Solution provider user name does not exists')); - } - $solution_provider_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE solution_provider_uid = %d AND approval_status IN (0, 1, 2)", $solution_provider_data->uid); - if (db_fetch_object($solution_provider_q)) { - form_set_error('solution_provider_user_name', t('Solution provider has already one proposal active')); - } - } - /* check before delete proposal */ if ($form_state['values']['delete_proposal'] == 1) { $experiment_q = db_query("SELECT * FROM {lab_migration_experiment} WHERE proposal_id = %d", $proposal_id); @@ -720,14 +708,8 @@ function proposal_edit_form_submit($form, &$form_state) return; } - $solution_provider_uid = 0; - if ($form_state['values']['solution_provider_uid'] == 1) { - $solution_provider_uid = 0; - } else if ($form_state['values']['solution_provider_uid'] == 2) { - $solution_provider_uid = $proposal_data->uid; - } else if ($form_state['values']['solution_provider_uid'] == 3) { - $user_data = user_load(array('name' => check_plain($form_state['values']['solution_provider_user_name']))); - $solution_provider_uid = (int)$user_data->uid; + if ($form_state['values']['solution_display'] == 1) { + db_query("UPDATE {lab_migration_proposal} SET solution_provider_uid = %d, solution_status = %d, solution_provider_name_title = '', solution_provider_name = '', solution_provider_contact_ph = '', solution_provider_department = '', solution_provider_university = '' WHERE id = %d", 0, 0, $proposal_id); } $solution_display = 0; diff --git a/manage_solution_proposal.inc b/manage_solution_proposal.inc index d042135..4bdea77 100755 --- a/manage_solution_proposal.inc +++ b/manage_solution_proposal.inc @@ -3,7 +3,7 @@ function solution_proposal_pending() { - /* get list of solution proposal where the solution_provider_uid is set to some userid except 0 and solution_status is also 0 */ + /* get list of solution proposal where the solution_provider_uid is set to some userid except 0 and solution_status is also 1 */ $pending_rows = array(); $pending_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE solution_provider_uid != 0 AND solution_status = 1 ORDER BY id DESC"); while ($pending_data = db_fetch_object($pending_q)) @@ -103,15 +103,21 @@ function solution_proposal_approval_form($form_state) ); if ($proposal_data->solution_provider_uid == 0) { - $solution_provider = "User will not provide solution, we will have to provide solution"; + $solution_provider = "Open"; } else if ($proposal_data->solution_provider_uid == $proposal_data->uid) { $solution_provider = "Proposer will provide the solution of the lab"; } else { $solution_provider_user_data = user_load($proposal_data->solution_provider_uid); - if ($solution_provider_user_data) - $solution_provider = l($solution_provider_user_data->name, 'user/' . $proposal_data->solution_provider_uid); - else + if ($solution_provider_user_data) { + $solution_provider .= '<ul>' . + '<li><strong>Solution Provider:</strong> ' . l($solution_provider_user_data->name, 'user/' . $proposal_data->solution_provider_uid) . '</li>' . + '<li><strong>Solution Provider Name:</strong> ' . $proposal_data->solution_provider_name_title . ' ' . $proposal_data->solution_provider_name . '</li>' . + '<li><strong>Department:</strong> ' . $proposal_data->solution_provider_department . '</li>' . + '<li><strong>University:</strong> ' . $proposal_data->solution_provider_university . '</li>' . + '</ul>'; + } else { $solution_provider = "User does not exists"; + } } $form['solution_provider_uid'] = array( '#type' => 'item', @@ -200,7 +206,7 @@ function solution_proposal_approval_form_submit($form, &$form_state) drupal_goto('lab_migration/manage_proposal/pending_solution_proposal'); return; } else if ($form_state['values']['approval'] == 2) { - db_query("UPDATE {lab_migration_proposal} SET solution_provider_uid = 0, solution_status = 0 WHERE id = %d", $proposal_id); + db_query("UPDATE {lab_migration_proposal} SET solution_provider_uid = 0, solution_status = 0, solution_provider_name_title = '', solution_provider_name = '', solution_provider_contact_ph = '', solution_provider_department = '', solution_provider_university = '' WHERE id = %d", $proposal_id); /* sending email */ $email_to = $user_data->mail; diff --git a/proposal.inc b/proposal.inc index 1d69583..44e6435 100755 --- a/proposal.inc +++ b/proposal.inc @@ -148,10 +148,23 @@ function lab_migration_proposal_form_submit($form, &$form_state) } $solution_provider_uid = 0; - if ($form_state['values']['solution_provider_uid'] == "1") + $solution_status = 0; + $solution_provider_name_title = ''; + $solution_provider_name = ''; + $solution_provider_contact_ph = ''; + $solution_provider_department = ''; + $solution_provider_university = ''; + if ($form_state['values']['solution_provider_uid'] == "1") { $solution_provider_uid = $user->uid; - else + $solution_status = 1; + $solution_provider_name_title = $form_state['values']['name_title']; + $solution_provider_name = $form_state['values']['name']; + $solution_provider_contact_ph = $form_state['values']['contact_ph']; + $solution_provider_department = $form_state['values']['department']; + $solution_provider_university = $form_state['values']['university']; + } else { $solution_provider_uid = 0; + } $solution_display = 0; if ($form_state['values']['solution_display'] == "1") @@ -161,8 +174,8 @@ function lab_migration_proposal_form_submit($form, &$form_state) /* inserting the user proposal */ $result = db_query("INSERT INTO {lab_migration_proposal} - (uid, approver_uid, name_title, name, contact_ph, department, university, lab_title, approval_status, solution_status, solution_provider_uid, solution_display, creation_date, approval_date, solution_date) VALUES - (%d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, 0, 0)", + (uid, approver_uid, name_title, name, contact_ph, department, university, 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) VALUES + (%d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, 0, 0, '%s', '%s', '%s', '%s', '%s')", $user->uid, 0, $form_state['values']['name_title'], @@ -172,10 +185,15 @@ function lab_migration_proposal_form_submit($form, &$form_state) $form_state['values']['university'], $form_state['values']['lab_title'], 0, - 0, + $solution_status, $solution_provider_uid, $solution_display, - time() + time(), + $solution_provider_name_title, + $solution_provider_name, + $solution_provider_contact_ph, + $solution_provider_department, + $solution_provider_university ); if (!$result) { @@ -96,12 +96,23 @@ function lab_migration_run_form($form_state) if ($lab_details->solution_provider_uid > 0) { $user_solution_provider = user_load($lab_details->solution_provider_uid); if ($user_solution_provider) { - $solution_provider = '<li><strong>Solution Provider: </strong>' . l($user_solution_provider->name, 'user/' . $lab_details->solution_provider_uid) . '</li>'; + $solution_provider = '<span style="color: rgb(128, 0, 0);"><strong>Solution Provider</strong></span></td><td style="width: 35%;"><br />' . + '<ul>' . + '<li><strong>Solution Provider Name:</strong> ' . $lab_details->solution_provider_name_title . ' ' . $lab_details->solution_provider_name . '</li>' . + '<li><strong>Department:</strong> ' . $lab_details->solution_provider_department . '</li>' . + '<li><strong>University:</strong> ' . $lab_details->solution_provider_university . '</li>' . + '</ul>'; } else { - $solution_provider = '<li><strong>Solution Provider: </strong> (Open) </li>'; + $solution_provider = '<span style="color: rgb(128, 0, 0);"><strong>Solution Provider</strong></span></td><td style="width: 35%;"><br />' . + '<ul>' . + '<li><strong>Solution Provider: </strong> (Open) </li>' . + '</ul>'; } } else { - $solution_provider = '<li><strong>Solution Provider: </strong> (Open) </li>'; + $solution_provider = '<span style="color: rgb(128, 0, 0);"><strong>Solution Provider</strong></span></td><td style="width: 35%;"><br />' . + '<ul>' . + '<li><strong>Solution Provider: </strong> (Open) </li>' . + '</ul>'; } $category_data = get_category_name($lab_details->category); @@ -115,8 +126,8 @@ function lab_migration_run_form($form_state) '<li><strong>Department:</strong> ' . $lab_details->department . '</li>' . '<li><strong>University:</strong> ' . $lab_details->university . '</li>' . '<li><strong>Category:</strong> ' . $category_data . '</li>' . - $solution_provider . - '</ul>', + '</ul>' . + $solution_provider, ); $form['run']['download_lab'] = array( diff --git a/solution_proposal.inc b/solution_proposal.inc index a4fdba6..f829d8e 100755 --- a/solution_proposal.inc +++ b/solution_proposal.inc @@ -35,27 +35,7 @@ function lab_migration_solution_proposal_form($form_state) $form['name'] = array( '#type' => 'item', '#value' => l($proposal_data->name_title . ' ' . $proposal_data->name, 'user/' . $proposal_data->uid), - '#title' => t('Name'), - ); - $form['email_id'] = array( - '#type' => 'item', - '#value' => user_load($proposal_data->uid)->mail, - '#title' => t('Email'), - ); - $form['contact_ph'] = array( - '#type' => 'item', - '#value' => $proposal_data->contact_ph, - '#title' => t('Contact Phone No.'), - ); - $form['department'] = array( - '#type' => 'item', - '#value' => $proposal_data->department, - '#title' => t('Department/Branch'), - ); - $form['university'] = array( - '#type' => 'item', - '#value' => $proposal_data->university, - '#title' => t('University/Institute'), + '#title' => t('Proposer Name'), ); $form['lab_title'] = array( '#type' => 'item', @@ -74,6 +54,57 @@ function lab_migration_solution_proposal_form($form_state) '#title' => t('Experiment List'), ); + $form['solution_provider_name_title'] = array( + '#type' => 'select', + '#title' => t('Title'), + '#options' => array('Mr' => 'Mr', 'Ms' => 'Ms', 'Mrs' => 'Mrs', 'Dr' => 'Dr', 'Prof' => 'Prof'), + '#required' => TRUE, + ); + $form['solution_provider_name'] = array( + '#type' => 'textfield', + '#title' => t('Name of the Solution Provider'), + '#size' => 30, + '#maxlength' => 50, + '#required' => TRUE, + ); + $form['solution_provider_email_id'] = array( + '#type' => 'textfield', + '#title' => t('Email'), + '#size' => 30, + '#value' => $user->mail, + '#disabled' => TRUE, + ); + $form['solution_provider_contact_ph'] = array( + '#type' => 'textfield', + '#title' => t('Contact Phone No.'), + '#size' => 30, + '#maxlength' => 15, + '#required' => TRUE, + ); + $form['solution_provider_department'] = array( + '#type' => 'select', + '#title' => t('Department/Branch'), + '#options' => array('' => 'Please select...', + 'Computer Engineering' => 'Computer Engineering', + 'Electrical Engineering' => 'Electrical Engineering', + 'Electronics Engineering' => 'Electronics Engineering', + 'Chemical Engineering' => 'Chemical Engineering', + 'Instrumentation Engineering' => 'Instrumentation Engineering', + 'Mechanical Engineering' => 'Mechanical Engineering', + 'Civil Engineering' => 'Civil Engineering', + 'Physics' => 'Physics', + 'Mathematics' => 'Mathematics', + 'Others' => 'Others'), + '#required' => TRUE, + ); + $form['solution_provider_university'] = array( + '#type' => 'textfield', + '#title' => t('University/Institute'), + '#size' => 30, + '#maxlength' => 50, + '#required' => TRUE, + ); + $form['submit'] = array( '#type' => 'submit', '#value' => t('Apply for Solution') @@ -110,7 +141,14 @@ function lab_migration_solution_proposal_form_submit($form_state, &$form_state) drupal_goto('lab_migration/open_proposal'); } - db_query("UPDATE {lab_migration_proposal} set solution_provider_uid = %d, solution_status = 1 WHERE id = %d", $user->uid, $proposal_id); + db_query("UPDATE {lab_migration_proposal} set solution_provider_uid = %d, solution_status = 1, solution_provider_name_title = '%s', solution_provider_name = '%s', solution_provider_contact_ph = '%s', solution_provider_department = '%s', solution_provider_university = '%s' WHERE id = %d", + $user->uid, + $form_state['values']['solution_provider_name_title'], + $form_state['values']['solution_provider_name'], + $form_state['values']['solution_provider_contact_ph'], + $form_state['values']['solution_provider_department'], + $form_state['values']['solution_provider_university'], + $proposal_id); drupal_set_message("We have received your application. We will get back to you soon.", 'status'); /* sending email */ diff --git a/upload_code.inc b/upload_code.inc index 4b3f214..71bb8c8 100755 --- a/upload_code.inc +++ b/upload_code.inc @@ -11,8 +11,7 @@ function list_experiments() return; } - $return_html = '<br />'; - $return_html .= '<strong>Title of the Lab:</strong><br />' . $proposal_data->lab_title . '<br /><br />'; + $return_html = '<strong>Title of the Lab:</strong><br />' . $proposal_data->lab_title . '<br /><br />'; $return_html .= '<strong>Proposer Name:</strong><br />' . $proposal_data->name_title . ' ' . $proposal_data->name . '<br /><br />'; $return_html .= l('Upload Solution', 'lab_migration/code/upload') . '<br />'; @@ -114,8 +113,8 @@ function upload_code_form($form_state) ); $form['name'] = array( '#type' => 'item', - '#value' => $proposal_data->name, - '#title' => t('Contributor Name'), + '#value' => $proposal_data->name_title . ' ' . $proposal_data->name, + '#title' => t('Proposer Name'), ); /* get experiment list */ @@ -323,7 +322,7 @@ function upload_code_form_validate($form, &$form_state) /* check if valid file name */ if (!lab_migration_check_valid_filename($_FILES['files']['name'][$file_form_name])) - form_set_error($file_form_name, t('Invalid file name specified. Only alphabets, numbers and underscore is allowed as a valid filename.')); + form_set_error($file_form_name, t('Invalid file name specified. Only alphabets and numbers are allowed as a valid filename.')); } } } |