[Backport] Fix error when delete projects directly in the admin panel list
parent
ed9698760c
commit
c10ba11ace
|
@ -176,8 +176,10 @@ class ProjectAdmin(admin.ModelAdmin):
|
|||
## Actions
|
||||
actions = [
|
||||
"make_public",
|
||||
"make_private"
|
||||
"make_private",
|
||||
"delete_selected"
|
||||
]
|
||||
|
||||
@transaction.atomic
|
||||
def make_public(self, request, queryset):
|
||||
total_updates = 0
|
||||
|
@ -210,6 +212,36 @@ class ProjectAdmin(admin.ModelAdmin):
|
|||
self.message_user(request, _("{count} successfully made private.").format(count=total_updates))
|
||||
make_private.short_description = _("Make private")
|
||||
|
||||
def delete_selected(self, request, queryset):
|
||||
# NOTE: This must be equal to taiga.projects.models.Project.delete_related_content
|
||||
from taiga.events.apps import (connect_events_signals,
|
||||
disconnect_events_signals)
|
||||
from taiga.projects.tasks.apps import (connect_all_tasks_signals,
|
||||
disconnect_all_tasks_signals)
|
||||
from taiga.projects.userstories.apps import (connect_all_userstories_signals,
|
||||
disconnect_all_userstories_signals)
|
||||
from taiga.projects.issues.apps import (connect_all_issues_signals,
|
||||
disconnect_all_issues_signals)
|
||||
from taiga.projects.apps import (connect_memberships_signals,
|
||||
disconnect_memberships_signals)
|
||||
|
||||
disconnect_events_signals()
|
||||
disconnect_all_issues_signals()
|
||||
disconnect_all_tasks_signals()
|
||||
disconnect_all_userstories_signals()
|
||||
disconnect_memberships_signals()
|
||||
|
||||
r = admin.actions.delete_selected(self, request, queryset)
|
||||
|
||||
connect_events_signals()
|
||||
connect_all_issues_signals()
|
||||
connect_all_tasks_signals()
|
||||
connect_all_userstories_signals()
|
||||
connect_memberships_signals()
|
||||
|
||||
return r
|
||||
delete_selected.short_description = _("Delete selected %(verbose_name_plural)s")
|
||||
|
||||
|
||||
# User Stories common admins
|
||||
class PointsAdmin(admin.ModelAdmin):
|
||||
|
|
|
@ -467,6 +467,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
|
|||
set_notify_policy_level_to_ignore(notify_policy)
|
||||
|
||||
def delete_related_content(self):
|
||||
# NOTE: Remember to update code in taiga.projects.admin.ProjectAdmin.delete_selected
|
||||
from taiga.events.apps import (connect_events_signals,
|
||||
disconnect_events_signals)
|
||||
from taiga.projects.tasks.apps import (connect_all_tasks_signals,
|
||||
|
|
Loading…
Reference in New Issue