Closed edoudev closed 5 years ago
Il y a bien un problème, mais c'est pas exactement celui que tu décris - c'est la date de création qui est utilisée des deux côtés :
Il y a deux erreurs de copier-coller ($this->created_at
au lieu de $this->deleted_at
et $this->updated_at
) ici : https://github.com/4sucres/board/blob/d7a92e0213a5612abfbed430e7ac8f68229417df/app/Models/Post.php#L95-L105
Je pense que la méthode niceDate
ne fonctionne pas correctement, je suis en train de regarder.
EDIT Je confirme, le terme "aujourd'hui" est retourné pour les dates datant d'hier
https://github.com/4sucres/board/blob/d7a92e0213a5612abfbed430e7ac8f68229417df/app/Helpers/SucresHelper.php#L54-L76
@mgkprod
Bon ça se fait pas trop mais ma PR précédente est dans le master
de mon fork, du coup si je fais une nouvelle PR ça va prendre les commit des succès ; j'ai vraiment la flemme de tout séparer du coup je te met un correctif potentiel ici :
// app/Helpers/SucresHelper.php
const NICEDATE_MINIMAL = 0;
const NICEDATE_WITH_HOURS = 1;
public static function niceDate(Carbon $date, $ret_type = self::NICEDATE_WITH_HOURS)
{
// Je pense qu'on devrait utiliser ça, avec la date exacte
// dans un attribut 'title' au passage de la souris.
// $diff = $date->diffForHumans(['options' => Carbon::ONE_DAY_WORDS]);
if ($date->isToday()) {
$markup = 'aujourd\'hui';
} elseif ($date->isLastDay()) {
$markup = 'hier';
} else {
$markup = sprintf('le %s', $date->format('d/m/Y'));
}
switch ($ret_type) {
case self::NICEDATE_WITH_HOURS:
$markup .= sprintf(' à %s', $date->format('H:i:s'));
break;
case self::NICEDATE_MINIMAL:
default:
break;
}
return $markup;
}
Et une correction de simples erreurs de copier/coller :
// app/Models/Post.php
public function getPresentedDateAttribute()
{
$markup = SucresHelper::niceDate($this->created_at);
if ($this->deleted_at) {
$markup .= ' (supprimé ' . SucresHelper::niceDate($this->deleted_at) . ')';
} else {
if ($this->created_at != $this->updated_at) {
$markup .= ' (modifié ' . SucresHelper::niceDate($this->updated_at) . ')';
}
}
return $markup;
}
Sachant que je pense qu'on devrait afficher une date complètement relative avec $date->diffForHumans(['options' => Carbon::ONE_DAY_WORDS])
, et afficher la date complète au survol de la souris. C'est plus user-friendly, et on a quand même l'information complète si on la veut.
La date de modification remplace la date du topic, si je crée mon topic à 21h et que je le modifie à 22h, la date 22h va remplacer la première date ce qui ne devrait pas être le cas. >Exemple< Topic normalement créée hier, après sa modification, la date originale a été remplacée par la date de la modification.