diff options
author | Prashant P. Shah | 2011-07-07 14:44:09 +0530 |
---|---|---|
committer | Prashant P. Shah | 2011-07-07 14:44:09 +0530 |
commit | 84758a501241369263f74d1564ea58e6307d35dc (patch) | |
tree | 6a4d8329bb6e8f7e82cc09c652de0c984987aa51 | |
parent | d557dc9eea273810dc9dcac762db900365758125 (diff) | |
download | scilab_lab_migration-84758a501241369263f74d1564ea58e6307d35dc.tar.gz scilab_lab_migration-84758a501241369263f74d1564ea58e6307d35dc.tar.bz2 scilab_lab_migration-84758a501241369263f74d1564ea58e6307d35dc.zip |
Added proposal edit form
Signed-off-by: Prashant P. Shah <pshah.mumbai@gmail.com>
-rw-r--r-- | lab_migration.module | 205 | ||||
-rw-r--r-- | manage_proposal.inc | 503 |
2 files changed, 72 insertions, 636 deletions
diff --git a/lab_migration.module b/lab_migration.module index ea6ee7b..eee9cec 100644 --- a/lab_migration.module +++ b/lab_migration.module @@ -56,6 +56,15 @@ function lab_migration_menu() 'type' => MENU_CALLBACK, 'file' => 'manage_proposal.inc', ); + $items['lab_migration/manage_proposal/edit'] = array( + 'title' => 'Edit Proposal', + 'description' => 'Edit Proposal', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('proposal_edit_form'), + 'access arguments' => array('approve proposal'), + 'type' => MENU_CALLBACK, + 'file' => 'manage_proposal.inc', + ); /* for admin */ $items['admin/settings/lab_migration'] = array( @@ -169,202 +178,6 @@ Lab Migration Team !site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); break; - case 'proposal_completed': - $proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE id = %d LIMIT 1", $params['proposal_completed']['proposal_id']); - $proposal_data = db_fetch_object($proposal_q); - $approved_preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $params['proposal_completed']['proposal_id']); - $approved_preference_data = db_fetch_object($approved_preference_q); - $user_data = user_load($params['proposal_completed']['user_id']); - - $message['subject'] = t('[!site_name] Congratulations for completion of the book.', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -Following book has been completed sucessfully by you: - -Full Name : ' . $proposal_data->full_name . ' -Email : ' . $user_data->mail . ' -Mobile : ' . $proposal_data->mobile . ' -Course : ' . $proposal_data->course . ' -Department/Branch : ' . $proposal_data->branch . ' -University/Institute : ' . $proposal_data->university . ' -College Teacher / Professor : ' . $proposal_data->faculty . ' -Reviewer : ' . $proposal_data->reviewer . ' -Expected date of completion : ' . date('d-m-Y', $proposal_data->completion_date) . ' - -Title of the book : ' . $approved_preference_data->book . ' -Author name : ' . $approved_preference_data->author . ' -ISBN No. : ' . $approved_preference_data->isbn . ' -Publisher and Place : ' . $approved_preference_data->publisher . ' -Edition : ' . $approved_preference_data->edition . ' -Year of publication : ' . $approved_preference_data->year . ' - -Your book is now available at following link to download. - -http://scilab.in/textbook_run/' . $approved_preference_data->id . ' - -Now you should be able to propose a new book... - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_uploaded': - $example_q = db_query("SELECT * FROM {textbook_companion_example} WHERE id = %d LIMIT 1", $params['example_uploaded']['example_id']); - $example_data = db_fetch_object($example_q); - $user_data = user_load($params['example_uploaded']['user_id']); - - $message['subject'] = t('[!site_name] You have uploaded example', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -You have uploaded the following example: - -Example number : ' . $example_data->number . ' -Caption : ' . $example_data->caption . ' - -The example is under review. You will be notified when it has been approved. - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_updated': - $example_q = db_query("SELECT * FROM {textbook_companion_example} WHERE id = %d LIMIT 1", $params['example_updated']['example_id']); - $example_data = db_fetch_object($example_q); - $user_data = user_load($params['example_updated']['user_id']); - - $message['subject'] = t('[!site_name] You have updated example', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -You have updated the following example: - -Example number : ' . $example_data->number . ' -Caption : ' . $example_data->caption . ' - -The example is still under review. You will be notified when it has been approved. - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_updated_admin': - $example_q = db_query("SELECT * FROM {textbook_companion_example} WHERE id = %d LIMIT 1", $params['example_updated_admin']['example_id']); - $example_data = db_fetch_object($example_q); - $user_data = user_load($params['example_updated_admin']['user_id']); - - $message['subject'] = t('[!site_name] Reviewer have updated example', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -Reviewer have updated the following example: - -Example number : ' . $example_data->number . ' -Caption : ' . $example_data->caption . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_approved': - $example_q = db_query("SELECT * FROM {textbook_companion_example} WHERE id = %d LIMIT 1", $params['example_approved']['example_id']); - $example_data = db_fetch_object($example_q); - $user_data = user_load($params['example_approved']['user_id']); - - $message['subject'] = t('[!site_name] Your uploaded example has been approved', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -Your following example has been approved: - -Example number : ' . $example_data->number . ' -Caption : ' . $example_data->caption . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_disapproved': - $user_data = user_load($params['example_disapproved']['user_id']); - - $message['subject'] = t('[!site_name] Your uploaded example has been disapproved', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -Your following example has been disapproved: - -Example number : ' . $params['example_disapproved']['example_number'] . ' -Caption : ' . $params['example_disapproved']['example_caption'] . ' - -Reason for dis-approval : ' . $params['example_disapproved']['message'] . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'example_deleted_user': - $user_data = user_load($params['example_deleted_user']['user_id']); - - $message['subject'] = t('[!site_name] User has deleted pending example', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -Your following pending example has been deleted : - -Title of the Book : ' . $params['example_deleted_user']['book_title'] . ' -Title of the Chapter : ' . $params['example_deleted_user']['chapter_title'] . ' -Example number : ' . $params['example_deleted_user']['example_number'] . ' -Caption : ' . $params['example_deleted_user']['example_caption'] . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'dependency_uploaded': - $user_data = user_load($params['dependency_uploaded']['user_id']); - $dependency_files = implode(',', $params['dependency_uploaded']['dependency_names']); - - $message['subject'] = t('[!site_name] You have uploaded dependency file', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -You have uploaded following dependency files : - ' . $dependency_files . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - - case 'feedback_received': - $user_data = user_load($params['feedback_received']['user_id']); - - $message['subject'] = t('[!site_name] We have received your feedback', array('!site_name' => variable_get('site_name', '')), $language->language); - $message['body'] = t(' -Dear !user_name, - -We have received your following feedback - -Title of the Book: ' . $params['feedback_received']['book_title'] . ' -Title of the Chapter: ' . $params['feedback_received']['chapter_number'] . ' ' . $params['feedback_received']['chapter_title'] . ' -Example No.: ' . $params['feedback_received']['example_no'] . ' - -Your feedback : -' . $params['feedback_received']['feedback'] . ' - -Best Wishes, - -!site_name', array('!site_name' => variable_get('site_name', ''), '!user_name' => $user_data->name), $language->language); - break; - case 'standard': $message['subject'] = $params['standard']['subject']; $message['body'] = $params['standard']['body']; diff --git a/manage_proposal.inc b/manage_proposal.inc index f417cf0..cf8616f 100644 --- a/manage_proposal.inc +++ b/manage_proposal.inc @@ -8,7 +8,7 @@ function _proposal_pending() $pending_q = db_query("SELECT * FROM {lab_migration_proposal} WHERE approval_status = 0 ORDER BY id DESC"); while ($pending_data = db_fetch_object($pending_q)) { - $pending_rows[$pending_data->id] = array(date('d-m-Y', $pending_data->creation_date), l($pending_data->name, 'user/' . $pending_data->uid), $pending_data->department, $pending_data->university, $pending_data->lab_title, l('Approve', 'lab_migration/manage_proposal/approve/' . $pending_data->id) . ' | ' . l('Edit', 'manage_proposal/edit/' . $pending_data->id)); + $pending_rows[$pending_data->id] = array(date('d-m-Y', $pending_data->creation_date), l($pending_data->name, 'user/' . $pending_data->uid), $pending_data->department, $pending_data->university, $pending_data->lab_title, l('Approve', 'lab_migration/manage_proposal/approve/' . $pending_data->id) . ' | ' . l('Edit', '/lab_migration/manage_proposal/edit/' . $pending_data->id)); } /* check if there are any pending proposals */ @@ -39,7 +39,7 @@ function _proposal_all() case 3: $proposal_status = 'Completed'; break; default: $proposal_status = 'Unknown'; break; } - $proposal_rows[] = array(date('d-m-Y', $proposal_data->creation_date), l($proposal_data->name, 'user/' . $proposal_data->uid), $proposal_data->department, $proposal_data->university, $proposal_data->lab_title, $proposal_status, l('Approve', 'lab_migration/manage_proposal/approve/' . $proposal_data->id) . ' | ' . l('Edit', 'manage_proposal/edit/' . $proposal_data->id)); + $proposal_rows[] = array(date('d-m-Y', $proposal_data->creation_date), l($proposal_data->name, 'user/' . $proposal_data->uid), $proposal_data->department, $proposal_data->university, $proposal_data->lab_title, $proposal_status, l('Approve', 'lab_migration/manage_proposal/approve/' . $proposal_data->id) . ' | ' . l('Edit', 'lab_migration/manage_proposal/edit/' . $proposal_data->id)); } /* check if there are any pending proposals */ @@ -230,79 +230,42 @@ function proposal_edit_form($form_state) global $user; /* get current proposal */ - $proposal_id = arg(2); - $proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE id = %d", $proposal_id); - if ($proposal_q) - { - $proposal_data = db_fetch_object($proposal_q); - if (!$proposal_data) - { - drupal_set_message(t('Invalid proposal selected. Please try again.'), 'error'); - drupal_goto('manage_proposal'); - return; - } - } else { + $proposal_id = arg(3); + $result = db_query("SELECT * FROM {lab_migration_proposal} WHERE id = %d", $proposal_id); + if (!($row = db_fetch_object($result))) { drupal_set_message(t('Invalid proposal selected. Please try again.'), 'error'); - drupal_goto('manage_proposal'); + drupal_goto('lab_migration/manage_proposal'); return; } $user_data = user_load($proposal_data->uid); - $preference1_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 1); - $preference1_data = db_fetch_object($preference1_q); - $preference2_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 2); - $preference2_data = db_fetch_object($preference2_q); - $preference3_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 3); - $preference3_data = db_fetch_object($preference3_q); - - $form['full_name'] = array( + $form['name'] = array( '#type' => 'textfield', - '#title' => t('Full Name'), + '#title' => t('Name of the Professor'), '#size' => 30, '#maxlength' => 50, '#required' => TRUE, - '#default_value' => $proposal_data->full_name, + '#default_value' => $row->name, ); $form['email_id'] = array( - '#type' => 'textfield', + '#type' => 'item', '#title' => t('Email'), - '#size' => 30, - '#value' => $user_data->mail, - '#disabled' => TRUE, + '#value' => $user->mail, ); - $form['mobile'] = array( + $form['contact_ph'] = array( '#type' => 'textfield', - '#title' => t('Mobile No.'), + '#title' => t('Contact Phone No.'), '#size' => 30, '#maxlength' => 15, '#required' => TRUE, - '#default_value' => $proposal_data->mobile, + '#default_value' => $row->contact_ph, ); - $form['how_project'] = array( - '#type' => 'select', - '#title' => t('How did you come to know about this project'), - '#options' => array('Scilab Website' => 'Scilab Website', - 'Friend' => 'Friend', - 'Professor/Teacher' => 'Professor/Teacher', - 'Mailing List' => 'Mailing List', - 'Poster in my/other college' => 'Poster in my/other college', - 'Others' => 'Others'), - '#required' => TRUE, - '#default_value' => $proposal_data->how_project, - ); - $form['course'] = array( - '#type' => 'textfield', - '#title' => t('Course'), - '#size' => 30, - '#maxlength' => 50, - '#required' => TRUE, - '#default_value' => $proposal_data->course, - ); - $form['branch'] = array( + $form['department'] = array( '#type' => 'select', '#title' => t('Department/Branch'), - '#options' => array('Electrical Engineering' => 'Electrical Engineering', + '#options' => array('' => 'Please select...', + 'Electrical Engineering' => 'Electrical Engineering', 'Electronics Engineering' => 'Electronics Engineering', 'Computer Engineering' => 'Computer Engineering', 'Chemical Engineering' => 'Chemical Engineering', @@ -313,207 +276,52 @@ function proposal_edit_form($form_state) 'Mathematics' => 'Mathematics', 'Others' => 'Others'), '#required' => TRUE, - '#default_value' => $proposal_data->branch, + '#default_value' => $row->department, ); $form['university'] = array( '#type' => 'textfield', '#title' => t('University/Institute'), '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $proposal_data->university, - ); - $form['faculty'] = array( - '#type' => 'textfield', - '#title' => t('College Teacher/Professor'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $proposal_data->faculty, - ); - $form['reviewer'] = array( - '#type' => 'textfield', - '#title' => t('Reviewer'), - '#size' => 30, - '#maxlength' => 100, - '#default_value' => $proposal_data->reviewer, - ); - $form['completion_date'] = array( - '#type' => 'textfield', - '#title' => t('Expected Date of Completion'), - '#description' => t('Input date format should be DD-MM-YYYY. Eg: 23-03-2011'), - '#size' => 10, - '#maxlength' => 10, - '#default_value' => date('d-m-Y', $proposal_data->completion_date), - ); - $form['preference1'] = array( - '#type' => 'fieldset', - '#title' => t('Book Preference 1'), - '#collapsible' => TRUE, - '#collapsed' => FALSE, - ); - $form['preference1']['book1'] = array( - '#type' => 'textfield', - '#title' => t('Title of the book'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference1_data->book, - ); - $form['preference1']['author1'] = array( - '#type' => 'textfield', - '#title' => t('Author Name'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference1_data->author, - ); - $form['preference1']['isbn1'] = array( - '#type' => 'textfield', - '#title' => t('ISBN No'), - '#size' => 30, - '#maxlength' => 25, - '#required' => TRUE, - '#default_value' => $preference1_data->isbn, - ); - $form['preference1']['publisher1'] = array( - '#type' => 'textfield', - '#title' => t('Publisher & Place'), - '#size' => 30, '#maxlength' => 50, '#required' => TRUE, - '#default_value' => $preference1_data->publisher, - ); - $form['preference1']['edition1'] = array( - '#type' => 'textfield', - '#title' => t('Edition'), - '#size' => 4, - '#maxlength' => 2, - '#required' => TRUE, - '#default_value' => $preference1_data->edition, - ); - $form['preference1']['year1'] = array( - '#type' => 'textfield', - '#title' => t('Year of pulication'), - '#size' => 4, - '#maxlength' => 4, - '#required' => TRUE, - '#default_value' => $preference1_data->year, - ); - $form['preference2'] = array( - '#type' => 'fieldset', - '#title' => t('Book Preference 2'), - '#collapsible' => TRUE, - '#collapsed' => FALSE, - ); - $form['preference2']['book2'] = array( - '#type' => 'textfield', - '#title' => t('Title of the book'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference2_data->book, - ); - $form['preference2']['author2'] = array( - '#type' => 'textfield', - '#title' => t('Author Name'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference2_data->author, - ); - $form['preference2']['isbn2'] = array( - '#type' => 'textfield', - '#title' => t('ISBN No'), - '#size' => 30, - '#maxlength' => 25, - '#required' => TRUE, - '#default_value' => $preference2_data->isbn, + '#default_value' => $row->university, ); - $form['preference2']['publisher2'] = array( + $form['lab_title'] = array( '#type' => 'textfield', - '#title' => t('Publisher & Place'), + '#title' => t('Title of the Lab'), '#size' => 30, '#maxlength' => 50, '#required' => TRUE, - '#default_value' => $preference2_data->publisher, - ); - $form['preference2']['edition2'] = array( - '#type' => 'textfield', - '#title' => t('Edition'), - '#size' => 4, - '#maxlength' => 2, - '#required' => TRUE, - '#default_value' => $preference2_data->edition, - ); - $form['preference2']['year2'] = array( - '#type' => 'textfield', - '#title' => t('Year of pulication'), - '#size' => 4, - '#maxlength' => 4, - '#required' => TRUE, - '#default_value' => $preference2_data->year, - ); - $form['preference3'] = array( - '#type' => 'fieldset', - '#title' => t('Book Preference 3'), - '#collapsible' => TRUE, - '#collapsed' => FALSE, - ); - $form['preference3']['book3'] = array( - '#type' => 'textfield', - '#title' => t('Title of the book'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference3_data->book, - ); - $form['preference3']['author3'] = array( - '#type' => 'textfield', - '#title' => t('Author Name'), - '#size' => 30, - '#maxlength' => 100, - '#required' => TRUE, - '#default_value' => $preference3_data->author, - ); - $form['preference3']['isbn3'] = array( - '#type' => 'textfield', - '#title' => t('ISBN No'), - '#size' => 30, - '#maxlength' => 25, - '#required' => TRUE, - '#default_value' => $preference3_data->isbn, + '#default_value' => $row->lab_title, ); - $form['preference3']['publisher3'] = array( + $form['problem_topic'] = array( '#type' => 'textfield', - '#title' => t('Publisher & Place'), + '#title' => t('Topic of the Problem'), '#size' => 30, '#maxlength' => 50, '#required' => TRUE, - '#default_value' => $preference3_data->publisher, - ); - $form['preference3']['edition3'] = array( - '#type' => 'textfield', - '#title' => t('Edition'), - '#size' => 4, - '#maxlength' => 2, - '#required' => TRUE, - '#default_value' => $preference3_data->edition, - ); - $form['preference3']['year3'] = array( - '#type' => 'textfield', - '#title' => t('Year of pulication'), - '#size' => 4, - '#maxlength' => 4, - '#required' => TRUE, - '#default_value' => $preference3_data->year, + '#default_value' => $row->problem_topic, ); - /* hidden fields */ - $form['hidden_proposal_id'] = array( - '#type' => 'hidden', - '#value' => $proposal_id, - ); + $problem_file_q = db_query("SELECT * FROM {lab_migration_files} WHERE link_id = %d AND filetype = 'P'", $row->id); + $problem_file_data = db_fetch_object($problem_file_q); + if ($problem_file_data) { + $form['problem_file'] = array( + '#type' => 'item', + '#value' => l($problem_file_data->filename, $dl_root_path . $problem_file_data->filepath), + '#title' => t('Problem statement'), + ); + } + + $sup_file_q = db_query("SELECT * FROM {lab_migration_files} WHERE link_id = %d AND filetype = 'S'", $row->id); + $sup_file_data = db_fetch_object($sup_file_q); + if ($sup_file_data) { + $form['supplementary_file'] = array( + '#type' => 'item', + '#value' => l($sup_file_data->filename, $dl_root_path . $sup_file_data->filepath), + '#title' => t('Supplementary file'), + ); + } $form['submit'] = array( '#type' => 'submit', @@ -521,225 +329,40 @@ function proposal_edit_form($form_state) ); $form['cancel'] = array( '#type' => 'markup', - '#value' => l(t('Cancel'), 'manage_proposal'), + '#value' => l(t('Cancel'), 'lab_migration/manage_proposal'), ); return $form; } function proposal_edit_form_validate($form, &$form_state) { - /* mobile */ + /* contact phone */ if (!preg_match('/^[0-9\ \+]{0,15}$/', $form_state['values']['mobile'])) form_set_error('mobile', t('Invalid mobile number')); - - /* date of completion */ - if (!preg_match('/^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}$/', $form_state['values']['completion_date'])) - form_set_error('completion_date', t('Invalid expected date of completion')); - - list($d, $m, $y) = explode('-', $form_state['values']['completion_date']); - $d = (int)$d; $m = (int)$m; $y = (int)$y; - if (!checkdate($m, $d, $y)) - form_set_error('completion_date', t('Invalid expected date of completion')); - if (mktime(0, 0, 0, $m, $d, $y) <= time()) - form_set_error('completion_date', t('Expected date of completion should be in future')); - - /* edition */ - if (!preg_match('/^[1-9][0-9]{0,1}$/', $form_state['values']['edition1'])) - form_set_error('edition1', t('Invalid edition for Book Preference 1')); - if (!preg_match('/^[1-9][0-9]{0,1}$/', $form_state['values']['edition2'])) - form_set_error('edition2', t('Invalid edition for Book Preference 2')); - if (!preg_match('/^[1-9][0-9]{0,1}$/', $form_state['values']['edition3'])) - form_set_error('edition3', t('Invalid edition for Book Preference 3')); - - /* year of publication */ - if (!preg_match('/^[1-3][0-9][0-9][0-9]$/', $form_state['values']['year1'])) - form_set_error('year1', t('Invalid year of pulication for Book Preference 1')); - if (!preg_match('/^[1-3][0-9][0-9][0-9]$/', $form_state['values']['year2'])) - form_set_error('year2', t('Invalid year of pulication for Book Preference 2')); - if (!preg_match('/^[1-3][0-9][0-9][0-9]$/', $form_state['values']['year3'])) - form_set_error('year3', t('Invalid year of pulication for Book Preference 3')); - - /* year of publication */ - $cur_year = date('Y'); - if ((int)$form_state['values']['year1'] > $cur_year) - form_set_error('year1', t('Year of pulication should be not in the future for Book Preference 1')); - if ((int)$form_state['values']['year2'] > $cur_year) - form_set_error('year2', t('Year of pulication should be not in the future for Book Preference 2')); - if ((int)$form_state['values']['year3'] > $cur_year) - form_set_error('year3', t('Year of pulication should be not in the future for Book Preference 3')); - - /* isbn */ - if (!preg_match('/^[0-9\-xX]+$/', $form_state['values']['isbn1'])) - form_set_error('isbn1', t('Invalid ISBN for Book Preference 1')); - if (!preg_match('/^[0-9\-xX]+$/', $form_state['values']['isbn2'])) - form_set_error('isbn2', t('Invalid ISBN for Book Preference 2')); - if (!preg_match('/^[0-9\-xX]+$/', $form_state['values']['isbn3'])) - form_set_error('isbn3', t('Invalid ISBN for Book Preference 3')); return; } function proposal_edit_form_submit($form, &$form_state) { - /* completion date to timestamp */ - list($d, $m, $y) = explode('-', $form_state['values']['completion_date']); - $completion_date_timestamp = mktime(0, 0, 0, $m, $d, $y); - - $proposal_id = $form_state['values']['hidden_proposal_id']; - - db_query("UPDATE {textbook_companion_proposal} SET full_name = '%s', mobile = '%s', how_project = '%s', course = '%s', branch = '%s', university = '%s', faculty = '%s', reviewer = '%s', completion_date = %d WHERE id = %d", - $form_state['values']['full_name'], - $form_state['values']['mobile'], - $form_state['values']['how_project'], - $form_state['values']['course'], - $form_state['values']['branch'], - $form_state['values']['university'], - $form_state['values']['faculty'], - $form_state['values']['reviewer'], - $completion_date_timestamp, - $proposal_id); - - $preference1_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 1); - $preference1_data = db_fetch_object($preference1_q); - if ($preference1_data) - $preference1_id = $preference1_data->id; - $preference2_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 2); - $preference2_data = db_fetch_object($preference2_q); - if ($preference2_data) - $preference2_id = $preference2_data->id; - $preference3_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND pref_number = %d LIMIT 1", $proposal_id, 3); - $preference3_data = db_fetch_object($preference3_q); - if ($preference3_data) - $preference3_id = $preference3_data->id; - - if ($preference1_data) - { - db_query("UPDATE {textbook_companion_preference} SET book = '%s', author = '%s', isbn = '%s', publisher = '%s', edition = %d, year = %d WHERE id = %d", - $form_state['values']['book1'], - $form_state['values']['author1'], - $form_state['values']['isbn1'], - $form_state['values']['publisher1'], - $form_state['values']['edition1'], - $form_state['values']['year1'], - $preference1_id); - } - if ($preference2_data) - { - db_query("UPDATE {textbook_companion_preference} SET book = '%s', author = '%s', isbn = '%s', publisher = '%s', edition = %d, year = %d WHERE id = %d", - $form_state['values']['book2'], - $form_state['values']['author2'], - $form_state['values']['isbn2'], - $form_state['values']['publisher2'], - $form_state['values']['edition2'], - $form_state['values']['year2'], - $preference2_id); - } - if ($preference3_data) - { - db_query("UPDATE {textbook_companion_preference} SET book = '%s', author = '%s', isbn = '%s', publisher = '%s', edition = %d, year = %d WHERE id = %d", - $form_state['values']['book3'], - $form_state['values']['author3'], - $form_state['values']['isbn3'], - $form_state['values']['publisher3'], - $form_state['values']['edition3'], - $form_state['values']['year3'], - $preference3_id); - } - drupal_set_message(t('Proposal Updated'), 'status'); -} - - - -/******************************************************************************/ -/**************************** CATEGORY EDIT FORM ******************************/ -/******************************************************************************/ - -function category_edit_form($form_state) -{ /* get current proposal */ - $preference_id = arg(3); - $preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE id = %d", $preference_id); - $preference_data = db_fetch_object($preference_q); - if (!$preference_data) - { - drupal_set_message(t('Invalid book selected. Please try again.'), 'error'); - drupal_goto('manage_proposal/category'); - return; - } - - $form['book'] = array( - '#type' => 'item', - '#title' => t('Title of the book'), - '#value' => $preference_data->book, - ); - $form['author'] = array( - '#type' => 'item', - '#title' => t('Author Name'), - '#value' => $preference_data->author, - ); - $form['isbn'] = array( - '#type' => 'item', - '#title' => t('ISBN No'), - '#value' => $preference_data->isbn, - ); - $form['publisher'] = array( - '#type' => 'item', - '#title' => t('Publisher & Place'), - '#value' => $preference_data->publisher, - ); - $form['edition'] = array( - '#type' => 'item', - '#title' => t('Edition'), - '#value' => $preference_data->edition, - ); - $form['year'] = array( - '#type' => 'item', - '#title' => t('Year of pulication'), - '#value' => $preference_data->year, - ); - - $form['category'] = array( - '#type' => 'select', - '#title' => t('Category'), - '#options' => array(0 => 'Please select', - 1 => 'Computer Science and Information Technology', - 2 => 'Electrical and Electronics Engineering', - 3 => 'Mechanical Engineering', - 4 => 'Chemical Engineering', - 5 => 'Civil Engineering', - 6 => 'Physics', - 7 => 'Mathematics', - 8 => 'Others'), - '#required' => TRUE, - '#default_value' => $preference_data->category, - ); + $proposal_id = arg(3); + $result = db_query("SELECT * FROM {lab_migration_proposal} WHERE id = %d", $proposal_id); + if (!($row = db_fetch_object($result))) { + drupal_set_message(t('Invalid proposal selected. Please try again.'), 'error'); + drupal_goto('lab_migration/manage_proposal'); + return; + } - $form['submit'] = array( - '#type' => 'submit', - '#value' => t('Submit') - ); - $form['cancel'] = array( - '#type' => 'markup', - '#value' => l(t('Cancel'), 'manage_proposal/category'), + db_query("UPDATE {lab_migration_proposal} SET name = '%s', contact_ph = '%s', department = '%s', university = '%s', lab_title = '%s', problem_topic = '%s' WHERE id = %d", + $form_state['values']['name'], + $form_state['values']['contact_ph'], + $form_state['values']['department'], + $form_state['values']['university'], + $form_state['values']['lab_title'], + $form_state['values']['problem_topic'], + $row->id ); - return $form; -} - -function category_edit_form_submit($form, &$form_state) -{ - /* get current proposal */ - $preference_id = (int)arg(3); - $preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE id = %d", $preference_id); - $preference_data = db_fetch_object($preference_q); - if (!$preference_data) - { - drupal_set_message(t('Invalid book selected. Please try again.'), 'error'); - drupal_goto('manage_proposal/category'); - return; - } - - db_query("UPDATE {textbook_companion_preference} SET category = %d WHERE id = %d", $form_state['values']['category'], $preference_data->id); - - drupal_set_message(t('Book Category Updated'), 'status'); - drupal_goto('manage_proposal/category'); + drupal_set_message(t('Proposal Updated'), 'status'); + drupal_goto('lab_migration/manage_proposal'); } |