Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/apps/announcements/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class NewsPostExpansion(admin.ModelAdmin):
class AnnouncementExpansion(admin.ModelAdmin):
list_display = ["id", "text_limited"]
list_display_links = ["id", "text_limited"]
ordering = ('-id',)

@admin.display(description="text", ordering="text")
def text_limited(self, obj):
Expand Down
6 changes: 6 additions & 0 deletions src/apps/competitions/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ class CompetitionExpansion(admin.ModelAdmin):
list_display_links = ["id", "title"]
actions = [CompetitionExport_as_json, CompetitionExport_as_csv]
raw_id_fields = ["created_by", "collaborators", "queue"]
ordering = ('-id',)
list_filter = [
"published",
"is_featured",
Expand Down Expand Up @@ -268,6 +269,7 @@ class SubmissionExpansion(admin.ModelAdmin):
"scores",
]
search_fields = ["id", "owner__username", "phase__competition__title", "task__name"]
ordering = ('-id',)
actions = [SubmissionsExport_as_csv]
list_display = [
"id",
Expand Down Expand Up @@ -351,25 +353,29 @@ class CompetitionCreationTaskStatusExpansion(admin.ModelAdmin):
list_display = ["id", "created_by", "resulting_competition", "status"]
search_fields = ["id", "created_by__username"]
list_filter = ["status"]
ordering = ('-id',)


class CompetitionParticipantExpansion(admin.ModelAdmin):
raw_id_fields = ["user", "competition"]
list_display = ["id", "user", "competition", "status"]
list_filter = ["status"]
search_fields = ["id", "user__username", "competition"]
ordering = ('-id',)


class PageExpansion(admin.ModelAdmin):
raw_id_fields = ["competition"]
list_display = ["id", "competition"]
search_fields = ["id", "competition", "content"]
ordering = ('-id',)


class PhaseExpansion(admin.ModelAdmin):
raw_id_fields = ["competition", "leaderboard", "public_data", "starting_kit"]
list_display = ["id", "competition", "name"]
search_fields = ["id", "competition", "name"]
ordering = ('-id',)
fieldsets = [
(
None,
Expand Down
1 change: 1 addition & 0 deletions src/apps/datasets/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ def DeactivateAccount(modeladmin, request, queryset):

class DataExpansion(admin.ModelAdmin):
raw_id_fields = ["created_by", "competition"]
ordering = ('-id',)
list_display = [
"id",
"name",
Expand Down
3 changes: 3 additions & 0 deletions src/apps/forums/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,23 @@ class ForumsExpansion(admin.ModelAdmin):
raw_id_fields = ["competition"]
list_display = ["id", "competition"]
search_fields = ["id", "competition"]
ordering = ('-id',)


class ThreadExpansion(admin.ModelAdmin):
raw_id_fields = ["forum", "started_by"]
list_display = ["id", "title", "started_by"]
search_fields = ["id", "title", "started_by__username"]
actions = [DeactivateAccountThread]
ordering = ('-id',)


class PostExpansion(admin.ModelAdmin):
raw_id_fields = ["thread", "posted_by"]
list_display = ["id", "content_limited", "posted_by"]
search_fields = ["id", "content", "posted_by__username"]
actions = [DeactivateAccountPost]
ordering = ('-id',)

@admin.display(description="Content", ordering="content")
def content_limited(self, obj):
Expand Down
3 changes: 3 additions & 0 deletions src/apps/leaderboards/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,22 @@ class LeaderboardExpansion(admin.ModelAdmin):
list_display = ["id", "title", "submission_rule", "hidden"]
search_fields = ["id", "title"]
list_filter = ["hidden"]
ordering = ('-id',)


class ColumExpansion(admin.ModelAdmin):
raw_id_fields = ["leaderboard"]
list_display = ["id", "title", "hidden"]
search_fields = ["id", "title"]
list_filter = ["hidden"]
ordering = ('-id',)


class SubmissionScoreExpansion(admin.ModelAdmin):
raw_id_fields = ["column"]
list_display = ["id", "column", "score"]
search_fields = ["id", "column"]
ordering = ('-id',)


admin.site.register(models.Leaderboard, LeaderboardExpansion)
Expand Down
1 change: 1 addition & 0 deletions src/apps/oidc_configurations/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
class Auth_OrganizationExpansion(admin.ModelAdmin):
list_display = ["id", "name", "client_id"]
search_fields = ["id", "name", "client_id"]
ordering = ('-id',)


admin.site.register(Auth_Organization, Auth_OrganizationExpansion)
29 changes: 28 additions & 1 deletion src/apps/profiles/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,39 @@ def export_as_json(modeladmin, request, queryset):
return HttpResponse(json.dumps(email_list), content_type="application/json")


@admin.display(description="Ban User(s)")
def ban_users(modeladmin, request, queryset):
for obj in queryset:
obj.is_banned = True
obj.save()


@admin.display(description="Unban User(s)")
def unban_users(modeladmin, request, queryset):
for obj in queryset:
obj.is_banned = False
obj.save()


@admin.display(description="Activate User(s)")
def activate_users(modeladmin, request, queryset):
for obj in queryset:
obj.is_active = True
obj.save()


class UserExpansion(UserAdmin):
# The following two lines are needed for Django-su:
change_form_template = "admin/auth/user/change_form.html"
change_list_template = "admin/auth/user/change_list.html"
search_fields = ["id", "username", "email"]
ordering = ('-id',)
list_filter = [
"is_staff",
"is_superuser",
"is_deleted",
"is_bot",
"is_active",
"is_banned",
QuotaFilter,
]
Expand All @@ -90,13 +113,14 @@ class UserExpansion(UserAdmin):
"username",
"email",
"quota",
"is_active",
"is_staff",
"is_superuser",
"is_banned",
]
list_display_links = ["id", "username"]
raw_id_fields = ["oidc_organization", "groups"]
actions = [export_as_csv, export_as_json]
actions = [activate_users, ban_users, unban_users, export_as_csv, export_as_json]
fieldsets = [
(
None,
Expand Down Expand Up @@ -180,18 +204,21 @@ class DeletedUserExpansion(admin.ModelAdmin):
list_display = ("user_id", "username", "email", "deleted_at")
search_fields = ("id", "username", "email")
list_filter = ("deleted_at",)
ordering = ('-id',)


class MembershipExpansion(admin.ModelAdmin):
raw_id_fields = ["organization", "user"]
list_display = ["id", "organization", "user", "group"]
search_fields = ["id", "user__username", "token"]
ordering = ('-id',)


class OrganizationExpansion(admin.ModelAdmin):
raw_id_fields = ["user_record"]
list_display = ["id", "name", "email", "description"]
search_fields = ["name", "email", "description"]
ordering = ('-id',)


admin.site.register(User, UserExpansion)
Expand Down
1 change: 1 addition & 0 deletions src/apps/queues/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class QueueExpansion(admin.ModelAdmin):
list_filter = ["is_public"]
search_fields = ["id", "name", "owner__username", "organizers__username"]
actions = [export_as_csv, export_as_json]
ordering = ('-id',)


admin.site.register(models.Queue, QueueExpansion)
2 changes: 2 additions & 0 deletions src/apps/tasks/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class TaskExpansion(admin.ModelAdmin):
"name",
"created_by__username",
]
ordering = ('-id',)


class SolutionExpansion(admin.ModelAdmin):
Expand All @@ -35,6 +36,7 @@ class SolutionExpansion(admin.ModelAdmin):
search_fields = [
"id",
]
ordering = ('-id',)


admin.site.register(models.Task, TaskExpansion)
Expand Down