[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
|
||||||
actions = [
|
actions = [
|
||||||
"make_public",
|
"make_public",
|
||||||
"make_private"
|
"make_private",
|
||||||
|
"delete_selected"
|
||||||
]
|
]
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def make_public(self, request, queryset):
|
def make_public(self, request, queryset):
|
||||||
total_updates = 0
|
total_updates = 0
|
||||||
|
@ -210,6 +212,36 @@ class ProjectAdmin(admin.ModelAdmin):
|
||||||
self.message_user(request, _("{count} successfully made private.").format(count=total_updates))
|
self.message_user(request, _("{count} successfully made private.").format(count=total_updates))
|
||||||
make_private.short_description = _("Make private")
|
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
|
# User Stories common admins
|
||||||
class PointsAdmin(admin.ModelAdmin):
|
class PointsAdmin(admin.ModelAdmin):
|
||||||
|
|
|
@ -467,6 +467,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
|
||||||
set_notify_policy_level_to_ignore(notify_policy)
|
set_notify_policy_level_to_ignore(notify_policy)
|
||||||
|
|
||||||
def delete_related_content(self):
|
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,
|
from taiga.events.apps import (connect_events_signals,
|
||||||
disconnect_events_signals)
|
disconnect_events_signals)
|
||||||
from taiga.projects.tasks.apps import (connect_all_tasks_signals,
|
from taiga.projects.tasks.apps import (connect_all_tasks_signals,
|
||||||
|
|
Loading…
Reference in New Issue