[Backport] Fixing signals disconnection
parent
3869f986e7
commit
ecf200f418
|
@ -256,9 +256,9 @@ class ProjectViewSet(HistoryResourceMixin, ModelCrudViewSet):
|
||||||
|
|
||||||
def destroy(self, request, *args, **kwargs):
|
def destroy(self, request, *args, **kwargs):
|
||||||
from taiga.events.apps import connect_events_signals, disconnect_events_signals
|
from taiga.events.apps import connect_events_signals, disconnect_events_signals
|
||||||
from taiga.projects.tasks.apps import connect_tasks_signals, disconnect_tasks_signals
|
from taiga.projects.tasks.apps import connect_all_tasks_signals, disconnect_all_tasks_signals
|
||||||
from taiga.projects.userstories.apps import connect_userstories_signals, disconnect_userstories_signals
|
from taiga.projects.userstories.apps import connect_all_userstories_signals, disconnect_all_userstories_signals
|
||||||
from taiga.projects.issues.apps import connect_issues_signals, disconnect_issues_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
|
from taiga.projects.apps import connect_memberships_signals, disconnect_memberships_signals
|
||||||
|
|
||||||
obj = self.get_object_or_none()
|
obj = self.get_object_or_none()
|
||||||
|
@ -268,9 +268,9 @@ class ProjectViewSet(HistoryResourceMixin, ModelCrudViewSet):
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
disconnect_events_signals()
|
disconnect_events_signals()
|
||||||
disconnect_issues_signals()
|
disconnect_all_issues_signals()
|
||||||
disconnect_tasks_signals()
|
disconnect_all_tasks_signals()
|
||||||
disconnect_userstories_signals()
|
disconnect_all_userstories_signals()
|
||||||
disconnect_memberships_signals()
|
disconnect_memberships_signals()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -281,9 +281,9 @@ class ProjectViewSet(HistoryResourceMixin, ModelCrudViewSet):
|
||||||
obj.roles.all().delete()
|
obj.roles.all().delete()
|
||||||
finally:
|
finally:
|
||||||
connect_events_signals()
|
connect_events_signals()
|
||||||
connect_issues_signals()
|
connect_all_issues_signals()
|
||||||
connect_tasks_signals()
|
connect_all_tasks_signals()
|
||||||
connect_userstories_signals()
|
connect_all_userstories_signals()
|
||||||
connect_memberships_signals()
|
connect_memberships_signals()
|
||||||
|
|
||||||
self.pre_delete(obj)
|
self.pre_delete(obj)
|
||||||
|
|
|
@ -54,15 +54,15 @@ def connect_projects_signals():
|
||||||
|
|
||||||
|
|
||||||
def disconnect_memberships_signals():
|
def disconnect_memberships_signals():
|
||||||
signals.pre_delete.disconnect(dispatch_uid='membership_pre_delete')
|
signals.pre_delete.disconnect(sender=apps.get_model("projects", "Membership"), dispatch_uid='membership_pre_delete')
|
||||||
signals.post_delete.disconnect(dispatch_uid='update_watchers_on_membership_post_delete')
|
signals.post_delete.disconnect(sender=apps.get_model("projects", "Membership"), dispatch_uid='update_watchers_on_membership_post_delete')
|
||||||
signals.post_save.disconnect(dispatch_uid='create-notify-policy')
|
signals.post_save.disconnect(sender=apps.get_model("projects", "Membership"), dispatch_uid='create-notify-policy')
|
||||||
|
|
||||||
|
|
||||||
def disconnect_projects_signals():
|
def disconnect_projects_signals():
|
||||||
signals.post_save.disconnect(dispatch_uid='project_post_save')
|
signals.post_save.disconnect(sender=apps.get_model("projects", "Project"), dispatch_uid='project_post_save')
|
||||||
signals.pre_save.disconnect(dispatch_uid="tags_normalization_projects")
|
signals.pre_save.disconnect(sender=apps.get_model("projects", "Project"), dispatch_uid="tags_normalization_projects")
|
||||||
signals.pre_save.disconnect(dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_projects")
|
signals.pre_save.disconnect(sender=apps.get_model("projects", "Project"), dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_projects")
|
||||||
|
|
||||||
|
|
||||||
class ProjectsAppConfig(AppConfig):
|
class ProjectsAppConfig(AppConfig):
|
||||||
|
|
|
@ -40,17 +40,32 @@ def connect_issues_signals():
|
||||||
sender=apps.get_model("issues", "Issue"),
|
sender=apps.get_model("issues", "Issue"),
|
||||||
dispatch_uid="update_project_tags_when_delete_taggable_item_issue")
|
dispatch_uid="update_project_tags_when_delete_taggable_item_issue")
|
||||||
|
|
||||||
# Custom Attributes
|
|
||||||
|
def connect_issues_custom_attributes_signals():
|
||||||
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_issue,
|
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_issue,
|
||||||
sender=apps.get_model("issues", "Issue"),
|
sender=apps.get_model("issues", "Issue"),
|
||||||
dispatch_uid="create_custom_attribute_value_when_create_issue")
|
dispatch_uid="create_custom_attribute_value_when_create_issue")
|
||||||
|
|
||||||
|
|
||||||
|
def connect_all_issues_signals():
|
||||||
|
connect_issues_signals()
|
||||||
|
connect_issues_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
def disconnect_issues_signals():
|
def disconnect_issues_signals():
|
||||||
signals.pre_save.disconnect(dispatch_uid="set_finished_date_when_edit_issue")
|
signals.pre_save.disconnect(sender=apps.get_model("issues", "Issue"), dispatch_uid="set_finished_date_when_edit_issue")
|
||||||
signals.pre_save.disconnect(dispatch_uid="tags_normalization_issue")
|
signals.pre_save.disconnect(sender=apps.get_model("issues", "Issue"), dispatch_uid="tags_normalization_issue")
|
||||||
signals.post_save.disconnect(dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_issue")
|
signals.post_save.disconnect(sender=apps.get_model("issues", "Issue"), dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_issue")
|
||||||
signals.post_delete.disconnect(dispatch_uid="update_project_tags_when_delete_taggable_item_issue")
|
signals.post_delete.disconnect(sender=apps.get_model("issues", "Issue"), dispatch_uid="update_project_tags_when_delete_taggable_item_issue")
|
||||||
signals.post_save.disconnect(dispatch_uid="create_custom_attribute_value_when_create_issue")
|
|
||||||
|
|
||||||
|
def disconnect_issues_custom_attributes_signals():
|
||||||
|
signals.post_save.disconnect(sender=apps.get_model("issues", "Issue"), dispatch_uid="create_custom_attribute_value_when_create_issue")
|
||||||
|
|
||||||
|
|
||||||
|
def disconnect_all_issues_signals():
|
||||||
|
disconnect_issues_signals()
|
||||||
|
disconnect_issues_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
class IssuesAppConfig(AppConfig):
|
class IssuesAppConfig(AppConfig):
|
||||||
|
@ -58,4 +73,4 @@ class IssuesAppConfig(AppConfig):
|
||||||
verbose_name = "Issues"
|
verbose_name = "Issues"
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
connect_issues_signals()
|
connect_all_issues_signals()
|
||||||
|
|
|
@ -47,19 +47,34 @@ def connect_tasks_signals():
|
||||||
sender=apps.get_model("tasks", "Task"),
|
sender=apps.get_model("tasks", "Task"),
|
||||||
dispatch_uid="update_project_tags_when_delete_tagglabe_item_task")
|
dispatch_uid="update_project_tags_when_delete_tagglabe_item_task")
|
||||||
|
|
||||||
# Custom Attributes
|
|
||||||
|
def connect_tasks_custom_attributes_signals():
|
||||||
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_task,
|
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_task,
|
||||||
sender=apps.get_model("tasks", "Task"),
|
sender=apps.get_model("tasks", "Task"),
|
||||||
dispatch_uid="create_custom_attribute_value_when_create_task")
|
dispatch_uid="create_custom_attribute_value_when_create_task")
|
||||||
|
|
||||||
|
|
||||||
|
def connect_all_tasks_signals():
|
||||||
|
connect_tasks_signals()
|
||||||
|
connect_tasks_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
def disconnect_tasks_signals():
|
def disconnect_tasks_signals():
|
||||||
signals.pre_save.disconnect(dispatch_uid="cached_prev_task")
|
signals.pre_save.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="cached_prev_task")
|
||||||
signals.post_save.disconnect(dispatch_uid="try_to_close_or_open_us_and_milestone_when_create_or_edit_task")
|
signals.post_save.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="try_to_close_or_open_us_and_milestone_when_create_or_edit_task")
|
||||||
signals.post_delete.disconnect(dispatch_uid="try_to_close_or_open_us_and_milestone_when_delete_task")
|
signals.post_delete.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="try_to_close_or_open_us_and_milestone_when_delete_task")
|
||||||
signals.pre_save.disconnect(dispatch_uid="tags_normalization")
|
signals.pre_save.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="tags_normalization")
|
||||||
signals.post_save.disconnect(dispatch_uid="update_project_tags_when_create_or_edit_tagglabe_item")
|
signals.post_save.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="update_project_tags_when_create_or_edit_tagglabe_item")
|
||||||
signals.post_delete.disconnect(dispatch_uid="update_project_tags_when_delete_tagglabe_item")
|
signals.post_delete.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="update_project_tags_when_delete_tagglabe_item")
|
||||||
signals.post_save.disconnect(dispatch_uid="create_custom_attribute_value_when_create_task")
|
|
||||||
|
|
||||||
|
def disconnect_tasks_custom_attributes_signals():
|
||||||
|
signals.post_save.disconnect(sender=apps.get_model("tasks", "Task"), dispatch_uid="create_custom_attribute_value_when_create_task")
|
||||||
|
|
||||||
|
|
||||||
|
def disconnect_all_tasks_signals():
|
||||||
|
disconnect_tasks_signals()
|
||||||
|
disconnect_tasks_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
class TasksAppConfig(AppConfig):
|
class TasksAppConfig(AppConfig):
|
||||||
|
@ -67,4 +82,4 @@ class TasksAppConfig(AppConfig):
|
||||||
verbose_name = "Tasks"
|
verbose_name = "Tasks"
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
connect_tasks_signals()
|
connect_all_tasks_signals()
|
||||||
|
|
|
@ -58,21 +58,36 @@ def connect_userstories_signals():
|
||||||
sender=apps.get_model("userstories", "UserStory"),
|
sender=apps.get_model("userstories", "UserStory"),
|
||||||
dispatch_uid="update_project_tags_when_delete_taggable_item_user_story")
|
dispatch_uid="update_project_tags_when_delete_taggable_item_user_story")
|
||||||
|
|
||||||
# Custom Attributes
|
|
||||||
|
def connect_userstories_custom_attributes_signals():
|
||||||
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_user_story,
|
signals.post_save.connect(custom_attributes_handlers.create_custom_attribute_value_when_create_user_story,
|
||||||
sender=apps.get_model("userstories", "UserStory"),
|
sender=apps.get_model("userstories", "UserStory"),
|
||||||
dispatch_uid="create_custom_attribute_value_when_create_user_story")
|
dispatch_uid="create_custom_attribute_value_when_create_user_story")
|
||||||
|
|
||||||
|
|
||||||
|
def connect_all_userstories_signals():
|
||||||
|
connect_userstories_signals()
|
||||||
|
connect_userstories_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
def disconnect_userstories_signals():
|
def disconnect_userstories_signals():
|
||||||
signals.pre_save.disconnect(dispatch_uid="cached_prev_us")
|
signals.pre_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="cached_prev_us")
|
||||||
signals.post_save.disconnect(dispatch_uid="update_role_points_when_create_or_edit_us")
|
signals.post_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="update_role_points_when_create_or_edit_us")
|
||||||
signals.post_save.disconnect(dispatch_uid="update_milestone_of_tasks_when_edit_us")
|
signals.post_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="update_milestone_of_tasks_when_edit_us")
|
||||||
signals.post_save.disconnect(dispatch_uid="try_to_close_or_open_us_and_milestone_when_create_or_edit_us")
|
signals.post_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="try_to_close_or_open_us_and_milestone_when_create_or_edit_us")
|
||||||
signals.post_delete.disconnect(dispatch_uid="try_to_close_milestone_when_delete_us")
|
signals.post_delete.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="try_to_close_milestone_when_delete_us")
|
||||||
signals.pre_save.disconnect(dispatch_uid="tags_normalization_user_story")
|
signals.pre_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="tags_normalization_user_story")
|
||||||
signals.post_save.disconnect(dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_user_story")
|
signals.post_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="update_project_tags_when_create_or_edit_taggable_item_user_story")
|
||||||
signals.post_delete.disconnect(dispatch_uid="update_project_tags_when_delete_taggable_item_user_story")
|
signals.post_delete.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="update_project_tags_when_delete_taggable_item_user_story")
|
||||||
signals.post_save.disconnect(dispatch_uid="create_custom_attribute_value_when_create_user_story")
|
|
||||||
|
|
||||||
|
def disconnect_userstories_custom_attributes_signals():
|
||||||
|
signals.post_save.disconnect(sender=apps.get_model("userstories", "UserStory"), dispatch_uid="create_custom_attribute_value_when_create_user_story")
|
||||||
|
|
||||||
|
|
||||||
|
def disconnect_all_userstories_signals():
|
||||||
|
disconnect_userstories_signals()
|
||||||
|
disconnect_userstories_custom_attributes_signals()
|
||||||
|
|
||||||
|
|
||||||
class UserStoriesAppConfig(AppConfig):
|
class UserStoriesAppConfig(AppConfig):
|
||||||
|
@ -80,4 +95,4 @@ class UserStoriesAppConfig(AppConfig):
|
||||||
verbose_name = "User Stories"
|
verbose_name = "User Stories"
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
connect_userstories_signals()
|
connect_all_userstories_signals()
|
||||||
|
|
|
@ -26,7 +26,7 @@ def connect_webhooks_signals():
|
||||||
|
|
||||||
|
|
||||||
def disconnect_webhooks_signals():
|
def disconnect_webhooks_signals():
|
||||||
signals.post_save.disconnect(dispatch_uid="webhooks")
|
signals.post_save.disconnect(sender=HistoryEntry, dispatch_uid="webhooks")
|
||||||
|
|
||||||
|
|
||||||
class WebhooksAppConfig(AppConfig):
|
class WebhooksAppConfig(AppConfig):
|
||||||
|
|
Loading…
Reference in New Issue