Release 2.17 (#4836)

see https://github.com/kimai/kimai/pull/4836
This commit is contained in:
Kevin Papst
2024-05-19 17:42:03 +02:00
committed by GitHub
parent 5f7114e008
commit 0c445d1bc4
41 changed files with 318 additions and 307 deletions

View File

@@ -9,9 +9,7 @@
namespace App\Project;
use App\Entity\ActivityRate;
use App\Entity\Project;
use App\Entity\ProjectRate;
use App\Repository\ActivityRateRepository;
use App\Repository\ActivityRepository;
use App\Repository\ProjectRateRepository;
@@ -19,10 +17,10 @@ use App\Repository\ProjectRateRepository;
final class ProjectDuplicationService
{
public function __construct(
private ProjectService $projectService,
private ActivityRepository $activityRepository,
private ProjectRateRepository $projectRateRepository,
private ActivityRateRepository $activityRateRepository
private readonly ProjectService $projectService,
private readonly ActivityRepository $activityRepository,
private readonly ProjectRateRepository $projectRateRepository,
private readonly ActivityRateRepository $activityRateRepository
) {
}
@@ -30,6 +28,7 @@ final class ProjectDuplicationService
{
$newProject = clone $project;
$newProject->setName($newName);
$newProject->setNumber($this->projectService->calculateNextProjectNumber());
foreach ($project->getTeams() as $team) {
$newProject->addTeam($team);
@@ -49,7 +48,6 @@ final class ProjectDuplicationService
$this->projectService->saveNewProject($newProject);
foreach ($this->projectRateRepository->getRatesForProject($project) as $rate) {
/** @var ProjectRate $newRate */
$newRate = clone $rate;
$newRate->setProject($newProject);
$this->projectRateRepository->saveRate($newRate);
@@ -68,7 +66,6 @@ final class ProjectDuplicationService
$this->activityRepository->saveActivity($newActivity);
foreach ($this->activityRateRepository->getRatesForActivity($activity) as $rate) {
/** @var ActivityRate $newRate */
$newRate = clone $rate;
$newRate->setActivity($newActivity);
$this->activityRateRepository->saveRate($newRate);

View File

@@ -112,7 +112,7 @@ final class ProjectService
return $this->repository->findOneBy(['number' => $number]);
}
private function calculateNextProjectNumber(): ?string
public function calculateNextProjectNumber(): ?string
{
$format = $this->configuration->find('project.number_format');
if (empty($format) || !\is_string($format)) {