diff --git a/taiga/projects/issues/services.py b/taiga/projects/issues/services.py index 7d6f3061..9a553cd3 100644 --- a/taiga/projects/issues/services.py +++ b/taiga/projects/issues/services.py @@ -24,6 +24,9 @@ from django.db import connection from django.utils.translation import ugettext as _ from taiga.base.utils import db, text +from taiga.projects.issues.apps import ( + connect_issues_signals, + disconnect_issues_signals) from . import models @@ -50,7 +53,14 @@ def create_issues_in_bulk(bulk_data, callback=None, precall=None, **additional_f :return: List of created `Issue` instances. """ issues = get_issues_from_bulk(bulk_data, **additional_fields) - db.save_in_bulk(issues, callback, precall) + + disconnect_issues_signals() + + try: + db.save_in_bulk(issues, callback, precall) + finally: + connect_issues_signals() + return issues diff --git a/taiga/projects/tasks/services.py b/taiga/projects/tasks/services.py index 89fec76c..61225aff 100644 --- a/taiga/projects/tasks/services.py +++ b/taiga/projects/tasks/services.py @@ -19,6 +19,9 @@ import csv from taiga.base.utils import db, text from taiga.projects.history.services import take_snapshot +from taiga.projects.tasks.apps import ( + connect_tasks_signals, + disconnect_tasks_signals) from taiga.events import events from . import models @@ -46,7 +49,14 @@ def create_tasks_in_bulk(bulk_data, callback=None, precall=None, **additional_fi :return: List of created `Task` instances. """ tasks = get_tasks_from_bulk(bulk_data, **additional_fields) - db.save_in_bulk(tasks, callback, precall) + + disconnect_tasks_signals() + + try: + db.save_in_bulk(tasks, callback, precall) + finally: + connect_tasks_signals() + return tasks diff --git a/taiga/projects/userstories/services.py b/taiga/projects/userstories/services.py index 9de3bf53..9d913707 100644 --- a/taiga/projects/userstories/services.py +++ b/taiga/projects/userstories/services.py @@ -26,6 +26,10 @@ from django.utils.translation import ugettext as _ from taiga.base.utils import db, text from taiga.projects.history.services import take_snapshot +from taiga.projects.userstories.apps import ( + connect_userstories_signals, + disconnect_userstories_signals) + from taiga.events import events from . import models @@ -53,7 +57,14 @@ def create_userstories_in_bulk(bulk_data, callback=None, precall=None, **additio :return: List of created `Task` instances. """ userstories = get_userstories_from_bulk(bulk_data, **additional_fields) - db.save_in_bulk(userstories, callback, precall) + + disconnect_userstories_signals() + + try: + db.save_in_bulk(userstories, callback, precall) + finally: + connect_userstories_signals() + return userstories diff --git a/tests/integration/resources_permissions/test_tasks_resources.py b/tests/integration/resources_permissions/test_tasks_resources.py index 2259cfa4..9be43c09 100644 --- a/tests/integration/resources_permissions/test_tasks_resources.py +++ b/tests/integration/resources_permissions/test_tasks_resources.py @@ -16,11 +16,11 @@ import pytest pytestmark = pytest.mark.django_db -def setup_module(module): +def setup_function(function): disconnect_signals() -def teardown_module(module): +def setup_function(function): reconnect_signals() diff --git a/tests/integration/resources_permissions/test_userstories_resources.py b/tests/integration/resources_permissions/test_userstories_resources.py index a3e09808..f41d84ee 100644 --- a/tests/integration/resources_permissions/test_userstories_resources.py +++ b/tests/integration/resources_permissions/test_userstories_resources.py @@ -16,11 +16,11 @@ import pytest pytestmark = pytest.mark.django_db -def setup_module(module): +def setup_function(function): disconnect_signals() -def teardown_module(module): +def teardown_function(function): reconnect_signals()