| <?php |
|
|
| namespace Kanboard\Controller; |
|
|
| |
| |
| |
| |
| |
| |
| class ExportController extends BaseController |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| private function common($model, $method, $filename, $action, $page_title) |
| { |
| $project = $this->getProject(); |
|
|
| if ($this->request->isPost()) { |
| $from = $this->request->getRawValue('from'); |
| $to = $this->request->getRawValue('to'); |
|
|
| if ($from && $to) { |
| $data = $this->$model->$method($project['id'], $from, $to); |
| $this->response->withFileDownload($filename.'.csv'); |
| $this->response->csv($data); |
| } |
| } else { |
| $this->response->html($this->template->render('export/'.$action, array( |
| 'values' => array( |
| 'project_id' => $project['id'], |
| 'from' => '', |
| 'to' => '', |
| ), |
| 'errors' => array(), |
| 'project' => $project, |
| 'title' => $page_title, |
| ))); |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| public function tasks() |
| { |
| $this->common('taskExport', 'export', t('Tasks'), 'tasks', t('Tasks Export')); |
| } |
|
|
| |
| |
| |
| |
| |
| public function subtasks() |
| { |
| $this->common('subtaskExport', 'export', t('Subtasks'), 'subtasks', t('Subtasks Export')); |
| } |
|
|
| |
| |
| |
| |
| |
| public function summary() |
| { |
| $project = $this->getProject(); |
|
|
| if ($this->request->isPost()) { |
| $from = $this->request->getRawValue('from'); |
| $to = $this->request->getRawValue('to'); |
|
|
| if ($from && $to) { |
| $from = $this->dateParser->getIsoDate($from); |
| $to = $this->dateParser->getIsoDate($to); |
| $data = $this->projectDailyColumnStatsModel->getAggregatedMetrics($project['id'], $from, $to); |
| $this->response->withFileDownload(t('Summary').'.csv'); |
| $this->response->csv($data); |
| } |
| } else { |
| $this->response->html($this->template->render('export/summary', array( |
| 'values' => array( |
| 'project_id' => $project['id'], |
| 'from' => '', |
| 'to' => '', |
| ), |
| 'errors' => array(), |
| 'project' => $project, |
| 'title' => t('Daily project summary export'), |
| ))); |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| public function transitions() |
| { |
| $this->common('transitionExport', 'export', t('Transitions'), 'transitions', t('Task transitions export')); |
| } |
| } |
|
|