diff --git a/src/Controller/Teamer/IndexController.php b/src/Controller/Teamer/IndexController.php index 77b04c7..667b5f9 100644 --- a/src/Controller/Teamer/IndexController.php +++ b/src/Controller/Teamer/IndexController.php @@ -57,12 +57,29 @@ class IndexController extends AbstractController ->getUpcomingDispositionsByTeamer($teamer) ; + $dispositionDocuments = $this->processDocuments($upcomingDispositions); + return $this->render('teamer/index.html.twig', [ 'matchingAssignments' => $matchingAssignments, 'recentFeedback' => $recentFeedback, 'pendingApplications' => $pendingApplications, 'currentDispositions' => $currentDispositions, 'upcomingDispositions' => $upcomingDispositions, + 'dispositionDocuments' => $dispositionDocuments, ]); } + + private function processDocuments(array $upcomingDispositions): array + { + $dispositions = []; + + foreach ($upcomingDispositions as $disposition) { + /** @var Disposition $disposition */ + if ($disposition->isContractDue() || $disposition->isContractRejected() || $disposition->isInvoiceDue()) { + $dispositions[] = $disposition; + } + } + + return $dispositions; + } } \ No newline at end of file diff --git a/src/Entity/Disposition.php b/src/Entity/Disposition.php index 165ea5f..e3ae642 100644 --- a/src/Entity/Disposition.php +++ b/src/Entity/Disposition.php @@ -206,6 +206,15 @@ class Disposition implements BlameableEntityInterface, TimestampableEntityInterf return $period->isStarted(); } + public function isContractRejected(): bool + { + if (null === $contractDocument = $this->getDocumentByType(Upload::TYPE_CONTRACT)) { + return false; + } + + return $contractDocument->isRejected(); + } + public function isInvoiceDue(): bool { if (null !== $this->getDocumentByType(Upload::TYPE_INVOICE)) { diff --git a/templates/teamer/disposition/detail.html.twig b/templates/teamer/disposition/detail.html.twig index fbadb8d..67279ee 100644 --- a/templates/teamer/disposition/detail.html.twig +++ b/templates/teamer/disposition/detail.html.twig @@ -23,27 +23,6 @@ } %}
- {% if disposition.assignment.documents|length %} -

- Dokumente -

- - {% endif %} - {# Upload contract #} {% if workflow_has_marked_place(disposition, 'new') %}

diff --git a/templates/teamer/index.html.twig b/templates/teamer/index.html.twig index 7b802dc..ed886db 100644 --- a/templates/teamer/index.html.twig +++ b/templates/teamer/index.html.twig @@ -41,9 +41,9 @@ Meine Dokumente

-
{% if disposition.contractDue %}Honorarvertrag{% else %}Honorarnote{% endif %} fällig
+
+ {%- if disposition.contractDue -%} + Honorarvertrag fällig + {%- elseif disposition.contractRejected %} + Honorarvertrag muss erneut hochgeladen werden + {%- elseif disposition.invoiceDue -%} + Honorarnote fällig + {%- endif %} +
{% endif %}