34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from django.db import transaction
|
|
from django.db import connection
|
|
|
|
from . import models
|
|
|
|
|
|
class UserStoriesService(object):
|
|
@transaction.atomic
|
|
def bulk_insert(self, project, user, data):
|
|
items = filter(lambda s: len(s) > 0,
|
|
map(lambda s: s.strip(), data.split("\n")))
|
|
|
|
for item in items:
|
|
models.UserStory.objects.create(subject=item, project=project, owner=user,
|
|
status=project.default_us_status)
|
|
|
|
@transaction.atomic
|
|
def bulk_update_order(self, project, user, data):
|
|
cursor = connection.cursor()
|
|
|
|
sql = """
|
|
prepare bulk_update_order as update userstories_userstory set "order" = $1
|
|
where userstories_userstory.id = $2 and
|
|
userstories_userstory.project_id = $3;
|
|
"""
|
|
|
|
cursor.execute(sql)
|
|
for usid, usorder in data:
|
|
cursor.execute("EXECUTE bulk_update_order (%s, %s, %s);",
|
|
(usorder, usid, project.id))
|
|
cursor.close()
|