@@ -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);
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user