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 @@ 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 }} + @@ -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() {