diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-03-28 12:39:46 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-03-28 12:39:46 -0400 |
commit | 26fea9b96ba4376a54b5d55b207d3eac040160d7 (patch) | |
tree | 5034c38ffff04d8d60becd1c09d4360036ce0927 /app/Console | |
parent | 87d2c6d99e6eb26b526f5da22b3496e3d02d11ed (diff) |
Add task transitions csv export
Diffstat (limited to 'app/Console')
-rw-r--r-- | app/Console/Base.php | 1 | ||||
-rw-r--r-- | app/Console/TransitionExport.php | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/app/Console/Base.php b/app/Console/Base.php index aeafbefc..07243080 100644 --- a/app/Console/Base.php +++ b/app/Console/Base.php @@ -20,6 +20,7 @@ use Symfony\Component\Console\Command\Command; * @property \Model\Task $task * @property \Model\TaskExport $taskExport * @property \Model\TaskFinder $taskFinder + * @property \Model\Transition $transition */ abstract class Base extends Command { diff --git a/app/Console/TransitionExport.php b/app/Console/TransitionExport.php new file mode 100644 index 00000000..ad988c54 --- /dev/null +++ b/app/Console/TransitionExport.php @@ -0,0 +1,34 @@ +<?php + +namespace Console; + +use Core\Tool; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class TransitionExport extends Base +{ + protected function configure() + { + $this + ->setName('export:transitions') + ->setDescription('Task transitions CSV export') + ->addArgument('project_id', InputArgument::REQUIRED, 'Project id') + ->addArgument('start_date', InputArgument::REQUIRED, 'Start date (YYYY-MM-DD)') + ->addArgument('end_date', InputArgument::REQUIRED, 'End date (YYYY-MM-DD)'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $data = $this->transition->export( + $input->getArgument('project_id'), + $input->getArgument('start_date'), + $input->getArgument('end_date') + ); + + if (is_array($data)) { + Tool::csv($data); + } + } +} |