taiga-back/greenmine/projects/userstories/services.py

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