summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSashi202021-12-23 14:23:15 +0530
committerGitHub2021-12-23 14:23:15 +0530
commit9dc91e1a74e68d069ee52cabf0a1ef1f3a21a4db (patch)
tree270903af63f39f4d46ad20a21c0a1c2c440f3709
parent95da177b957d3139ee307add81fc20a03540fcbb (diff)
parente8dc12972b663ef53af464251e8f7d8293322de2 (diff)
downloaddwsim_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-xdownload.inc87
-rw-r--r--download_proposals.inc10
-rwxr-xr-xdwsim_flowsheet.module33
-rwxr-xr-x[-rw-r--r--]proposals_review_tab.inc35
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)