mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-20 14:43:49 +00:00
Fixes for features "allow to set user absences"
This commit is contained in:
@@ -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');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -35,6 +35,7 @@ export interface User {
|
||||
id: number;
|
||||
username: string;
|
||||
text: string;
|
||||
text_without_absence: string;
|
||||
email: string;
|
||||
user_job: Job;
|
||||
label: string;
|
||||
|
@@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<span class="chill-entity entity-user">
|
||||
{{ user.label }}
|
||||
<span class="user-job" v-if="user.user_job !== null">({{ user.user_job.label.fr }})</span>
|
||||
<span class="main-scope" v-if="user.main_scope !== null">({{ user.main_scope.name.fr }})</span>
|
||||
<span class="user-job" v-if="user.user_job !== null">({{ user.user_job.label.fr }})</span> <span class="main-scope" v-if="user.main_scope !== null">({{ user.main_scope.name.fr }})</span> <span v-if="user.isAbsent" class="badge bg-danger rounded-pill" :title="Absent">A</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
|
@@ -7,11 +7,6 @@
|
||||
<span class="main-scope">({{ user.mainScope.name|localize_translatable_string }})</span>
|
||||
{%- endif -%}
|
||||
{%- if opts['absence'] and user.isAbsent %}
|
||||
{%- if date(user.absenceStart) < date() %}
|
||||
<span class="fa-stack fa-holder" title="{{ 'absence.Absent'|trans }}">
|
||||
<i class="fa fa-circle fa-stack-1x text-danger"></i>
|
||||
<i class="fa fa-stack-1x text-white">A</i>
|
||||
</span>
|
||||
{%- endif %}
|
||||
<span class="badge bg-danger rounded-pill" title="{{ 'absence.Absent'|trans|escape('html_attr') }}">{{ 'absence.A'|trans }}</span>
|
||||
{%- endif -%}
|
||||
</span>
|
||||
|
@@ -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),
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user