Release 2.28 (#5253)

* fix year in dashboard
* make batch actions accessible via javascript
* bump packages
* remove BOM from CSV
* rebuild assets
* fix duplicated automated-email warning
This commit is contained in:
Kevin Papst
2025-01-18 01:49:16 +01:00
committed by GitHub
parent 1b3ff212d2
commit f2fb338539
40 changed files with 459 additions and 446 deletions

View File

@@ -108,7 +108,7 @@ abstract class AbstractResetCommand extends Command
{
try {
$command = $this->getApplication()->find('doctrine:schema:drop');
$command->run(new ArrayInput(['--force' => true]), $output);
$command->run(new ArrayInput(['--force' => true, '--full-database' => true]), $output);
} catch (Exception $ex) {
$io->error('Failed to drop database schema: ' . $ex->getMessage());

View File

@@ -18,13 +18,10 @@ use App\Entity\Team;
use App\Entity\User;
use App\Entity\UserPreference;
use Doctrine\ORM\EntityManagerInterface;
use Exception;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
/**
@@ -213,18 +210,4 @@ final class ResetTestCommand extends AbstractResetCommand
$this->entityManager->flush();
}
protected function dropSchema(SymfonyStyle $io, OutputInterface $output): int
{
try {
$command = $this->getApplication()->find('doctrine:schema:drop');
$command->run(new ArrayInput(['--force' => true, '--full-database' => true]), $output);
} catch (Exception $ex) {
$io->error('Failed to drop database schema: ' . $ex->getMessage());
return Command::FAILURE;
}
return Command::SUCCESS;
}
}

View File

@@ -12,16 +12,16 @@ namespace App;
/**
* Some "very" global constants for Kimai.
*/
class Constants
final class Constants
{
/**
* The current release version
*/
public const VERSION = '2.27.0';
public const VERSION = '2.28.0';
/**
* The current release: major * 10000 + minor * 100 + patch
*/
public const VERSION_ID = 22700;
public const VERSION_ID = 22800;
/**
* The software name
*/

View File

@@ -15,6 +15,7 @@ use App\Export\Package\SpoutSpreadsheet;
use App\Export\RendererInterface;
use App\Export\TimesheetExportInterface;
use App\Repository\Query\TimesheetQuery;
use OpenSpout\Writer\CSV\Options;
use OpenSpout\Writer\CSV\Writer;
use Symfony\Component\HttpFoundation\Response;
@@ -58,7 +59,10 @@ final class CsvRenderer implements RendererInterface, TimesheetExportInterface
throw new \Exception('Could not open temporary file');
}
$spreadsheet = new SpoutSpreadsheet(new Writer());
$options = new Options();
$options->SHOULD_ADD_BOM = false;
$spreadsheet = new SpoutSpreadsheet(new Writer($options));
$spreadsheet->open($filename);
$this->spreadsheetRenderer->writeSpreadsheet($spreadsheet, $exportItems, $query);

View File

@@ -144,6 +144,7 @@ final class PaginatedWorkingTimeChart extends AbstractWidget
return [
'begin' => clone $weekBegin,
'end' => clone $weekEnd,
'dateYear' => $year,
'thisMonth' => $thisMonth,
'lastWeekInYear' => $lastWeekInYear,
'lastWeekInLastYear' => $lastWeekInLastYear,