diff --git a/src/Security/Voter/ApplicationVoter.php b/src/Security/Voter/ApplicationVoter.php
index f86cf78..347e87b 100644
--- a/src/Security/Voter/ApplicationVoter.php
+++ b/src/Security/Voter/ApplicationVoter.php
@@ -54,12 +54,14 @@ class ApplicationVoter extends Voter
if ($this->security->isGranted('ROLE_TEAMER') && in_array($attribute, $teamerAttributes)) {
$teamer = $user->getTeamer();
+
+ if ($teamer !== $application->getTeamer()) {
+ return false;
+ }
+
return match ($attribute) {
- static::WITHDRAW => $teamer === $application->getTeamer(),
- static::DELETE => $teamer === $application->getTeamer()
- && Application::STATUS_REJECTED === $status,
- static::VIEW => $teamer === $application->getTeamer()
- && Application::STATUS_REJECTED !== $status,
+ static::DELETE => Application::STATUS_REJECTED === $status,
+ static::VIEW, static::WITHDRAW => Application::STATUS_REJECTED !== $status,
default => false,
};
}
diff --git a/templates/teamer/assignment/detail.html.twig b/templates/teamer/assignment/detail.html.twig
index 60dc181..ad07250 100644
--- a/templates/teamer/assignment/detail.html.twig
+++ b/templates/teamer/assignment/detail.html.twig
@@ -22,12 +22,14 @@
{% if application.comment and application.commentVisible %}
Begründung: {{ application.comment|nl2br}}
{% endif %}
- {% elseif application.status == constant('App\\Entity\\Application::STATUS_PENDING') %}
+ {% endif %}
+ {% if application.status == constant('App\\Entity\\Application::STATUS_PENDING') %}
{% if application.comment and application.commentVisible %}
Begründung: {{ application.comment|nl2br}}
{% endif %}
- {% else %}
+ {% endif %}
+ {% if is_granted('WITHDRAW', application) %}