From ccbd625bf972df99bbe6eaba5eb013e216d1d2d0 Mon Sep 17 00:00:00 2001
From: dcz <dcz@ipipan.waw.pl>
Date: Fri, 25 Aug 2023 17:06:04 +0200
Subject: [PATCH] Send about removing slowal frame info to walenty service.

---
 shellvalier/settings.py |  4 +++-
 unifier/views.py        | 12 ++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/shellvalier/settings.py b/shellvalier/settings.py
index d1843ec..54bb686 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 9cd87d5..48bb966 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 {}
-- 
GitLab