summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdependency.inc7
-rwxr-xr-xdependency_approval.inc138
-rwxr-xr-xgeneral_deletion.inc44
-rwxr-xr-xlab_migration.module55
-rwxr-xr-xlatex.inc4
-rwxr-xr-xmanage_proposal.inc42
-rwxr-xr-xmanage_solution_proposal.inc18
-rwxr-xr-xproposal.inc30
-rwxr-xr-xrun.inc21
-rwxr-xr-xsolution_proposal.inc82
-rwxr-xr-xupload_code.inc9
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;
}
diff --git a/latex.inc b/latex.inc
index 005b535..b93a949 100755
--- a/latex.inc
+++ b/latex.inc
@@ -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)
{
diff --git a/run.inc b/run.inc
index 82a7d43..ae5945c 100755
--- a/run.inc
+++ b/run.inc
@@ -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.'));
}
}
}