From 1025679c51f4b6044561b682da99e0b1bc9c34ae Mon Sep 17 00:00:00 2001 From: Sashi20 Date: Fri, 2 Feb 2024 16:25:58 +0530 Subject: Add completed case studies page --- all_submissions.inc | 58 +++++++++++ cfd_hackathon_submissions.module | 4 +- run.inc | 202 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 262 insertions(+), 2 deletions(-) create mode 100644 run.inc diff --git a/all_submissions.inc b/all_submissions.inc index b9262c3..c3f3e34 100644 --- a/all_submissions.inc +++ b/all_submissions.inc @@ -117,4 +117,62 @@ function cfd_hackathon_submissions_progress_all() )); return $output; } +} + +function cfd_hackathon_submissions_completed_proposals() +{ + global $user; + /* get pending proposals to be approved */ + $output = ""; + $final_submission_rows = array(); + + $query = db_select('cfd_hackathon_proposal'); + $query->fields('cfd_hackathon_proposal'); + $query->condition('approval_status', 3); + $query->condition('is_completed',1); + $query->orderBy('uid', 'ASC'); + $my_proposals_q = $query->execute(); + $i = $my_proposals_q->rowCount(); + //var_dump($i);die; + while($final_submission_data = $my_proposals_q->fetchObject()){ + $query_user = db_select('cfd_hackathon_user_profile'); + $query_user->fields('cfd_hackathon_user_profile'); + $query_user->condition('uid', $final_submission_data->uid); + //$query_user->condition('approval_status', '1'); + $user_q = $query_user->execute(); + $user_data = $user_q->fetchObject(); + $query = db_select('available_hackathon_project_titles'); + $query->fields('available_hackathon_project_titles'); + $query->condition('project_title', $final_submission_data->project_title); + $old_case_study_q = $query->execute(); + $old_case_study_data = $old_case_study_q->fetchObject(); + $expected_date_of_completion = date('Y', $final_submission_data->expected_date_of_completion); + $final_submission_rows[$final_submission_data->id] = array( + //$creation_date, + $i, + $user_data->contributor_name, + l($final_submission_data->project_title, 'cfd-hackathon/case-study-run/' . $final_submission_data->id . '/' . $old_case_study_data->case_study_id), + $final_submission_data->version, + $user_data->institute, + $expected_date_of_completion, + // $action + ); + $i--; +} + /* check if there are any pending proposals */ + //!$pending_rows + $final_submission_header = array( + 'S. No', + 'Name', + 'Project title', + 'OpenFOAM Version', + 'University/ Institute', + 'Year of Completion' + ); + //$output = theme_table($pending_header, $pending_rows); + $output .= theme('table', array( + 'header' => $final_submission_header, + 'rows' => $final_submission_rows + )); + return $output; } \ No newline at end of file diff --git a/cfd_hackathon_submissions.module b/cfd_hackathon_submissions.module index 1e79543..ea5ebbe 100644 --- a/cfd_hackathon_submissions.module +++ b/cfd_hackathon_submissions.module @@ -274,11 +274,11 @@ function cfd_hackathon_submissions_menu() /* COMPLETED Case studies */ $items['cfd-hackathon/completed-case-studies'] = array( 'title' => 'Completed Case studies', - 'page callback' => 'cfd_hackathon_submissions_completed_proposals_all', + 'page callback' => 'cfd_hackathon_submissions_completed_proposals', 'access arguments' => array( 'cfd hackathon download code', ), - 'file' => 'cfd_hackathon_submissions_details.inc', + 'file' => 'all_submissions.inc', ); /* LABS IN PROGRESS */ $items['cfd-hackathon/in-progress'] = array( diff --git a/run.inc b/run.inc new file mode 100644 index 0000000..5317308 --- /dev/null +++ b/run.inc @@ -0,0 +1,202 @@ + 'select', + '#title' => t('Title of the case study'), + '#options' => _list_of_cfd_hackathon(), + '#default_value' => $selected, + '#ajax' => array( + 'callback' => 'cfd_hackathon_project_details_callback' + ) + ); + if (!$url_cfd_hackathon_id) { + $form['cfd_hackathon_details'] = array( + '#type' => 'item', + '#markup' => '
' + ); + /*$form['selected_cfd_hackathon'] = array( + '#type' => 'item', + '#markup' => '
' + );*/ + } //!$url_cfd_hackathon_id + else { + $cfd_hackathon_default_value = $url_cfd_hackathon_id; + $cfd_case_study_id = $url_case_study_id; + $form['cfd_hackathon_details'] = array( + '#type' => 'item', + '#markup' => '
' . _cfd_hackathon_details($cfd_hackathon_default_value, $cfd_case_study_id) . '
' + ); + /*$form['selected_cfd_hackathon'] = array( + '#type' => 'item', + '#markup' => '
' . l('Download Report of the Upgraded Case Study', "case-study-project/download/project-file/" . $cfd_hackathon_default_value) . '
' . l('Download Upgraded Case Files', 'case-study-project/full-download/project/' . $cfd_hackathon_default_value) . '

' . l('Download the report of the Case Study', "https://cfd.fossee.in/case-study-project/download/project-file/" . $cfd_case_study_id) . '
' . l('Download Case Files of the Original Case Study', 'https://cfd.fossee.in/case-study-project/full-download/project/' . $cfd_case_study_id) . '
' + );*/ + } + return $form; +} +function cfd_hackathon_project_details_callback($form, $form_state) +{ + $commands = array(); + $cfd_hackathon_default_value = $form_state['values']['cfd_hackathon']; + if ($cfd_hackathon_default_value != 0) { + $form['cfd_hackathon_details']['#markup'] = _cfd_hackathon_details($cfd_hackathon_default_value, $cfd_case_study_id); + $cfd_hackathon_details = _cfd_hackathon_information($cfd_hackathon_default_value); + $query = db_select('available_hackathon_project_titles'); + $query->fields('available_hackathon_project_titles'); + $query->condition('project_title', $cfd_hackathon_details->project_title); + $old_case_study_q = $query->execute(); + $old_case_study_data = $old_case_study_q->fetchObject(); + $cfd_case_study_id = $old_case_study_data->case_study_id; + $provider = user_load($cfd_hackathon_details->uid); + if ($cfd_hackathon_details->uid > 0) { + $commands[] = ajax_command_html('#ajax_selected_cfd_hackathon', l('Download Report of the Upgraded Case Study', "case-study-project/download/project-file/" . $cfd_hackathon_default_value) . '
' . l('Download Upgraded Case Files', 'case-study-project/full-download/project/' . $cfd_hackathon_default_value) . '

' . l('Download the report of the Case Study', "https://cfd.fossee.in/case-study-project/download/project-file/" . $cfd_case_study_id) . '
' . l('Download Case Files of the Original Case Study', 'https://cfd.fossee.in/case-study-project/full-download/project/' . $cfd_case_study_id)); + } //$cfd_hackathon_details->uid > 0 + else { + $commands[] = ajax_command_html('#ajax_selected_cfd_hackathon', ''); + $commands[] = ajax_command_html('#ajax_selected_cfd_hackathon', ''); + } + $commands[] = ajax_command_html('#ajax_cfd_hackathon_details', _cfd_hackathon_details($cfd_hackathon_default_value, $cfd_case_study_id)); + } //$cfd_hackathon_default_value != 0 + else { + // $form['lab_experiment_list']['#options'] = _ajax_get_experiment_list(); + // $commands[] = ajax_command_replace('#ajax_selected_experiment', drupal_render($form['lab_experiment_list'])); + $commands[] = ajax_command_html('#ajax_cfd_hackathon_details', ''); + $commands[] = ajax_command_html('#ajax_selected_cfd_hackathon', ''); + $commands[] = ajax_command_html('#ajax_selected_cfd_hackathon', ''); + $commands[] = ajax_command_data('#ajax_selected_cfd_hackathon', 'form_state_value_select', $form_state['values']['cfd_hackathon']); + } + return array( + '#type' => 'ajax', + '#commands' => $commands + ); +} +function bootstrap_table_format($headers, $rows) +{ + $thead = ""; + $tbody = ""; + foreach ($headers as $header) { + $thead .= "{$header}"; + } //$headers as $header + foreach ($rows as $row) { + $tbody .= ""; + foreach ($row as $data) { + $tbody .= "{$data}"; + } //$row as $data + $tbody .= ""; + } //$rows as $row + $table = " + + {$thead} + {$tbody} +
+ "; + return $table; +} +/*****************************************************/ +function _list_of_cfd_hackathon() +{ + $cfd_hackathon_titles = array( + '0' => 'Please select...' + ); + //$lab_titles_q = db_query("SELECT * FROM {cfd_hackathon_proposal} WHERE solution_display = 1 ORDER BY lab_title ASC"); + $query = db_select('cfd_hackathon_proposal'); + $query->fields('cfd_hackathon_proposal'); + $query->condition('approval_status', 3); + $query->condition('is_completed', 1); + $query->orderBy('uid', 'ASC'); + $cfd_hackathon_titles_q = $query->execute(); + while ($cfd_hackathon_titles_data = $cfd_hackathon_titles_q->fetchObject()) { + $query_user = db_select('cfd_hackathon_user_profile'); + $query_user->fields('cfd_hackathon_user_profile'); + $query_user->condition('uid', $cfd_hackathon_titles_data->uid); + //$query_user->condition('approval_status', '1'); + $user_q = $query_user->execute(); + $user_data = $user_q->fetchObject(); + $cfd_hackathon_titles[$cfd_hackathon_titles_data->id] = $cfd_hackathon_titles_data->project_title . ' (Upgraded by ' . $user_data->name_title . ' ' . $user_data->contributor_name . ')'; + } //$cfd_hackathon_titles_data = $cfd_hackathon_titles_q->fetchObject() + return $cfd_hackathon_titles; +} +function _cfd_hackathon_information($proposal_id) +{ + $query = db_select('cfd_hackathon_proposal', 'c'); + $query->leftJoin('cfd_hackathon_user_profile', 'u', 'c.uid = u.uid'); + $query->fields('c'); + $query->fields('u'); + $query->condition('c.id', $proposal_id); + $query->condition('c.approval_status', 3); + $cfd_hackathon_q = $query->execute(); + $cfd_hackathon_data = $cfd_hackathon_q->fetchObject(); + if ($cfd_hackathon_data) { + return $cfd_hackathon_data; + } //$cfd_hackathon_data + else { + return 'Not found'; + } +} +function _cfd_case_study_data($proposal_id) +{ + $query = db_select('case_study_proposal'); + $query->fields('case_study_proposal'); + $query->condition('id', $proposal_id); + $query->condition('approval_status', 3); + $case_study_q = $query->execute(); + $case_study_data = $case_study_q->fetchObject(); + if ($case_study_data) { + return $case_study_data; + } //$case_study_data + else { + return 'Not found'; + } + //var_dump($case_study_data);die; +} +function get_version_name($version_id){ + $query = db_select('case_study_software_version'); + $query->fields('case_study_software_version'); + $query->condition('id', $version_id); + $case_study_q = $query->execute(); + $case_study_data = $case_study_q->fetchObject(); + if ($case_study_data) { + return $case_study_data->case_study_version; + } //$case_study_data + else { + return 'Not found'; + } +} +function _cfd_hackathon_details($cfd_hackathon_default_value, $cfd_case_study_id) +{ + $cfd_hackathon_details = _cfd_hackathon_information($cfd_hackathon_default_value); + $case_study_details = _cfd_case_study_data($cfd_case_study_id); + $case_study_version = get_version_name($case_study_details->version_id); + //var_dump($case_study_details->faculty_name);die; + if($case_study_details->faculty_name == NULL || $case_study_details->faculty_name = '' || $case_study_details->faculty_name == '-'){ + $faculty_name = 'NA'; + } + else{ + $faculty_name = $case_study_details->faculty_name; + } + if ($cfd_hackathon_default_value != 0) { + $form['cfd_hackathon_details']['#markup'] = '' . ' + ' . '' . ' +
About the Case StudyContributor details during the hackathon
    ' . '
  • Title of the Case Study: ' . $cfd_hackathon_details->project_title . '
  • ' . '
  • Contributor Name: ' . $case_study_details->name_title . ' ' . $case_study_details->contributor_name . '
  • ' . '
  • Version: ' . $case_study_version . '
  • ' . '
  • Faculty Guide: ' . $faculty_name . '
  • ' . '
  • University: ' . $case_study_details->university . '
  • ' . '
    ' . '
  • Contributor Name: ' . $cfd_hackathon_details->name_title . ' ' . $cfd_hackathon_details->contributor_name . '
  • ' . '
  • Version upgraded to: ' . $cfd_hackathon_details->version . '
  • Faculty Guide: ' . $cfd_hackathon_details->faculty_guide_name . '
  • ' . '
  • University: ' . $cfd_hackathon_details->university . '
  • ' . '
' . l('Download the report of the Case Study', "https://cfd.fossee.in/case-study-project/download/project-file/" . $cfd_case_study_id) . '
' . l('Download Case Files of the Original Case Study', 'https://cfd.fossee.in/case-study-project/full-download/project/' . $cfd_case_study_id) . '
' . l('Download Report of the Upgraded Case Study', "case-study-project/download/project-file/" . $cfd_hackathon_default_value) . '
' . l('Download Upgraded Case Files', 'case-study-project/full-download/project/' . $cfd_hackathon_default_value) . '
'; + $details = $form['cfd_hackathon_details']['#markup']; + return $details; + } //$cfd_hackathon_default_value != 0 +} -- cgit