-
-
-
- {% if f.isResource %}
- {{ f.resource.name|localize_translatable_string }}
- {% else %}
- {{ f.charge.name|localize_translatable_string }}
- {% endif %}
-
+ |
+ {% if f.isResource %}
+ {{ f.resource.name|localize_translatable_string }}
+ {% else %}
+ {{ f.charge.name|localize_translatable_string }}
+ {% endif %}
|
- {{ f.amount|format_currency('EUR') }} |
-
+ | {{ f.amount|format_currency('EUR') }} |
+
{% if f.endDate is not null %}
{{ f.startDate|format_date('short') ~ ' - ' ~ f.endDate|format_date('short') }}
{% else %}
- {{ f.startDate|format_date('short') ~ ' - ...' }}
+ {{ 'depuis le ' ~ f.startDate|format_date('short') }}
{% endif %}
|
-
+ |
{% if is_granted('CHILL_BUDGET_ELEMENT_SEE', f) %}
-
@@ -80,10 +77,9 @@
{% set result = (totalResources - totalCharges) %}
-
+
- |
|
{{ 'Budget calculator result'|trans }} |
@@ -91,7 +87,6 @@
{{ 'The balance'|trans }} |
- |
{{ result|format_currency('EUR') }}
|
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig
index 14573048e..ad0a12755 100644
--- a/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig
+++ b/src/Bundle/ChillBudgetBundle/Resources/views/Budget/_past_budget.html.twig
@@ -20,34 +20,24 @@
aria-labelledby="heading_past_{{ entity.id }}"
data-bs-parent="#past_{{ entity.id }}">
-
- {{ 'Past resources'|trans }}
+
+ {{ 'Past resources'|trans }}
{% if pastResources|length > 0 %}
-
- {{ table_elements(pastResources, 'resource') }}
-
+ {{ table_elements(pastResources, 'resource') }}
{% else %}
-
- {{ 'No past resources registered'|trans }}
-
+ {{ 'No past resources registered'|trans }}
{% endif %}
-
-
- {{ 'Past charges'|trans }}
+ {{ 'Past charges'|trans }}
{% if pastCharges|length > 0 %}
-
- {{ table_elements(pastCharges, 'charge') }}
-
+ {{ table_elements(pastCharges, 'charge') }}
{% else %}
-
- {{ 'No past charges registered'|trans }}
-
+ {{ 'No past charges registered'|trans }}
{% endif %}
-
\ No newline at end of file
+
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig
index c2533e4c0..1df92b297 100644
--- a/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig
+++ b/src/Bundle/ChillBudgetBundle/Resources/views/Household/index.html.twig
@@ -24,16 +24,14 @@
} %}
{#
-
- {{ 'Budget calculator'|trans }}
-
- {{ table_results(wholeCharges, wholeResources) }}
-
+
+ {{ 'Budget calculator'|trans }}
+ {{ table_results(wholeCharges, wholeResources) }}
#}
{% if household.getCurrentMembers|length > 0 %}
- {{ 'Current budget household members'|trans }}
+ {{ 'Budget household members'|trans }}
{% for hm in household.getCurrentMembers %}
{% set member = hm.person %}
@@ -57,6 +55,8 @@
aria-labelledby="heading_{{ member.id }}"
data-bs-parent="#nonCurrent">
+ {{ 'Budget for %name%'|trans({'%name%': member.firstName ~ " " ~ member.lastName }) }}
+
{% include 'ChillBudgetBundle:Budget:_budget.html.twig' with {
'resources': member.getBudgetResources,
'charges': member.getBudgetCharges,
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig
index 959df3d62..18d04b889 100644
--- a/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig
+++ b/src/Bundle/ChillBudgetBundle/Resources/views/Person/index.html.twig
@@ -17,17 +17,15 @@
{% block content %}
{{ title }}
-{% include 'ChillBudgetBundle:Budget:_budget.html.twig' with {
+{% include '@ChillBudget/Budget/_budget.html.twig' with {
'resources': resources,
'charges': charges,
'person': person
} %}
-
- {{ 'Budget calculator'|trans }}
-
- {{ table_results(charges, resources) }}
-
+
+ {{ 'Budget calculator'|trans }}
+ {{ table_results(charges, resources) }}
{% if is_granted('CHILL_BUDGET_ELEMENT_CREATE', person) %}
diff --git a/src/Bundle/ChillBudgetBundle/Resources/views/Resource/confirm_delete.html.twig b/src/Bundle/ChillBudgetBundle/Resources/views/Resource/confirm_delete.html.twig
index f60c3b6de..5c2e80e10 100644
--- a/src/Bundle/ChillBudgetBundle/Resources/views/Resource/confirm_delete.html.twig
+++ b/src/Bundle/ChillBudgetBundle/Resources/views/Resource/confirm_delete.html.twig
@@ -9,7 +9,7 @@
{% set indexPage = 'chill_budget_elements_household_index' %}
{% set activeRouteKey = '' %}
{% set household = element.household %}
- {% set confirm_question = 'Are you sure you want to remove the ressource "%type%" associated to household "%household%" ?'|trans({ '%household%' : household.id, '%type%': element.resource.getName | localize_translatable_string} ) %}
+ {% set confirm_question = 'Are you sure you want to remove the resource "%type%" associated to household "%household%" ?'|trans({ '%household%' : household.id, '%type%': element.resource.getName | localize_translatable_string} ) %}
{% endif %}
{% extends template %}
diff --git a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
index a5e5490a0..2ff258aea 100644
--- a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
@@ -3,23 +3,23 @@ Resource: Ressource
Charge: Charge
Budget for %name%: Budget de %name%
Budget for household %household%: Budget du ménage
-Current budget household members: Budget actuel des membres du ménage
+Budget household members: Budget des membres du ménage
Show budget of %name%: Montrer budget de %name%
See complete budget: Voir budget complet
Hide budget: Masquer
Hide budget of %name%: Masquer budget de %name%
Resource element type: Nature de la ressource
-Actual budget: Éléments actuels du budget
+Actual budget: Éléments actuels
Actual resources: Ressources actuelles
Actual resources for %name%: Ressources actuelles de %name%
Actual charges for %name%: Charges actuelles de %name%
Actual charges: Charges actuelles
-Past budget: Éléments du budget passé
+Past budget: Éléments passés
Show past budget: Montrer budget passé
Show future budget: Montrer budget future
Past resources: Ressources passées
Past charges: Charges passées
-Future budget: Futurs éléments du budget
+Future budget: Éléments futurs
Future resources: Ressources futures
Future charges: Charges futures
Budget element type: Nature
@@ -49,6 +49,8 @@ Remove resource: Supprimer la ressource
Remove charge: Supprimer la charge
Are you sure you want to remove the ressource "%type%" associated to "%name%" ?: Êtes-vous sûr·e de vouloir supprimer la ressource de nature "%type%" associée à %name% ?
Are you sure you want to remove the charge "%type%" associated to "%name%" ?: Êtes-vous sûr·e de vouloir supprimer la charge de nature "%type%" associée à %name% ?
+Are you sure you want to remove the charge "%type%" associated to household "%household%" ?: Êtes-vous sur·e de vouloir supprimer la charge "%type%" associée au ménage ?
+Are you sure you want to remove the resource "%type%" associated to household "%household%" ?: Êtes-vous sur·e de vouloir supprimer la ressource "%type%" associée au ménage ?
Resource deleted: Ressource supprimée
Charge deleted: Charge supprimée
Charge created: Charge créée
diff --git a/src/Bundle/ChillCalendarBundle/Command/MapAndSubscribeUserCalendarCommand.php b/src/Bundle/ChillCalendarBundle/Command/MapAndSubscribeUserCalendarCommand.php
index 902fe4c38..d0fdd0a02 100644
--- a/src/Bundle/ChillCalendarBundle/Command/MapAndSubscribeUserCalendarCommand.php
+++ b/src/Bundle/ChillCalendarBundle/Command/MapAndSubscribeUserCalendarCommand.php
@@ -76,7 +76,7 @@ class MapAndSubscribeUserCalendarCommand extends Command
'expiration' => $expiration->format(DateTimeImmutable::ATOM),
]);
- while ($offset < ($total - 1)) {
+ while ($offset < $total) {
$users = $this->userRepository->findByMostOldSubscriptionOrWithoutSubscriptionOrData(
$interval,
$limit,
diff --git a/src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraphRemoteCalendarConnector.php b/src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraphRemoteCalendarConnector.php
index 0454bae69..d14ebaa02 100644
--- a/src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraphRemoteCalendarConnector.php
+++ b/src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraphRemoteCalendarConnector.php
@@ -107,8 +107,8 @@ class MSGraphRemoteCalendarConnector implements RemoteCalendarConnectorInterface
'users/' . $userId . '/calendarView',
[
'query' => [
- 'startDateTime' => $startDate->format(DateTimeImmutable::ATOM),
- 'endDateTime' => $endDate->format(DateTimeImmutable::ATOM),
+ 'startDateTime' => $startDate->setTimezone(RemoteEventConverter::getRemoteTimeZone())->format(RemoteEventConverter::getRemoteDateTimeSimpleFormat()),
+ 'endDateTime' => $endDate->setTimezone(RemoteEventConverter::getRemoteTimeZone())->format(RemoteEventConverter::getRemoteDateTimeSimpleFormat()),
'$count' => 'true',
'$top' => 0,
],
@@ -181,8 +181,8 @@ class MSGraphRemoteCalendarConnector implements RemoteCalendarConnectorInterface
'users/' . $userId . '/calendarView',
[
'query' => [
- 'startDateTime' => $startDate->format(DateTimeImmutable::ATOM),
- 'endDateTime' => $endDate->format(DateTimeImmutable::ATOM),
+ 'startDateTime' => $startDate->setTimezone(RemoteEventConverter::getRemoteTimeZone())->format(RemoteEventConverter::getRemoteDateTimeSimpleFormat()),
+ 'endDateTime' => $endDate->setTimezone(RemoteEventConverter::getRemoteTimeZone())->format(RemoteEventConverter::getRemoteDateTimeSimpleFormat()),
'$select' => 'id,subject,start,end,isAllDay',
'$top' => $limit,
'$skip' => $offset,
@@ -539,10 +539,13 @@ class MSGraphRemoteCalendarConnector implements RemoteCalendarConnectorInterface
$userId = $this->mapCalendarToUser->getUserId($user);
if (null === $userId) {
- throw new Exception('no remote calendar for this user', [
- 'user' => $user->getId(),
- 'remoteId' => $remoteId,
- ]);
+ throw new Exception(
+ sprintf(
+ 'no remote calendar for this user: %s, remoteid: %s',
+ $user->getId(),
+ $remoteId
+ )
+ );
}
try {
diff --git a/src/Bundle/ChillDocGeneratorBundle/Resources/views/DocGeneratorTemplate/index.html.twig b/src/Bundle/ChillDocGeneratorBundle/Resources/views/DocGeneratorTemplate/index.html.twig
index 73527edb3..1adb6872b 100644
--- a/src/Bundle/ChillDocGeneratorBundle/Resources/views/DocGeneratorTemplate/index.html.twig
+++ b/src/Bundle/ChillDocGeneratorBundle/Resources/views/DocGeneratorTemplate/index.html.twig
@@ -27,9 +27,7 @@
-
- {{ 'Edit'|trans }}
-
+
|
{% endfor %}
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/views/DocumentCategory/index.html.twig b/src/Bundle/ChillDocStoreBundle/Resources/views/DocumentCategory/index.html.twig
index 5731f57f5..ff20257a5 100644
--- a/src/Bundle/ChillDocStoreBundle/Resources/views/DocumentCategory/index.html.twig
+++ b/src/Bundle/ChillDocStoreBundle/Resources/views/DocumentCategory/index.html.twig
@@ -5,14 +5,14 @@
{% block admin_content %}
{{ 'Document category list' | trans }}
-
+
{{ 'Creator bundle id' | trans }} |
{{ 'Internal id inside creator bundle' | trans }} |
{{ 'Document class' | trans }} |
{{ 'Name' | trans }} |
- {{ 'Actions' | trans }} |
+ {{ 'Actions' | trans }} |
@@ -23,7 +23,7 @@
{{ document_category.documentClass }} |
{{ document_category.name | localize_translatable_string}} |
-
+ |
getSerializer()->deserialize($request->getContent(), $postedDataType, $_format, $postedDataContext);
} catch (\Symfony\Component\Serializer\Exception\UnexpectedValueException $e) {
throw new BadRequestHttpException(sprintf('Unable to deserialize posted ' .
- 'data: %s', $e->getMessage()), 0, $e);
+ 'data: %s', $e->getMessage()), $e, 0);
}
switch ($request->getMethod()) {
diff --git a/src/Bundle/ChillMainBundle/Controller/AddressToReferenceMatcherController.php b/src/Bundle/ChillMainBundle/Controller/AddressToReferenceMatcherController.php
index 5cdefceb5..aab63aea3 100644
--- a/src/Bundle/ChillMainBundle/Controller/AddressToReferenceMatcherController.php
+++ b/src/Bundle/ChillMainBundle/Controller/AddressToReferenceMatcherController.php
@@ -107,5 +107,4 @@ class AddressToReferenceMatcherController
true
);
}
-
}
diff --git a/src/Bundle/ChillMainBundle/Entity/GroupCenter.php b/src/Bundle/ChillMainBundle/Entity/GroupCenter.php
index c2e62d012..01b450394 100644
--- a/src/Bundle/ChillMainBundle/Entity/GroupCenter.php
+++ b/src/Bundle/ChillMainBundle/Entity/GroupCenter.php
@@ -31,7 +31,7 @@ class GroupCenter
* )
* @ORM\Cache(usage="NONSTRICT_READ_WRITE")
*/
- private $center;
+ private ?Center $center = null;
/**
* @var int
@@ -40,83 +40,64 @@ class GroupCenter
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
- private $id;
+ private ?int $id = null;
/**
- * @var PermissionsGroup
- *
* @ORM\ManyToOne(
* targetEntity="Chill\MainBundle\Entity\PermissionsGroup",
* inversedBy="groupCenters")
* @ORM\Cache(usage="NONSTRICT_READ_WRITE")
*/
- private $permissionsGroup;
+ private ?PermissionsGroup $permissionsGroup = null;
/**
- * @var Collection
- *
* @ORM\ManyToMany(
* targetEntity="Chill\MainBundle\Entity\User",
* mappedBy="groupCenters"
* )
+ * @var Collection
*/
- private $users;
+ private Collection $users;
/**
* GroupCenter constructor.
*/
public function __construct()
{
- $this->permissionsGroup = new ArrayCollection();
$this->users = new ArrayCollection();
}
- /**
- * @return Center
- */
- public function getCenter()
+ public function getCenter(): ?Center
{
return $this->center;
}
- /**
- * @return int
- */
- public function getId()
+ public function getId(): ?int
{
return $this->id;
}
- /**
- * @return PermissionGroup
- */
- public function getPermissionsGroup()
+ public function getPermissionsGroup(): ?PermissionsGroup
{
return $this->permissionsGroup;
}
/**
- * @return ArrayCollection|Collection
+ * @return Collection
*/
- public function getUsers()
+ public function getUsers(): Collection
{
return $this->users;
}
- /**
- * @return \Chill\MainBundle\Entity\GroupCenter
- */
- public function setCenter(Center $center)
+ public function setCenter(Center $center): self
{
$this->center = $center;
return $this;
}
- /**
- * @return \Chill\MainBundle\Entity\GroupCenter
- */
- public function setPermissionsGroup(PermissionsGroup $permissionsGroup)
+ public function setPermissionsGroup(PermissionsGroup $permissionsGroup): self
{
$this->permissionsGroup = $permissionsGroup;
diff --git a/src/Bundle/ChillMainBundle/Form/Type/ComposedRoleScopeType.php b/src/Bundle/ChillMainBundle/Form/Type/ComposedRoleScopeType.php
index 1d541cbd7..627ce596a 100644
--- a/src/Bundle/ChillMainBundle/Form/Type/ComposedRoleScopeType.php
+++ b/src/Bundle/ChillMainBundle/Form/Type/ComposedRoleScopeType.php
@@ -88,6 +88,7 @@ class ComposedRoleScopeType extends AbstractType
])
->add('scope', EntityType::class, [
'class' => Scope::class,
+ 'placeholder' => 'Choose amongst scopes',
'choice_label' => static function (Scope $scope) use ($translatableStringHelper) {
return $translatableStringHelper->localize($scope->getName());
},
diff --git a/src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php b/src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php
index 79ed6df40..2529a0655 100644
--- a/src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php
+++ b/src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php
@@ -60,15 +60,17 @@ class ScopePickerType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
- $items = array_filter(
- $this->authorizationHelper->getReachableScopes(
- $this->security->getUser(),
- $options['role'] instanceof Role ? $options['role']->getRole() : $options['role'],
- $options['center']
- ),
- static function (Scope $s) {
- return $s->isActive();
- }
+ $items = array_values(
+ array_filter(
+ $this->authorizationHelper->getReachableScopes(
+ $this->security->getUser(),
+ $options['role'] instanceof Role ? $options['role']->getRole() : $options['role'],
+ $options['center']
+ ),
+ static function (Scope $s) {
+ return $s->isActive();
+ }
+ )
);
if (0 === count($items)) {
diff --git a/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php b/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php
index 16dc0a4a5..54d953016 100644
--- a/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php
+++ b/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php
@@ -247,7 +247,7 @@ class WorkflowStepType extends AbstractType
function ($step, ExecutionContextInterface $context, $payload) {
$form = $context->getObject();
- foreach($form->get('future_dest_users')->getData() as $u) {
+ foreach ($form->get('future_dest_users')->getData() as $u) {
if (in_array($u, $form->get('future_cc_users')->getData(), true)) {
$context
->buildViolation('workflow.The user in cc cannot be a dest user in the same workflow step')
diff --git a/src/Bundle/ChillMainBundle/Notification/Mailer.php b/src/Bundle/ChillMainBundle/Notification/Mailer.php
index c63a96f04..307d5d1df 100644
--- a/src/Bundle/ChillMainBundle/Notification/Mailer.php
+++ b/src/Bundle/ChillMainBundle/Notification/Mailer.php
@@ -15,7 +15,10 @@ use Chill\MainBundle\Entity\User;
use Psr\Log\LoggerInterface;
use Swift_Mailer;
use Swift_Message;
+use Symfony\Component\Mailer\MailerInterface;
+use Symfony\Component\Mime\Email;
use Symfony\Component\Routing\RouterInterface;
+use Symfony\Component\Templating\EngineInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
use Twig\Environment;
@@ -26,43 +29,34 @@ use function call_user_func;
* Classe d'aide pour l'envoi de notification.
*
* Héberge toutes les méthodes pour ré-écrire les URL en fonction de la langue de l'utilisateur.
+ *
+ * @deprecated use the MailerInterface
*/
class Mailer
{
- /**
- * @var Swift_Mailer
- */
- protected $forcedMailer;
-
/**
* @var LoggerInterface
*/
- protected $logger;
-
- /**
- * @var Swift_Mailer
- */
- protected $mailer;
+ private $logger;
/**
* @var array
*/
- protected $routeParameters;
+ private $routeParameters;
/**
* @var RouterInterface
*/
- protected $router;
+ private $router;
/**
* @var TranslatorInterface
*/
- protected $translator;
+ private $translator;
- /**
- * @var \Twig\Environment
- */
- protected $twig;
+ private EngineInterface $twig;
+
+ private MailerInterface $mailer;
/**
* Mailer constructor.
@@ -70,11 +64,9 @@ class Mailer
* @param $routeParameters
*/
public function __construct(
+ MailerInterface $mailer,
LoggerInterface $logger,
- Environment $twig,
- Swift_Mailer $mailer,
- // due to bug https://github.com/symfony/swiftmailer-bundle/issues/127
- // \Swift_Transport $mailerTransporter,
+ EngineInterface $twig,
RouterInterface $router,
TranslatorInterface $translator,
$routeParameters
@@ -82,7 +74,6 @@ class Mailer
$this->logger = $logger;
$this->twig = $twig;
$this->mailer = $mailer;
- //$this->forcedMailer = new \Swift_Mailer($mailerTransporter);
$this->router = $router;
$this->translator = $translator;
$this->routeParameters = $routeParameters;
@@ -115,20 +106,6 @@ class Mailer
return $content;
}
- /**
- * @param $force
- *
- * @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface
- */
- public function sendMessage(Swift_Message $message, $force)
- {
- if ($force) {
- $this->forcedMailer->send($message);
- } else {
- $this->mailer->send($message);
- }
- }
-
/**
* Envoie une notification à un utilisateur.
*
@@ -155,23 +132,25 @@ class Mailer
$subject[2] ?? null
);
- $message = (new Swift_Message($subjectI18n))
- ->setFrom($fromEmail, $fromName)
- ->setTo($to);
+ $email = new Email();
+ $email->addTo($to)->subject($subjectI18n);
foreach ($bodies as $contentType => $content) {
- $message->setBody($content, $contentType);
+ match ($contentType) {
+ 'text/plain' => $email->text($content),
+ default => $email->text($content),
+ };
}
if (null !== $callback) {
- call_user_func($callback, $message);
+ call_user_func($callback, $email);
}
$this->logger->info('[notification] Sending notification', [
- 'to' => $message->getTo(),
- 'subject' => $message->getSubject(),
+ 'to' => $email->getTo(),
+ 'subject' => $email->getSubject()
]);
- $this->sendMessage($message, $force);
+ $this->mailer->send($email);
}
}
diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/chillmain.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/chillmain.scss
index 3c9fc8601..2523ee202 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/chill/chillmain.scss
+++ b/src/Bundle/ChillMainBundle/Resources/public/chill/chillmain.scss
@@ -375,6 +375,12 @@ span.dt {
font-weight: bolder;
background-color: var(--bs-chill-light-gray);
}
+/// help text
+.help-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-gray);
+}
/*
diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss
index b8f60e250..5158a826e 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss
+++ b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss
@@ -1,3 +1,11 @@
+/// mixin to set sticky area on bottom when scrolling
+@mixin sticky-bottom {
+ position: sticky;
+ bottom: 0;
+ margin-top: 4em;
+ z-index: 1000;
+}
+
ul.record_actions {
display: flex;
flex-direction: row;
@@ -53,16 +61,30 @@ ul.record_actions {
}
}
}
+
+.sticky-form {
+ background-color: $white;
+ padding-top: 1.25em;
+ margin: -1em;
+ box-shadow: 0 -20px 20px -20px rgba($chill-gray, .5);
+ @include sticky-bottom;
+
+ .sticky-form-buttons {
+ position: initial;
+ bottom: unset;
+ margin-top: unset;
+ z-index: unset;
+ }
+}
+
.sticky-form-buttons {
- margin-top: 4em;
- background-color: $beige;
- position: sticky;
- bottom: 0.3em;
- text-align: center;
- display: flex;
- padding: 0.8em 1.6em;
- border-radius: 0;
- z-index: 1000;
+ display: flex;
+ background-color: $beige;
+ text-align: center;
+ padding: 0.8em 1.6em;
+ border-radius: 0;
+ @include sticky-bottom;
+ bottom: 0.3em;
}
/// EXCEPTIONS
diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss
index 19da5aed3..57fa17648 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss
+++ b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss
@@ -64,6 +64,7 @@ section.chill-entity {
margin: 0.7em 0;
p {
display: block;
+ margin-bottom: 0;
}
}
&.delimiter {
diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddressDetails/AddressDetailsButton.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddressDetails/AddressDetailsButton.vue
index 7e060de4c..2bca56379 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddressDetails/AddressDetailsButton.vue
+++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/AddressDetails/AddressDetailsButton.vue
@@ -1,7 +1,7 @@
L'adresse de référence a été modifiée
-
-
+
+
diff --git a/src/Bundle/ChillMainBundle/Resources/views/CRUD/_edit_content.html.twig b/src/Bundle/ChillMainBundle/Resources/views/CRUD/_edit_content.html.twig
index e23949162..0bfa5d54b 100644
--- a/src/Bundle/ChillMainBundle/Resources/views/CRUD/_edit_content.html.twig
+++ b/src/Bundle/ChillMainBundle/Resources/views/CRUD/_edit_content.html.twig
@@ -1,7 +1,7 @@
{% set formId = crudMainFormId|default('crud_main_form') %}
{% block crud_content_header %}
- {{ ('crud.'~crud_name~'.title_edit')|trans }}
+ {{ ('crud.'~crud_name~'.title_edit')|trans }}
{% endblock crud_content_header %}
{% block crud_content_form %}
diff --git a/src/Bundle/ChillMainBundle/Resources/views/CRUD/_index.html.twig b/src/Bundle/ChillMainBundle/Resources/views/CRUD/_index.html.twig
index eaacc1f73..81e29a52e 100644
--- a/src/Bundle/ChillMainBundle/Resources/views/CRUD/_index.html.twig
+++ b/src/Bundle/ChillMainBundle/Resources/views/CRUD/_index.html.twig
@@ -14,7 +14,7 @@
{% endblock %}
{% else %}
{% block table_entities %}
-
+
{% block table_entities_thead_tr %}
diff --git a/src/Bundle/ChillMainBundle/Resources/views/Entity/address.html.twig b/src/Bundle/ChillMainBundle/Resources/views/Entity/address.html.twig
index 7592e9a9a..f0967ef64 100644
--- a/src/Bundle/ChillMainBundle/Resources/views/Entity/address.html.twig
+++ b/src/Bundle/ChillMainBundle/Resources/views/Entity/address.html.twig
@@ -10,6 +10,7 @@
* has_no_address bool
* multiline bool multiline display
* extended_infos bool add extra informations (step, floor, etc.) DEPRECATED
+ * details_button bool add an address details button
#}
@@ -79,7 +80,12 @@
{% endif %}
{{ _self.inline(address, options, streetLine, lines) }}
-
+ {% if options['details_button'] is defined and options['details_button'] == true %}
+
+
+ {% endif %}
{%- endif -%}
@@ -112,7 +118,12 @@
{% endif %}
{{ _self.raw(lines) }}
-
+ {% if options['details_button'] is defined and options['details_button'] == true %}
+
+
+ {% endif %}
{% endif %}
{{ _self.validity(address, options) }}
diff --git a/src/Bundle/ChillMainBundle/Resources/views/Layout/_footer.html.twig b/src/Bundle/ChillMainBundle/Resources/views/Layout/_footer.html.twig
index dbec69008..df6ba912b 100644
--- a/src/Bundle/ChillMainBundle/Resources/views/Layout/_footer.html.twig
+++ b/src/Bundle/ChillMainBundle/Resources/views/Layout/_footer.html.twig
@@ -1,8 +1,8 @@
| |