Skip to content

Commit d8b46a6

Browse files
committed
Update code
1 parent 8476044 commit d8b46a6

File tree

8 files changed

+29
-98
lines changed

8 files changed

+29
-98
lines changed

backend/apps/nest/admin/user_badge.py

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,9 @@
88
class UserBadgeAdmin(admin.ModelAdmin):
99
"""Admin for UserBadge model."""
1010

11-
autocomplete_fields = ("user", "badge")
12-
fieldsets = (
13-
(
14-
"User and Badge",
15-
{
16-
"fields": (
17-
"user",
18-
"badge",
19-
)
20-
},
21-
),
22-
("Note", {"fields": ("note",)}),
23-
(
24-
"Timestamps",
25-
{
26-
"fields": (
27-
"nest_created_at",
28-
"nest_updated_at",
29-
)
30-
},
31-
),
11+
autocomplete_fields = (
12+
"badge",
13+
"user",
3214
)
3315
list_display = (
3416
"user",
@@ -37,11 +19,17 @@ class UserBadgeAdmin(admin.ModelAdmin):
3719
"nest_created_at",
3820
"nest_updated_at",
3921
)
22+
list_filter = ("is_active", "badge__name")
4023
readonly_fields = (
4124
"nest_created_at",
4225
"nest_updated_at",
4326
)
44-
search_fields = ("user__login", "badge__name", "note")
27+
search_fields = (
28+
"badge__name",
29+
"note",
30+
"user__login",
31+
"user__name",
32+
)
4533

4634

4735
admin.site.register(UserBadge, UserBadgeAdmin)

backend/apps/nest/migrations/0004_userbadge.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 5.2.5 on 2025-08-16 02:30
1+
# Generated by Django 5.2.5 on 2025-08-28 01:15
22

33
import django.db.models.deletion
44
from django.db import migrations, models
@@ -22,6 +22,14 @@ class Migration(migrations.Migration):
2222
),
2323
("nest_created_at", models.DateTimeField(auto_now_add=True)),
2424
("nest_updated_at", models.DateTimeField(auto_now=True)),
25+
(
26+
"is_active",
27+
models.BooleanField(
28+
default=True,
29+
help_text="Indicates if the badge assignment is active.",
30+
verbose_name="Is active",
31+
),
32+
),
2533
(
2634
"note",
2735
models.CharField(
@@ -54,12 +62,7 @@ class Migration(migrations.Migration):
5462
options={
5563
"verbose_name_plural": "User badges",
5664
"db_table": "nest_user_badges",
57-
"constraints": [
58-
models.UniqueConstraint(
59-
fields=["user", "badge"],
60-
name="uq_userbadge_user_badge",
61-
)
62-
],
65+
"unique_together": {("badge", "user")},
6366
},
6467
),
6568
]

backend/apps/nest/migrations/0005_remove_userbadge_uq_userbadge_user_badge.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

backend/apps/nest/migrations/0006_userbadge_uq_userbadge_user_badge.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

backend/apps/nest/migrations/0007_userbadge_is_active.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

backend/apps/nest/models/user_badge.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,17 @@ class UserBadge(BulkSaveModel, TimestampedModel):
1212

1313
class Meta:
1414
db_table = "nest_user_badges"
15+
unique_together = (
16+
"badge",
17+
"user",
18+
)
1519
verbose_name_plural = "User badges"
16-
constraints = [
17-
models.UniqueConstraint(
18-
fields=["user", "badge"],
19-
name="uq_userbadge_user_badge",
20-
),
21-
]
2220

2321
is_active = models.BooleanField(
2422
default=True,
2523
verbose_name="Is active",
2624
help_text="Indicates if the badge assignment is active.",
2725
)
28-
2926
note = models.CharField(
3027
verbose_name="Note",
3128
max_length=255,

backend/tests/apps/nest/management/commands/nest_update_badges_test.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ def test_sync_owasp_staff_badge(
7777
self,
7878
mock_user_filter,
7979
mock_badge_get_or_create,
80-
mock_userbadge_filter,
81-
mock_userbadge_get_or_create,
80+
mock_user_badge_filter,
81+
mock_user_badge_get_or_create,
8282
):
8383
# Set up badge mock
8484
mock_badge = MagicMock()
@@ -98,14 +98,14 @@ def test_sync_owasp_staff_badge(
9898
mock_employees, mock_former_employees
9999
)
100100

101-
mock_userbadge_get_or_create.return_value = (MagicMock(), True)
101+
mock_user_badge_get_or_create.return_value = (MagicMock(), True)
102102

103103
out = StringIO()
104104
call_command("nest_update_badges", stdout=out)
105105

106106
# Assert correct badge assignment and removal calls
107-
mock_userbadge_get_or_create.assert_any_call(user=mock_employee, badge=mock_badge)
108-
mock_userbadge_filter.assert_any_call(
107+
mock_user_badge_get_or_create.assert_any_call(user=mock_employee, badge=mock_badge)
108+
mock_user_badge_filter.assert_any_call(
109109
user_id__in=mock_former_employees.values_list.return_value, badge=mock_badge
110110
)
111111

cspell/custom-dict.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ tsc
121121
turbopack
122122
unhover
123123
usefixtures
124-
userbadge
125124
winsrdf
126125
wsgi
127126
xapp

0 commit comments

Comments
 (0)