Remove RefereeLevel.ordering now inherits_from covers the same need

A separate manually-kept number for "which tier is higher" is
redundant now that the inheritance chain already expresses it, and
risked drifting out of sync with it. Levels list/sort by name only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
This commit is contained in:
2026-08-20 23:03:27 +02:00
parent d5e396102e
commit 413fea59f2
6 changed files with 40 additions and 20 deletions

View File

@@ -56,7 +56,7 @@ class GroupForm(forms.ModelForm):
class RefereeLevelForm(forms.ModelForm):
class Meta:
model = RefereeLevel
fields = ["name", "ordering", "teams", "inherits_from"]
fields = ["name", "teams", "inherits_from"]
widgets = {"teams": forms.SelectMultiple(attrs={"data-searchable": "true", "data-search-placeholder": _("Type a team to search...")})}
def __init__(self, *args, club=None, **kwargs):

View File

@@ -15,7 +15,6 @@
<table class="table">
<thead>
<tr>
<th>{% trans "Ordering" %}</th>
<th>{% trans "Name" %}</th>
<th>{% trans "Inherits from" %}</th>
<th>{% trans "Qualifies for" %}</th>
@@ -25,7 +24,6 @@
<tbody>
{% for level in levels %}
<tr>
<td class="font-mono text-muted">{{ level.ordering }}</td>
<td class="font-semibold text-ink">{{ level.name }}</td>
<td>
{% if level.inherits_from %}
@@ -52,7 +50,7 @@
</tr>
{% empty %}
<tr>
<td colspan="5" class="text-center text-muted">{% trans "No referee levels yet." %}</td>
<td colspan="4" class="text-center text-muted">{% trans "No referee levels yet." %}</td>
</tr>
{% endfor %}
</tbody>

View File

@@ -1288,14 +1288,14 @@ class RefereeLevelManagementTests(ManagementTestBase):
def test_create_is_admin_only(self):
self.client.force_login(self.make_non_admin_coach())
response = self.club_post("referee_level_create", {"name": "Regional", "ordering": 0, "teams": []})
response = self.club_post("referee_level_create", {"name": "Regional", "teams": []})
self.assertEqual(response.status_code, 403)
def test_admin_can_create_a_level_with_teams(self):
self.client.force_login(self.admin_user)
response = self.club_post("referee_level_create", {"name": "Regional", "ordering": 0, "teams": [str(self.team.pk), str(self.other_team.pk)]})
response = self.club_post("referee_level_create", {"name": "Regional", "teams": [str(self.team.pk), str(self.other_team.pk)]})
level = RefereeLevel.objects.get(club=self.club, name="Regional")
self.assertRedirects(response, reverse("management:referee_level_list"))
@@ -1306,7 +1306,7 @@ class RefereeLevelManagementTests(ManagementTestBase):
level.teams.add(self.team)
self.client.force_login(self.admin_user)
self.club_post("referee_level_update", {"name": "Regional", "ordering": 0, "teams": [str(self.other_team.pk)]}, level.pk)
self.club_post("referee_level_update", {"name": "Regional", "teams": [str(self.other_team.pk)]}, level.pk)
self.assertEqual(set(level.teams.all()), {self.other_team})
@@ -1324,7 +1324,7 @@ class RefereeLevelManagementTests(ManagementTestBase):
regional.teams.add(self.team)
self.client.force_login(self.admin_user)
response = self.club_post("referee_level_create", {"name": "National", "ordering": 0, "teams": [str(self.other_team.pk)], "inherits_from": str(regional.pk)})
response = self.club_post("referee_level_create", {"name": "National", "teams": [str(self.other_team.pk)], "inherits_from": str(regional.pk)})
national = RefereeLevel.objects.get(club=self.club, name="National")
self.assertRedirects(response, reverse("management:referee_level_list"))
@@ -1335,7 +1335,7 @@ class RefereeLevelManagementTests(ManagementTestBase):
level = RefereeLevel.objects.create(club=self.club, name="Regional")
self.client.force_login(self.admin_user)
self.club_post("referee_level_update", {"name": "Regional", "ordering": 0, "teams": [], "inherits_from": str(level.pk)}, level.pk)
self.club_post("referee_level_update", {"name": "Regional", "teams": [], "inherits_from": str(level.pk)}, level.pk)
level.refresh_from_db()
self.assertIsNone(level.inherits_from)