From c4d33f5f551a252f6c71bc04244dda7f7c4ca821 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 11 Mar 2020 16:59:44 +0400 Subject: [PATCH] PHRAS-2978 #comment Workzone basket: fix date format and tooltip display --- lib/classes/phraseadate.php | 53 ++++++++++++++++++++ templates/web/prod/Tooltip/Basket.html.twig | 19 +++---- templates/web/prod/WorkZone/Basket.html.twig | 2 +- 3 files changed, 64 insertions(+), 10 deletions(-) diff --git a/lib/classes/phraseadate.php b/lib/classes/phraseadate.php index c501eadd5d..7d71c3445a 100644 --- a/lib/classes/phraseadate.php +++ b/lib/classes/phraseadate.php @@ -119,6 +119,59 @@ class phraseadate } } + /** + * + * @param DateTime $date + * @return string + */ + public function getLocalDate(DateTime $date = null) + { + if (is_null($date)) { + return null; + } + + $compareTo = new DateTime('now'); + $diff = $compareTo->format('U') - $date->format('U'); + $currentYear = $date->format('Y'); + $dayDiff = floor($diff / 86400); + + if (is_nan($dayDiff) || $dayDiff > 365000) { + return ''; + } + + + + $date_string_Y = new IntlDateFormatter($this->app['locale'], NULL, NULL, NULL, NULL, 'dd MMMM yyyy'); + // $date_string_M = new IntlDateFormatter($this->app['locale'], NULL, NULL, NULL, NULL, 'dd MMMM'); + + if ($dayDiff == 0) { + if ($diff < 60) { + return $this->app->trans('phraseanet::temps:: a l\'instant'); + } elseif ($diff < 120) { + return $this->app->trans('phraseanet::temps:: il y a une minute'); + } elseif ($diff < 3600) { + return $this->app->trans('phraseanet::temps:: il y a %quantity% minutes', ['%quantity%' => floor($diff / 60)]); + } elseif ($diff < 7200) { + return $this->app->trans('phraseanet::temps:: il y a une heure'); + } elseif ($diff < 86400) { + return $this->app->trans('phraseanet::temps:: il y a %quantity% heures', ['%quantity%' => floor($diff / 3600)]); + } + } elseif ($dayDiff == 1) { + return $this->app->trans('phraseanet::temps:: hier'); + + }else { + // current year + /* if (date('Y')== $currentYear) { + return $date_string_M->format($date); + }*/ + //return $date_string_Y->format($date); + } + + + + return $date_string_Y->format($date); + } + /** * * @param DateTime $date diff --git a/templates/web/prod/Tooltip/Basket.html.twig b/templates/web/prod/Tooltip/Basket.html.twig index efd82d2c8f..f35dfa0091 100644 --- a/templates/web/prod/Tooltip/Basket.html.twig +++ b/templates/web/prod/Tooltip/Basket.html.twig @@ -8,21 +8,22 @@ {% block content %}
+ + {% if basket.getValidation() %} + {% set dateExpired = app['date-formatter'].getLocalDate(basket.getValidation().getExpires()) %} + {{ 'workzone:feedback:expiration' | trans }} : {{ dateExpired }} + {% endif %} +
{{ basket.getDescription()|nl2br }}
{% set nb_records = basket.getElements()|length %} - {% set date = app['date-formatter'].getPrettyString(basket.getUpdated()) %} - - {% if basket.getValidation() %} - {% set dateExpired = app['date-formatter'].getPrettyString(basket.getValidation().getExpires()) %} - {{ 'workzone:feedback:expiration' | trans }} : {{ dateExpired }} - {% endif %} - -
+ {% set date = app['date-formatter'].getLocalDate(basket.getUpdated()) %} + +
{% trans with {'%nb_records%' : nb_records} %}%nb_records% records{% endtrans %} - - {{ date }} + - {{ 'prod:workzone:basket:creation-date' | trans }} : {{ date }}

diff --git a/templates/web/prod/WorkZone/Basket.html.twig b/templates/web/prod/WorkZone/Basket.html.twig index 524665ea03..68613370ef 100644 --- a/templates/web/prod/WorkZone/Basket.html.twig +++ b/templates/web/prod/WorkZone/Basket.html.twig @@ -89,7 +89,7 @@ {% endif %}
{% if basket.getValidation() %} - {% set dateExpired = app['date-formatter'].getPrettyString(basket.getValidation().getExpires()) %} + {% set dateExpired = app['date-formatter'].getLocalDate(basket.getValidation().getExpires()) %} {{ 'workzone:feedback:expiration' | trans }} : {{ dateExpired }} {% endif %}