added username parameter to export command (#3638)

This commit is contained in:
Kevin Papst
2022-11-19 18:38:13 +01:00
committed by GitHub
parent e413325337
commit 4f698f73dc
2 changed files with 16 additions and 10 deletions

View File

@@ -68,6 +68,7 @@ class ExportCreateCommand extends Command
->setName('kimai:export:create')
->setDescription('Create exports')
->setHelp('Create exports by several different filters and sent them via email.')
->addOption('username', null, InputOption::VALUE_REQUIRED, 'The user to be used for generating the export (e.g. used for permissions and decimal setting)')
->addOption('start', null, InputOption::VALUE_OPTIONAL, 'Start date (format: 2020-01-01, default: start of the month)', null)
->addOption('end', null, InputOption::VALUE_OPTIONAL, 'End date (format: 2020-01-31, default: end of the month)', null)
->addOption('timezone', null, InputOption::VALUE_OPTIONAL, 'Timezone for start and end date query (fallback: server timezone)', null)
@@ -236,14 +237,21 @@ class ExportCreateCommand extends Command
$body = trim($input->getOption('body'));
}
$markAsExported = false;
if ($input->getOption('set-exported')) {
$markAsExported = true;
$query = new ExportQuery();
$username = $input->getOption('username');
if (!empty($username)) {
$user = $this->userRepository->loadUserByUsername($username);
if (null === $user) {
$io->error(
sprintf('The given username "%s" could not be resolved', $username)
);
return 1;
}
$query->setCurrentUser($user);
}
// =============== VALIDATION END ===============
$query = new ExportQuery();
$query->setBegin($start);
$query->setEnd($end);
$query->setExported($exportedFilter);
@@ -253,8 +261,6 @@ class ExportCreateCommand extends Command
foreach ($users as $user) {
$query->addUser($user);
}
//$query->setRenderer($template);
//$query->setMarkAsExported($markAsExported);
$io = new SymfonyStyle($input, $output);
@@ -268,7 +274,7 @@ class ExportCreateCommand extends Command
$response = $renderer->render($entries, $query);
$file = $this->savePreview($response, $directory);
if ($markAsExported) {
if ($input->getOption('set-exported')) {
$this->serviceExport->setExported($entries);
}