Skip to content

Commit eb99af1

Browse files
committed
Add Repo Deletion to Django Admin
1 parent 7bd85ae commit eb99af1

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

core/admin.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from codecov.admin import AdminMixin
88
from codecov_auth.models import RepositoryToken
99
from core.models import Pull, Repository
10+
from services.task.task import TaskService
1011

1112

1213
class RepositoryTokenInline(admin.TabularInline):
@@ -90,12 +91,19 @@ class RepositoryAdmin(AdminMixin, admin.ModelAdmin):
9091
"webhook_secret",
9192
)
9293

93-
def has_delete_permission(self, request, obj=None):
94-
return False
95-
9694
def has_add_permission(self, _, obj=None):
9795
return False
9896

97+
def has_delete_permission(self, request, obj=None):
98+
return bool(request.user and request.user.is_superuser)
99+
100+
def delete_queryset(self, request, queryset) -> None:
101+
for repo in queryset:
102+
TaskService().flush_repo(repository_id=repo.repoid)
103+
104+
def delete_model(self, request, obj) -> None:
105+
TaskService().flush_repo(repository_id=obj.repoid)
106+
99107

100108
@admin.register(Pull)
101109
class PullsAdmin(AdminMixin, admin.ModelAdmin):

0 commit comments

Comments
 (0)