Skip to content
Snippets Groups Projects
Commit d6a73e19 authored by dcz's avatar dcz
Browse files

Removin user assigment bugfix.

parent 56ab2a38
Branches
No related tags found
No related merge requests found
......@@ -29,7 +29,7 @@ def frame_confirm_invalid(request, frame_pk):
frame = get_object_or_404(Frame.objects.filter(status=choices.FrameStatus.INVALID).select_for_update(), pk=frame_pk)
frame.status = choices.FrameStatus.BAD
frame.save()
removeSlovalFrameMappingsAndAssigments(frame_pk)
removeSlovalFrameMappingsAndAssigments(frame)
http = urllib3.PoolManager()
r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + str(frame_pk) +
......@@ -45,7 +45,7 @@ def frame_reject_invalid(request, frame_pk):
frame = get_object_or_404(Frame.objects.filter(status=choices.FrameStatus.INVALID).select_for_update(), pk=frame_pk)
frame.status = choices.FrameStatus.NEW
frame.save()
removeSlovalFrameMappingsAndAssigments(frame_pk)
removeSlovalFrameMappingsAndAssigments(frame)
http = urllib3.PoolManager()
r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + str(frame_pk) +
......@@ -61,7 +61,7 @@ def frame_mark_as_bad(request, frame_pk):
frame = get_object_or_404(Frame.objects.filter(status=choices.FrameStatus.NEW).select_for_update(), pk=frame_pk)
frame.status = choices.FrameStatus.BAD
frame.save()
removeSlovalFrameMappingsAndAssigments(frame_pk)
removeSlovalFrameMappingsAndAssigments(frame)
http = urllib3.PoolManager()
r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + str(frame_pk) +
......@@ -70,15 +70,16 @@ def frame_mark_as_bad(request, frame_pk):
return {}
def removeSlovalFrameMappingsAndAssigments(frame_pk):
def removeSlovalFrameMappingsAndAssigments(frame):
#odpianie z ramy zunifikowanej
frame_pk = frame.pk
unified_frame2_slowal_frame_mappings = UnifiedFrame2SlowalFrameMapping.objects.filter(slowal_frame_id=frame_pk)
for unified_frame2_slowal_frame_mapping in unified_frame2_slowal_frame_mappings:
unified_frame_argument_slowal_frame_mappings = UnifiedFrameArgumentSlowalFrameMapping.objects.filter(unified_frame_mapping=unified_frame2_slowal_frame_mapping)
for unified_frame_argument_slowal_frame_mapping in unified_frame_argument_slowal_frame_mappings:
unified_frame_argument_slowal_frame_mapping.delete()
unified_frame2_slowal_frame_mapping.delete()
Assignment.delete(subject_id=frame_pk)
Assignment.delete(subject=frame)
@ajax(login_required=True, method='post')
......@@ -98,7 +99,7 @@ def frame_confirm_as_not_matching_unified_frame(request, frame_pk):
frame = get_object_or_404(Frame.objects.select_for_update(), pk=frame_pk)
frame.status = choices.FrameStatus.NEW
frame.save()
removeSlovalFrameMappingsAndAssigments(frame_pk)
removeSlovalFrameMappingsAndAssigments(frame)
http = urllib3.PoolManager()
r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + str(frame_pk) +
......
......@@ -257,12 +257,13 @@ def get_unified_frames(request):
res = {}
for unifiedFrame in unified_frames:
user = assignment.user.username if (
assignment := unifiedFrame.assignments.first()) else None
res[unifiedFrame.id] = {
'id': str(unifiedFrame.id),
'title': unifiedFrame.title,
'status': unifiedFrame.status,
'assignee_username': assignment.user.username if (
assignment := unifiedFrame.assignments.first()) else None,
'assignee_username': user,
'hierarchy_exists': unifiedFrame.hasHierarchyElems,
}
......@@ -895,25 +896,29 @@ def frame_assign(request):
return JsonResponse({})
def remove_unified_frame_mappings_and_assigments(unified_frame_id):
def remove_unified_frame_mappings_and_assigments(unified_frame):
unified_frame_id = unified_frame.pk
# odpianie z ramy zunifikowanej
unified_frame2_slowal_frame_mappings = UnifiedFrame2SlowalFrameMapping.objects.filter(
unified_frame_id=unified_frame_id)
for unifiedFrame2SlowalFrameMapping in unified_frame2_slowal_frame_mappings:
unifiedFrame2SlowalFrameMapping.slowal_frame.status = 'N'
unifiedFrame2SlowalFrameMapping.slowal_frame.save()
Assignment.delete(subject_id=unifiedFrame2SlowalFrameMapping.slowal_frame.id)
Assignment.delete(subject=unifiedFrame2SlowalFrameMapping.slowal_frame)
unified_frame_argument_slowal_frame_mappings = UnifiedFrameArgumentSlowalFrameMapping.objects.filter(
unified_frame_mapping=unifiedFrame2SlowalFrameMapping)
unified_frame_argument_slowal_frame_mappings.delete()
unifiedFrame2SlowalFrameMapping.delete()
Assignment.delete(subject_id=unified_frame_id)
Assignment.delete(subject=unified_frame)
@ajax(login_required=True, method='post')
@transaction.atomic
def delete_unified_frame(request, unified_frame_id):
remove_unified_frame_mappings_and_assigments(unified_frame_id)
unified_frame = UnifiedFrame.objects.get(id=unified_frame_id)
remove_unified_frame_mappings_and_assigments(unified_frame)
UnifiedFrameArgument.objects.filter(unified_frame_id=unified_frame_id).delete()
slowal_frames = UnifiedFrame2SlowalFrameMapping.objects.filter(unified_frame_id=unified_frame_id).all()
......@@ -924,7 +929,7 @@ def delete_unified_frame(request, unified_frame_id):
r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + slowal_frames_ids +
settings.SLOWAL_FRAME_SERVICE_SYSTEM_TYPE_ARG)
UnifiedFrame.objects.get(id=unified_frame_id).delete()
unified_frame.delete()
return {}
......
......@@ -25,9 +25,10 @@ class Assignment(models.Model):
)
@classmethod
def delete(cls, subject_id):
def delete(cls, subject):
Assignment.objects.filter(
subject_id=subject_id,
subject_ct=ContentType.objects.get_for_model(subject),
subject_id=subject.pk,
).delete()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment