diff --git a/shellvalier/settings.py b/shellvalier/settings.py index d1843ec13419f9c16395e94b13063421ce4fd6ac..54bb6868db77eccfffaea9566e35d3c82af2b827 100644 --- a/shellvalier/settings.py +++ b/shellvalier/settings.py @@ -191,4 +191,6 @@ SUPER_LEXICOGRAPHS_GROUP_NAME = 'Super Leksykografowie' DATE_INPUT_FORMATS = ['%d-%m-%Y'] UNIFIED_FRAME_SERVICE_URL = get_environment('UNIFIED_FRAME_SERVICE_URL', - default="http://127.0.0.1:8000/en/unifier/build_unified_frame_xml/?frame_id=") + default='http://127.0.0.1:8000/en/unifier/build_unified_frame_xml/?frame_id=') +SLOWAL_FRAME_REMOVE_SERVICE_URL = get_environment('SLOWAL_FRAME_REMOVE_SERVICE_URL', + default='http://walentygroupies.ipipan.waw.pl/ajax/frame_statuses_free/?unifier_frame_ids=') diff --git a/unifier/views.py b/unifier/views.py index 9cd87d5aeaaf3244637ce2697d53bce4f981495d..48bb9665761f72eb2de40b7321bfad97563e758b 100644 --- a/unifier/views.py +++ b/unifier/views.py @@ -408,6 +408,11 @@ def change_slowal_frame_status(request): frame = Frame.objects.get(pk=slowal_frame_id) frame.status = status frame.save() + + if status == choices.FrameStatus.BAD or choices.FrameStatus.INVALID: + http = urllib3.PoolManager() + r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + str(slowal_frame_id)) + return JsonResponse({}) return JsonResponse({}) @@ -677,6 +682,13 @@ def remove_unified_frame_mappings_and_assigments(unified_frame_id): def delete_unified_frame(request, unified_frame_id): remove_unified_frame_mappings_and_assigments(unified_frame_id) UnifiedFrameArgument.objects.filter(unified_frame_id=unified_frame_id).delete() + + slowal_frames = UnifiedFrame2SlowalFrameMapping.objects.filter(unified_frame_id=unified_frame_id).all() + slowal_frames_ids = ','.join(list(map(lambda slowal_frame: slowal_frame.id, slowal_frames))) + + http = urllib3.PoolManager() + r = http.request('GET', settings.SLOWAL_FRAME_REMOVE_SERVICE_URL + slowal_frames_ids) + UnifiedFrame.objects.get(id=unified_frame_id).delete() return {}