0
0
Fork 0
mirror of https://github.com/kevinpapst/kimai2.git synced 2025-05-10 20:00:47 +00:00

cleanup project loader

This commit is contained in:
Kevin Papst 2024-08-26 14:21:58 +02:00
parent 30602c1524
commit cbf561b0eb
6 changed files with 11 additions and 34 deletions

View file

@ -109,16 +109,9 @@ class ProjectStatisticService
;
$this->projectRepository->addPermissionCriteria($qb, $user);
$query = $this->projectRepository->prepareProjectQuery($qb->getQuery());
$query = $qb->getQuery();
$query->setFetchMode(Project::class, 'customer', ClassMetadata::FETCH_EAGER);
/** @var Project[] $projects */
$projects = $query->getResult();
$loader = new ProjectLoader($qb->getEntityManager(), false, true);
$loader->loadResults($projects);
return $projects;
return $this->projectRepository->getProjects($query);
}
/**
@ -197,17 +190,9 @@ class ProjectStatisticService
}
$this->projectRepository->addPermissionCriteria($qb, $user);
$query = $this->projectRepository->prepareProjectQuery($qb->getQuery());
$query = $qb->getQuery();
$query->setFetchMode(Project::class, 'customer', ClassMetadata::FETCH_EAGER);
/** @var Project[] $projects */
$projects = $query->getResult();
// pre-cache customer objects instead of joining them
$loader = new ProjectLoader($qb->getEntityManager(), false, true);
$loader->loadResults($projects);
return $projects;
return $this->projectRepository->getProjects($query);
}
public function getBudgetStatisticModel(Project $project, DateTimeInterface $today): ProjectBudgetStatisticModel
@ -695,17 +680,9 @@ class ProjectStatisticService
}
$this->projectRepository->addPermissionCriteria($qb, $user);
$query = $this->projectRepository->prepareProjectQuery($qb->getQuery());
$query = $qb->getQuery();
$query->setFetchMode(Project::class, 'customer', ClassMetadata::FETCH_EAGER);
/** @var Project[] $projects */
$projects = $query->getResult();
// pre-cache customer objects instead of joining them
$loader = new ProjectLoader($qb->getEntityManager(), false, true);
$loader->loadResults($projects);
return $projects;
return $this->projectRepository->getProjects($query);
}
/**

View file

@ -403,7 +403,7 @@ class ActivityRepository extends EntityRepository
* @param Query<Activity> $query
* @return Activity[]
*/
private function getActivities(Query $query): array
public function getActivities(Query $query): array
{
/** @var array<Activity> $activities */
$activities = $query->execute();

View file

@ -311,7 +311,7 @@ class CustomerRepository extends EntityRepository
* @param Query<Customer> $query
* @return Customer[]
*/
private function getCustomers(Query $query, CustomerQuery $customerQuery): array
public function getCustomers(Query $query, CustomerQuery $customerQuery): array
{
/** @var array<Customer> $customers */
$customers = $query->execute();

View file

@ -381,7 +381,7 @@ class ProjectRepository extends EntityRepository
* @param Query<Project> $query
* @return Project[]
*/
private function getProjects(Query $query): array
public function getProjects(Query $query): array
{
/** @var array<Project> $projects */
$projects = $query->execute();

View file

@ -125,7 +125,7 @@ class TeamRepository extends EntityRepository
* @param Query<Team> $query
* @return Team[]
*/
private function getTeams(Query $query): array
public function getTeams(Query $query): array
{
/** @var array<Team> $teams */
$teams = $query->execute();

View file

@ -402,7 +402,7 @@ class UserRepository extends EntityRepository implements UserLoaderInterface, Us
* @param Query<User> $query
* @return User[]
*/
private function getUsers(Query $query): array
public function getUsers(Query $query): array
{
/** @var array<User> $users */
$users = $query->execute();