diff --git a/app/templates/projects/project.html b/app/templates/projects/project.html index b5adbf0..cdd25b8 100644 --- a/app/templates/projects/project.html +++ b/app/templates/projects/project.html @@ -32,4 +32,7 @@

{% translate 'CLI configuration' %}

~/.config/traduire.toml
{{ toml }}
+ +

{% translate 'Latest activity' %}

+{% for a in activity %}{{ a.as_html }}{% empty %}

{% translate 'None' %}

{% endfor %} {% endblock %} diff --git a/projects/models.py b/projects/models.py index f928d57..86e2e3b 100644 --- a/projects/models.py +++ b/projects/models.py @@ -6,6 +6,8 @@ from django.db import models from django.db.models import Q from django.urls import reverse +from django.utils.formats import date_format +from django.utils.html import format_html from django.utils.timesince import timesince from django.utils.translation import gettext_lazy as _ @@ -232,3 +234,18 @@ def save(self, *args, **kwargs): super().save(*args, **kwargs) save.alters_data = True + + def as_html(self): + return format_html( + """\ +

+ {created_at}
+ {user} {action} {catalog} +

+ """, + created_at=date_format(self.created_at, "Y-m-d H:i"), + action=self.get_action_display(), + user=self.user or self.user_string, + project=self.project or self.project_string, + catalog=self.catalog or self.catalog_string, + ) diff --git a/projects/views.py b/projects/views.py index 7581925..6eaacab 100644 --- a/projects/views.py +++ b/projects/views.py @@ -35,6 +35,9 @@ def project(request, slug): { "project": project, "toml": project.toml(request=request), + "activity": Event.objects.filter(project=project).select_related( + "user", "project", "catalog" + )[:30], }, )