Issue - #3185 Import user story with role points results in an IntegrityError
parent
95c57eb7e5
commit
811a6c7906
|
@ -26,6 +26,7 @@ from taiga.projects.history.services import make_key_from_model_object, take_sna
|
||||||
from taiga.timeline.service import build_project_namespace
|
from taiga.timeline.service import build_project_namespace
|
||||||
from taiga.projects.references import sequences as seq
|
from taiga.projects.references import sequences as seq
|
||||||
from taiga.projects.references import models as refs
|
from taiga.projects.references import models as refs
|
||||||
|
from taiga.projects.userstories.models import RolePoints
|
||||||
from taiga.projects.services import find_invited_user
|
from taiga.projects.services import find_invited_user
|
||||||
|
|
||||||
from . import serializers
|
from . import serializers
|
||||||
|
@ -351,9 +352,17 @@ def store_wiki_link(project, wiki_link):
|
||||||
def store_role_point(project, us, role_point):
|
def store_role_point(project, us, role_point):
|
||||||
serialized = serializers.RolePointsExportSerializer(data=role_point, context={"project": project})
|
serialized = serializers.RolePointsExportSerializer(data=role_point, context={"project": project})
|
||||||
if serialized.is_valid():
|
if serialized.is_valid():
|
||||||
serialized.object.user_story = us
|
try:
|
||||||
serialized.save()
|
existing_role_point = us.role_points.get(role=serialized.object.role)
|
||||||
return serialized.object
|
existing_role_point.points = serialized.object.points
|
||||||
|
existing_role_point.save()
|
||||||
|
return existing_role_point
|
||||||
|
|
||||||
|
except RolePoints.DoesNotExist:
|
||||||
|
serialized.object.user_story = us
|
||||||
|
serialized.save()
|
||||||
|
return serialized.object
|
||||||
|
|
||||||
add_errors("role_points", serialized.errors)
|
add_errors("role_points", serialized.errors)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue