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 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% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment