diff options
author | Saketh1499 | 2021-10-25 12:04:35 +0530 |
---|---|---|
committer | Saketh1499 | 2021-10-25 12:04:35 +0530 |
commit | 242d1512278a390330b5d417bc0248fcb1f9d5cc (patch) | |
tree | 465d8c59a0ed255584d27dbce029264fe1f2f547 | |
parent | db8d41616dbe7a01ba4825768daad2720ca22b0d (diff) | |
download | dwsim_custom_model-242d1512278a390330b5d417bc0248fcb1f9d5cc.tar.gz dwsim_custom_model-242d1512278a390330b5d417bc0248fcb1f9d5cc.tar.bz2 dwsim_custom_model-242d1512278a390330b5d417bc0248fcb1f9d5cc.zip |
Adding additional tabs to manage proposal
-rwxr-xr-x | custom_model.module | 41 | ||||
-rwxr-xr-x | proposals_review_tab.inc | 207 |
2 files changed, 246 insertions, 2 deletions
diff --git a/custom_model.module b/custom_model.module index 046c667..c65ecc3 100755 --- a/custom_model.module +++ b/custom_model.module @@ -69,7 +69,7 @@ function custom_model_menu() 'custom model manage proposal' ), 'type' => MENU_LOCAL_TASK, - 'weight' => 4, + 'weight' => 2, 'file' => 'manage_proposal.inc' ); $items['custom-model/manage-proposal/idea-proposals'] = array( @@ -81,9 +81,46 @@ function custom_model_menu() 'custom model manage proposal' ), 'type' => MENU_LOCAL_TASK, - 'weight' => 5, + 'weight' => 3, 'file' => 'manage_proposal.inc' ); + $items['custom-model/manage-proposal/approved-proposals'] = array( + 'title' => 'Approved Proposals', + 'description' => 'Approved Proposals', + 'page callback' => 'dwsim_custom_model_approved_tab', + 'access callback' => 'user_access', + 'access arguments' => array( + 'custom model manage proposal' + ), + 'type' => MENU_LOCAL_TASK, + 'weight' => 4, + 'file' => 'proposals_review_tab.inc' + ); + $items['custom-model/manage-proposal/uploaded-proposals'] = array( + 'title' => 'Uploaded Proposals', + 'description' => 'Uploaded Proposals', + 'page callback' => 'dwsim_custom_model_uploaded_tab', + 'access callback' => 'user_access', + 'access arguments' => array( + 'custom model manage proposal' + ), + 'type' => MENU_LOCAL_TASK, + 'weight' => 5, + 'file' => 'proposals_review_tab.inc' + ); + $items['custom-model/manage-proposal/completed-proposals'] = array( + 'title' => 'Completed Proposals', + 'description' => 'Completed Proposals', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('dwsim_custom_model_completed_tab_form'), + 'access callback' => 'user_access', + 'access arguments' => array( + 'custom model manage proposal' + ), + 'type' => MENU_LOCAL_TASK, + 'weight' => 6, + 'file' => 'proposals_review_tab.inc' + ); $items['custom-model/manage-proposal/approve'] = array( 'title' => 'Approve Proposal', 'description' => 'Approve Proposal', diff --git a/proposals_review_tab.inc b/proposals_review_tab.inc new file mode 100755 index 0000000..424de0a --- /dev/null +++ b/proposals_review_tab.inc @@ -0,0 +1,207 @@ +<?php + +//Proposal tab for reviewing approved proposals +function dwsim_custom_model_approved_tab() +{ + $page_content = ""; + $result = db_query("SELECT * from custom_model_proposal where id not in (select proposal_id from custom_model_submitted_abstracts) AND approval_status = 1 order by approval_date desc"); + if ($result->rowCount() == 0) + { + $page_content .= "Approved Proposals under Custom Model Project<hr>"; + } //$result->rowCount() == 0 + else + { + $page_content .= "Approved Proposals under Custom Model Project: " . $result->rowCount() . "<hr>"; + $preference_rows = array(); + $i = 1; + while ($row = $result->fetchObject()) + { + $approval_date = date("d-M-Y", $row->approval_date); + $preference_rows[] = array( + $i, + $row->project_title, + $row->contributor_name, + $row->university, + $approval_date + ); + $i++; + } + $preference_header = array( + 'No', + 'Custom Model Project', + 'Contributor Name', + 'University / Institute', + 'Year of Completion' + ); + $page_content .= theme('table', array( + 'header' => $preference_header, + 'rows' => $preference_rows + )); + } + return $page_content; +} + + +/////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////// + +//Proposal tab for reviewing Code submission of the uploaded proposals + +function dwsim_custom_model_uploaded_tab() +{ + $page_content = ""; + $result = db_query("SELECT dfp.project_title, dfp.contributor_name, dfp.id, dfp.university, dfa.abstract_upload_date, dfa.abstract_approval_status from custom_model_proposal as dfp JOIN custom_model_submitted_abstracts as dfa on dfa.proposal_id = dfp.id where dfp.id in (select proposal_id from custom_model_submitted_abstracts) AND approval_status = 1"); + + if ($result->rowCount() == 0) + { + $page_content .= "Uploaded Proposals under Custom Model Project<hr>"; + } + else + { + $page_content .= "Uploaded Proposals under Custom Model Project: " . $result->rowCount() . "<hr>"; + $preference_rows = array(); + $i = 1; + while ($row = $result->fetchObject()) + { + $abstract_upload_date = date("d-M-Y", $row->abstract_upload_date); + $preference_rows[] = array( + $i, + $row->project_title, + $row->contributor_name, + $row->university, + $abstract_upload_date + ); + $i++; + } + $preference_header = array( + 'No', + 'Custom Model Project', + 'Contributor Name', + 'University / Institute', + 'Year of Completion' + ); + $page_content .= theme('table', array( + 'header' => $preference_header, + 'rows' => $preference_rows + )); + } + return $page_content; +} + + +/////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////// + +//Proposal tab for reviewing Completed proposals + +function dwsim_custom_model_completed_tab_form($form, $form_state) +{ + $options_first = _custom_model_details_year_wise(); + $selected = isset($form_state['values']['howmany_select']) ? $form_state['values']['howmany_select'] : key($options_first); + $form = array(); + $form['howmany_select'] = array( + '#title' => t('Sorting projects according to year:'), + '#type' => 'select', + '#options' => _custom_model_details_year_wise(), + /*'#options' => array( + 'Please select...' => 'Please select...', + '2017' => '2017', + '2018' => '2018', + '2019' => '2019', + '2020' => '2020', + '2021' => '2021'),*/ + '#default_value' => $selected, + '#ajax' => array( + 'callback' => 'ajax_example_autocheckboxes_callback', + ), + '#suffix' => '<div id="ajax-selected-custom-model"></div>' + + ); + return $form; +} + + +function ajax_example_autocheckboxes_callback($form, $form_state) +{ + $commands = array(); + $custom_model_project_default_value = $form_state['values']['howmany_select']; + if ($custom_model_project_default_value != 0) + { + $form['howmany_select']['#options'] = array('Please select...' => 'Please select...'); + $commands[] = ajax_command_html('#ajax-selected-custom-model', _custom_model_details($custom_model_project_default_value)); + $commands[] = ajax_command_replace('#ajax_selected_custom_model_action', drupal_render($form['howmany_select'])); + + } + else + { + $form['howmany_select']['#options'] = array('Please select...' => 'Please select...'); + $commands[] = ajax_command_data('#ajax_selected_custom_model', 'form_state_value_select', $form_state['values']['howmany_select']); + } + return array( + '#type' => 'ajax', + '#commands' => $commands + ); +} + + +function _custom_model_details_year_wise() + { + $custom_model_years = array( + '0' => 'Please select...' + ); + $result = db_query("SELECT from_unixtime(actual_completion_date, '%Y ') as Year from custom_model_proposal WHERE approval_status = 3 ORDER BY Year ASC"); + while ($year_wise_list_data = $result->fetchObject()) + { + $custom_model_years[$year_wise_list_data->Year] = $year_wise_list_data->Year; + } + return $custom_model_years; + } + + +function _custom_model_details($custom_model_proposal_id) +{ + $output = ""; + $result = db_query("SELECT * from {custom_model_proposal} WHERE approval_status = 3 and from_unixtime(actual_completion_date, '%Y') = :year", + array( + ':year' => $custom_model_proposal_id) + ); + + if ($result->rowCount() == 0) + { + $output .= "Work has been completed for the following Custom Model."; + + } + else + { + $output .= "Work has been completed for the following custom model Project:" . $result->rowCount() . "<hr>"; + $preference_rows = array(); + $i = 1; + while ($row = $result->fetchObject()) + { + $proposal_id = $row->id; + $completion_date = date("Y", $row->actual_completion_date); + $preference_rows[] = array( + $i, + l($row->project_title, "custom-model/custom-model-run/" . $row->id) . t("<br><strong>(Script used: ") . $row->script_used . t(")</strong>"), + $row->contributor_name, + $row->university, + $completion_date + ); + $i++; + } //$row = $result->fetchObject() + $preference_header = array( + 'No', + 'Custom Model Project', + 'Contributor Name', + 'University / Institute', + 'Year of Completion' + ); + $output .= theme('table', array( + 'header' => $preference_header, + 'rows' => $preference_rows + )); + } + return $output; + }
\ No newline at end of file |