Skip to content

Commit 16c9c1e

Browse files
more tweaks for layout
1 parent bf97fc6 commit 16c9c1e

File tree

6 files changed

+36
-32
lines changed

6 files changed

+36
-32
lines changed

src/django_github_app/admin.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@
1717
from .models import Repository
1818

1919

20-
class EventLogCleanupForm(forms.Form):
21-
days_to_keep = forms.IntegerField(
22-
label="Days to keep",
23-
min_value=0,
24-
initial=app_settings.DAYS_TO_KEEP_EVENTS,
25-
help_text="Events older than this number of days will be deleted.",
26-
)
20+
def get_cleanup_form(model_meta):
21+
"""Create a cleanup form with model-specific help text."""
22+
23+
class CleanupForm(forms.Form):
24+
days_to_keep = forms.IntegerField(
25+
label="Days to keep",
26+
min_value=0,
27+
initial=app_settings.DAYS_TO_KEEP_EVENTS,
28+
help_text=f"{model_meta.verbose_name_plural.capitalize()} older than this number of days will be deleted.",
29+
)
30+
31+
return CleanupForm
2732

2833

2934
@admin.register(EventLog)
@@ -57,9 +62,11 @@ def cleanup_view(self, request):
5762
reverse("admin:django_github_app_eventlog_changelist")
5863
)
5964

65+
CleanupForm = get_cleanup_form(self.model._meta)
66+
6067
# show form or confirmation
6168
if request.method == "POST":
62-
form = EventLogCleanupForm(request.POST)
69+
form = CleanupForm(request.POST)
6370
if form.is_valid():
6471
days_to_keep = form.cleaned_data["days_to_keep"]
6572
cutoff_date = timezone.now() - datetime.timedelta(days=days_to_keep)
@@ -68,7 +75,7 @@ def cleanup_view(self, request):
6875

6976
context = {
7077
**self.admin_site.each_context(request),
71-
"title": "Confirm Event Cleanup",
78+
"title": f"Confirm {self.model._meta.verbose_name} deletion",
7279
"days_to_keep": days_to_keep,
7380
"delete_count": delete_count,
7481
"cutoff_date": cutoff_date,
@@ -87,12 +94,12 @@ def cleanup_view(self, request):
8794
"admin/django_github_app/eventlog/cleanup_confirmation.html",
8895
context,
8996
)
90-
else:
91-
form = EventLogCleanupForm()
97+
98+
form = CleanupForm()
9299

93100
context = {
94101
**self.admin_site.each_context(request),
95-
"title": "Clean up Events",
102+
"title": f"Clean up {self.model._meta.verbose_name_plural}",
96103
"form": form,
97104
"opts": self.model._meta,
98105
}

src/django_github_app/templates/admin/django_github_app/eventlog/change_list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{% block object-tools-items %}
44
<li>
55
{% url opts|admin_urlname:'cleanup' as cleanup_url %}
6-
<a href="{{ cleanup_url }}">{% translate 'Clean up Events' %}</a>
6+
<a href="{{ cleanup_url }}">{% blocktranslate with verbose_name_plural=opts.verbose_name_plural %}Clean up {{ verbose_name_plural }}{% endblocktranslate %}</a>
77
</li>
88
{{ block.super }}
99
{% endblock %}

src/django_github_app/templates/admin/django_github_app/eventlog/cleanup.html

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@
44
{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation
55
{% endblock %}
66
{% block breadcrumbs %}
7-
<div class="breadcrumbs">
8-
<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a>
9-
&rsaquo; <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a>
10-
&rsaquo; <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>
11-
&rsaquo; {% translate 'Clean up Events' %}
12-
</div>
7+
{% include "admin/django_github_app/eventlog/includes/cleanup_breadcrumbs.html" %}
138
{% endblock %}
149
{% block content %}
1510
<form method="post">
@@ -29,7 +24,7 @@
2924
</div>
3025
<div class="submit-row">
3126
<input type="submit"
32-
value="{% translate 'Submit' %}"
27+
value="{% translate 'Delete' %}"
3328
class="default"
3429
name="_save">
3530
{% url opts|admin_urlname:'changelist' as changelist_url %}

src/django_github_app/templates/admin/django_github_app/eventlog/cleanup_confirmation.html

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
{% extends "admin/delete_confirmation.html" %}
22
{% load i18n admin_urls %}
33
{% block breadcrumbs %}
4-
<div class="breadcrumbs">
5-
<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a>
6-
&rsaquo; <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a>
7-
&rsaquo; <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>
8-
&rsaquo; {% translate 'Clean up Events' %}
9-
</div>
4+
{% include "admin/django_github_app/eventlog/includes/cleanup_breadcrumbs.html" %}
105
{% endblock %}
116
{% block delete_confirm %}
127
<p>
13-
{% blocktranslate count counter=delete_count %}You are about to delete {{ counter }} event older than {{ days_to_keep }} days.{% plural %}You are about to delete {{ counter }} events older than {{ days_to_keep }} days.{% endblocktranslate %}
8+
{% blocktranslate count counter=delete_count with verbose_name=opts.verbose_name verbose_name_plural=opts.verbose_name_plural %}You are about to delete {{ counter }} {{ verbose_name }} older than {{ days_to_keep }} days.{% plural %}You are about to delete {{ counter }} {{ verbose_name_plural }} older than {{ days_to_keep }} days.{% endblocktranslate %}
149
</p>
1510
<p>
16-
{% blocktranslate %}All events received before {{ cutoff_date }} will be permanently deleted.{% endblocktranslate %}
11+
{% blocktranslate with verbose_name_plural=opts.verbose_name_plural %}All {{ verbose_name_plural }} received before {{ cutoff_date }} will be permanently deleted.{% endblocktranslate %}
1712
</p>
1813
{% if model_count %}
1914
{% include "admin/includes/object_delete_summary.html" %}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{% load i18n admin_urls %}
2+
<div class="breadcrumbs">
3+
<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a>
4+
&rsaquo; <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a>
5+
&rsaquo; <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>
6+
&rsaquo; {{ title }}
7+
</div>

tests/test_admin.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ def test_cleanup_view_get(self, factory, admin_user, eventlog_admin):
5757
response = eventlog_admin.cleanup_view(request)
5858

5959
assert response.status_code == 200
60-
assert b"Clean up Events" in response.content
61-
assert b"Days to keep events" in response.content
60+
assert b"Clean up event logs" in response.content
61+
assert b"Days to keep" in response.content
6262

6363
def test_cleanup_view_post_shows_confirmation(self, client, admin_user, baker):
6464
# Create some test events
@@ -73,7 +73,7 @@ def test_cleanup_view_post_shows_confirmation(self, client, admin_user, baker):
7373
)
7474

7575
assert response.status_code == 200
76-
assert b"You are about to delete 3 events" in response.content
76+
assert b"You are about to delete 3 event logs" in response.content
7777
assert b"Yes, I" in response.content and b"m sure" in response.content
7878

7979
@patch("django_github_app.models.EventLog.objects.cleanup_events")
@@ -162,7 +162,7 @@ def test_cleanup_view_integration(self, client, admin_user, baker):
162162
{"days_to_keep": "5"},
163163
)
164164
assert response.status_code == 200
165-
assert b"You are about to delete 1 event" in response.content
165+
assert b"You are about to delete 1 event log" in response.content
166166

167167
# Test POST request - Step 2: Confirm deletion
168168
response = client.post(

0 commit comments

Comments
 (0)