fix: don't filter application list by rejected status in repository

This commit is contained in:
Björn Fromme
2024-01-10 18:29:59 +01:00
parent aa9ec07603
commit 1654ab9903
4 changed files with 9 additions and 4 deletions
@@ -21,7 +21,6 @@ class EditController extends AbstractController
}
#[Route('/admin/assignment/edit/{uuid}', name: 'app_admin_assignment_edit')]
#[IsGranted('ROLE_ADMINISTRATIVE')]
#[IsGranted('EDIT', subject: 'assignment')]
public function index(Assignment $assignment, Request $request): Response
{
+7
View File
@@ -337,6 +337,13 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa
return $this->applications;
}
public function getValidApplications(): Collection
{
return $this->applications->filter(function (Application $application) {
return Application::STATUS_REJECTED !== $application->getStatus();
});
}
public function addApplication(Application $application): static
{
if (!$this->applications->contains($application)) {
+1 -2
View File
@@ -37,9 +37,8 @@ class AssignmentRepository extends ServiceEntityRepository
->innerJoin('assignment.destination', 'destination')
->innerJoin('assignment.jobProfile', 'job_profile')
->where($qb->expr()->isNull('assignment.deletedAt'))
->leftJoin('assignment.applications', 'application', Join::WITH, $qb->expr()->neq('application.status', ':status'))
->leftJoin('assignment.applications', 'application')
->leftJoin('assignment.dispositions', 'disposition')
->setParameter('status', Application::STATUS_REJECTED)
;
$this->applyFilterSettings($filterDto, $qb);
+1 -1
View File
@@ -90,7 +90,7 @@
</td>
<td>
<a href="{{ path('app_admin_assignment_detail', { 'uuid': assignment.uuid, 'r': return_url() }) }}" class="flex items-center space-x-2">
<span>{{ assignment.applications|length }}/{{ assignment.availableDispositions - assignment.dispositions|length }}</span>
<span>{{ assignment.validApplications|length }}/{{ assignment.availableDispositions - assignment.dispositions|length }}</span>
{% if assignment.status == 'closed' %}
{{ icon('locked', 'w-4 h-4 text-red-500') }}
{% else %}