diff --git a/src/Bundle/ChillMainBundle/Entity/User.php b/src/Bundle/ChillMainBundle/Entity/User.php
index 24e88e7ba..a8ef88fbe 100644
--- a/src/Bundle/ChillMainBundle/Entity/User.php
+++ b/src/Bundle/ChillMainBundle/Entity/User.php
@@ -304,7 +304,7 @@ class User implements UserInterface
public function isAbsent(): bool
{
- return (null !== $this->getAbsenceStart() && $this->getAbsenceStart() <= new DateTimeImmutable('now')) ? true : false;
+ return null !== $this->getAbsenceStart() && $this->getAbsenceStart() <= new DateTimeImmutable('now');
}
/**
diff --git a/src/Bundle/ChillMainBundle/Resources/public/types.ts b/src/Bundle/ChillMainBundle/Resources/public/types.ts
index 142864393..9453c89b0 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/types.ts
+++ b/src/Bundle/ChillMainBundle/Resources/public/types.ts
@@ -35,6 +35,7 @@ export interface User {
id: number;
username: string;
text: string;
+ text_without_absence: string;
email: string;
user_job: Job;
label: string;
diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Entity/UserRenderBoxBadge.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Entity/UserRenderBoxBadge.vue
index a5e1cf183..a9c2db9b4 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Entity/UserRenderBoxBadge.vue
+++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Entity/UserRenderBoxBadge.vue
@@ -1,8 +1,7 @@
{{ user.label }}
- ({{ user.user_job.label.fr }})
- ({{ user.main_scope.name.fr }})
+ ({{ user.user_job.label.fr }}) ({{ user.main_scope.name.fr }}) A
diff --git a/src/Bundle/ChillMainBundle/Resources/views/Entity/user.html.twig b/src/Bundle/ChillMainBundle/Resources/views/Entity/user.html.twig
index 7b669aee3..ad05a5a2c 100644
--- a/src/Bundle/ChillMainBundle/Resources/views/Entity/user.html.twig
+++ b/src/Bundle/ChillMainBundle/Resources/views/Entity/user.html.twig
@@ -7,11 +7,6 @@
({{ user.mainScope.name|localize_translatable_string }})
{%- endif -%}
{%- if opts['absence'] and user.isAbsent %}
- {%- if date(user.absenceStart) < date() %}
-
-
- A
-
- {%- endif %}
+ {{ 'absence.A'|trans }}
{%- endif -%}
diff --git a/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php b/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php
index 7f5b62be5..fde3a3d8e 100644
--- a/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php
+++ b/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php
@@ -31,6 +31,7 @@ class UserNormalizer implements ContextAwareNormalizerInterface, NormalizerAware
'id' => '',
'username' => '',
'text' => '',
+ 'text_without_absent' => '',
'label' => '',
'email' => '',
];
@@ -82,6 +83,7 @@ class UserNormalizer implements ContextAwareNormalizerInterface, NormalizerAware
'id' => $object->getId(),
'username' => $object->getUsername(),
'text' => $this->userRender->renderString($object, []),
+ 'text_without_absent' => $this->userRender->renderString($object, ['absence' => false]),
'label' => $object->getLabel(),
'email' => (string) $object->getEmail(),
'user_job' => $this->normalizer->normalize($object->getUserJob(), $format, $userJobContext),
diff --git a/src/Bundle/ChillMainBundle/Templating/Entity/UserRender.php b/src/Bundle/ChillMainBundle/Templating/Entity/UserRender.php
index 43736eb81..6780db742 100644
--- a/src/Bundle/ChillMainBundle/Templating/Entity/UserRender.php
+++ b/src/Bundle/ChillMainBundle/Templating/Entity/UserRender.php
@@ -69,7 +69,9 @@ class UserRender implements ChillEntityRenderInterface
->localize($entity->getMainScope()->getName()) . ')';
}
- $current_date = new DateTimeImmutable();
+ if ($entity->isAbsent() && $opts['absence']) {
+ $str .= ' (' . $this->translator->trans('absence.Absent') . ')';
+ }
return $str;
}
diff --git a/src/Bundle/ChillMainBundle/translations/messages.fr.yml b/src/Bundle/ChillMainBundle/translations/messages.fr.yml
index d6beea337..f01976e87 100644
--- a/src/Bundle/ChillMainBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillMainBundle/translations/messages.fr.yml
@@ -587,6 +587,8 @@ saved_export:
absence:
+ # single letter for absence
+ A: A
My absence: Mon absence
Unset absence: Supprimer la date d'absence
Set absence date: Indiquer une date d'absence
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
index f29d75f26..dcade7e0f 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
+++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Banner.vue
@@ -23,11 +23,11 @@
{{ $t('course.referrer') }}:
-
-
- A
-
{{ accompanyingCourse.user.text }}
+
+
+ A
+
@@ -64,13 +64,15 @@
import ToggleFlags from './Banner/ToggleFlags';
import SocialIssue from './Banner/SocialIssue.vue';
import PersonsAssociated from './Banner/PersonsAssociated.vue';
+import UserRenderBoxBadge from 'ChillMainAssets/vuejs/_components/Entity/UserRenderBoxBadge.vue';
export default {
name: 'Banner',
components: {
ToggleFlags,
SocialIssue,
- PersonsAssociated
+ PersonsAssociated,
+ UserRenderBoxBadge,
},
computed: {
accompanyingCourse() {