Merge pull request #413 from taigaio/disabling-most-signals-on-bulk-creation

Disabling most signals on bulk creation
remotes/origin/enhancement/email-actions
Jesús Espino 2015-07-30 17:16:28 +02:00
commit 5192136ab5
5 changed files with 38 additions and 7 deletions

View File

@ -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)
disconnect_issues_signals()
try:
db.save_in_bulk(issues, callback, precall)
finally:
connect_issues_signals()
return issues

View File

@ -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)
disconnect_tasks_signals()
try:
db.save_in_bulk(tasks, callback, precall)
finally:
connect_tasks_signals()
return tasks

View File

@ -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)
disconnect_userstories_signals()
try:
db.save_in_bulk(userstories, callback, precall)
finally:
connect_userstories_signals()
return userstories

View File

@ -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()

View File

@ -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()