diff options
author | Sashi20 | 2021-12-23 14:23:15 +0530 |
---|---|---|
committer | GitHub | 2021-12-23 14:23:15 +0530 |
commit | 9dc91e1a74e68d069ee52cabf0a1ef1f3a21a4db (patch) | |
tree | 270903af63f39f4d46ad20a21c0a1c2c440f3709 | |
parent | 95da177b957d3139ee307add81fc20a03540fcbb (diff) | |
parent | e8dc12972b663ef53af464251e8f7d8293322de2 (diff) | |
download | dwsim_flowsheet-9dc91e1a74e68d069ee52cabf0a1ef1f3a21a4db.tar.gz dwsim_flowsheet-9dc91e1a74e68d069ee52cabf0a1ef1f3a21a4db.tar.bz2 dwsim_flowsheet-9dc91e1a74e68d069ee52cabf0a1ef1f3a21a4db.zip |
Merge pull request #51 from Saketh1499/development
Adding a option to download proposals in csv format
-rwxr-xr-x | download.inc | 87 | ||||
-rw-r--r-- | download_proposals.inc | 10 | ||||
-rwxr-xr-x | dwsim_flowsheet.module | 33 | ||||
-rwxr-xr-x[-rw-r--r--] | proposals_review_tab.inc | 35 |
4 files changed, 160 insertions, 5 deletions
diff --git a/download.inc b/download.inc index d8a6839..790d45a 100755 --- a/download.inc +++ b/download.inc @@ -303,3 +303,90 @@ function dwsim_flowsheet_download_lab() drupal_goto('lab-migration/lab-migration-run'); } } + +function dwsim_flowsheet_download_proposals() +{ + $root_path = dwsim_flowsheet_path(); + + $result = db_query("SELECT e.contributor_name as contirbutor_name, u.mail as email_id, e.project_title as title, e.contact_no as contact, e.university as university, from_unixtime(creation_date,'%d-%m-%Y') as creation, from_unixtime(approval_date,'%d-%m-%Y') as approval, from_unixtime(actual_completion_date,'%d-%m-%Y') as year, e.approval_status as status FROM dwsim_flowsheet_proposal as e JOIN users as u ON e.uid = u.uid ORDER BY actual_completion_date DESC"); + +//var_dump($result->rowCount());die(); + //$all_proposals_q = $result->execute(); + $participants_proposal_id_file = $root_path . "participants-proposals.csv"; + $fp = fopen($participants_proposal_id_file, "w"); + /* making the first row */ + $items = array( + 'Contirbutor Name', + 'Email ID', + 'Flowsheet Title', + 'University', + 'Contact', + 'Date of Creation', + 'Date of Approval', + 'Date of Completion', + 'Status of the proposal' + ); + fputcsv($fp, $items); + while($row = $result->fetchObject()) + { + $status = ''; + switch ($row->status) + { + case 0: + $status = 'Pending'; + break; + case 1: + $status = 'Approved'; + break; + case 2: + $status = 'Dis-approved'; + break; + case 3: + $status = 'Completed'; + break; + default: + $status = 'Unknown'; + break; + } //$row->status + if ($row->year == 0) + { + $year = "Not Completed"; + } //$row->year == 0 + else + { + $year = date('d-m-Y', $row->year); + } + + $items = array( + $row->contirbutor_name, + $row->email_id, + $row->title, + $row->university, + $row->contact, + $row->creation, + $row->approval, + $row->year, + $status + ); + fputcsv($fp, $items); + } + fclose($fp); + if($participants_proposal_id_file){ + ob_clean(); + header("Pragma: public"); + header("Expires: 0"); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Cache-Control: public"); + header("Content-Description: File Transfer"); + header('Content-Type: application/csv'); + header('Content-disposition: attachment; filename=participants-proposals.csv'); + header('Content-Length:' . filesize($participants_proposal_id_file)); + header("Content-Transfer-Encoding: binary"); + header('Expires: 0'); + header('Pragma: no-cache'); + readfile($participants_proposal_id_file); + /*ob_end_flush(); + ob_clean(); + flush();*/ + } +}
\ No newline at end of file diff --git a/download_proposals.inc b/download_proposals.inc new file mode 100644 index 0000000..a2e9c01 --- /dev/null +++ b/download_proposals.inc @@ -0,0 +1,10 @@ +<?php + +function dwsim_flowsheet_download_completed_proposals() +{ + $output = ""; + $output .= "Click ".l("here","/flowsheeting-project/download-proposals-all"). " to download the proposals of the participants" ."<h4>"; + + return $output; + +}
\ No newline at end of file diff --git a/dwsim_flowsheet.module b/dwsim_flowsheet.module index 302f003..630f000 100755 --- a/dwsim_flowsheet.module +++ b/dwsim_flowsheet.module @@ -93,6 +93,16 @@ function dwsim_flowsheet_menu() 'weight' => 5, 'file' => 'proposals_review_tab.inc' ); + /*$items['flowsheeting-project/download'] = array( + 'title' => 'Flowsheet Download Proposals', + 'description' => 'Flowsheet Download Proposals', + 'page callback' => 'dwsim_flowsheet_download_proposals_tab', + 'access callback' => 'user_access', + 'access arguments' => array( + 'dwsim flowsheet manage proposal' + ), + 'file' => 'proposals_review_tab.inc' + );*/ $items['flowsheeting-project/manage-proposal/approve'] = array( 'title' => 'Approve Proposal', 'description' => 'Approve Proposal', @@ -355,6 +365,25 @@ function dwsim_flowsheet_menu() 'type' => MENU_CALLBACK, 'file' => 'full_download.inc' ); + $items['flowsheeting-project/download-proposals'] = array( + 'title' => 'Download Proposals', + 'description' => 'Download Proposals', + 'page callback' => 'dwsim_flowsheet_download_completed_proposals', + 'access arguments' => array( + 'dwsim flowsheet download proposals' + ), + 'file' => 'download_proposals.inc' + ); + $items['flowsheeting-project/download-proposals-all'] = array( + 'title' => 'Download Proposals', + 'description' => 'Download Proposals', + 'page callback' => 'dwsim_flowsheet_download_proposals', + 'access arguments' => array( + 'dwsim flowsheet download proposals' + ), + 'type' => MENU_CALLBACK, + 'file' => 'download.inc' + ); /* COMPLETED dwsim flowsheetS */ $items['flowsheeting-project/completed-flowsheet'] = array( 'title' => 'Completed Flowsheets', @@ -542,6 +571,10 @@ function dwsim_flowsheet_permission() 'title' => t('dwsim flowsheet download code'), 'restrict access' => TRUE ), + 'dwsim flowsheet download proposals' => array( + 'title' => t('dwsim flowsheet download proposals'), + 'restrict access' => TRUE + ), 'administer dwsim flowsheet' => array( 'title' => t('administer dwsim flowsheet'), 'restrict access' => TRUE diff --git a/proposals_review_tab.inc b/proposals_review_tab.inc index fe74640..69bbcf9 100644..100755 --- a/proposals_review_tab.inc +++ b/proposals_review_tab.inc @@ -98,18 +98,21 @@ function dwsim_flowsheet_uploaded_tab() function dwsim_flowsheet_completed_tab_form($form, $form_state) { - + $options_first = _flowsheet_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:'), + '#title' => t('Sorting projects according to year:'), '#type' => 'select', - '#options' => array( + '#options' => _flowsheet_details_year_wise(), + /*'#options' => array( 'Please select...' => 'Please select...', '2017' => '2017', '2018' => '2018', '2019' => '2019', '2020' => '2020', - '2021' => '2021'), - //'#default_value' => 'Please select...', + '2021' => '2021'),*/ + '#default_value' => $selected, '#ajax' => array( 'callback' => 'ajax_example_autocheckboxes_callback', ), @@ -143,9 +146,31 @@ function ajax_example_autocheckboxes_callback($form, $form_state) } +function _flowsheet_details_year_wise() + { + $flowsheet_years = array( + '0' => 'Please select...' + ); + $result = db_query("SELECT from_unixtime(actual_completion_date, '%Y ') as Year from dwsim_flowsheet_proposal WHERE approval_status = 3 ORDER BY Year ASC"); + + /*$query = db_select('dwsim_flowsheet_proposal'); + $query->fields('dwsim_flowsheet_proposal'); + $query->condition('from_unixtime(actual_completion_date)'); + $query->condition('approval_status', 3);*/ + //$query->orderBy('id', 'DESC'); + //$year_wise_list = $query->execute(); + while ($year_wise_list_data = $result->fetchObject()) + { + $flowsheet_years[$year_wise_list_data->Year] = $year_wise_list_data->Year; + } + return $flowsheet_years; + } + + function _flowsheet_details($flowsheet_proposal_id) { $output = ""; + //$output = "Click <a href='/flowsheeting-project/download-proposals-all'>here</a> to download the Proposals of the participants <br>"; $result = db_query("SELECT * from {dwsim_flowsheet_proposal} WHERE approval_status = 3 and from_unixtime(actual_completion_date, '%Y') = :year", array( ':year' => $flowsheet_proposal_id) |