From 8985010a3b04907175625cb34a772ee049c899c0 Mon Sep 17 00:00:00 2001
From: dcz <dcz@ipipan.waw.pl>
Date: Tue, 3 Oct 2023 17:42:00 +0200
Subject: [PATCH] An additional constraint for change to the verify status.

---
 .../unification/Unification/LexicalUnitEdit.vue    | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
index 985697b..cc2e375 100644
--- a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
+++ b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
@@ -583,10 +583,16 @@ Object.assign(LexicalUnitEdit, {
       $.prompt(duplicate_popup);
     },
     changeUnifiedFrameStatusToReadyOrVerified() {
-      if (this.isSuperLeksykograf())
-        this.changeUnifiedFrameStatusToReadyOrVerifiedByPath('change_unified_frame_status_to_verified_by_superleksykograf');
-      else
-        this.changeUnifiedFrameStatusToReadyOrVerifiedByPath('change_unified_frame_status_to_ready')
+      if (this.isSuperLeksykograf()) {
+        let hasBadContestedFrames = this.frames.find(frame => frame.status === 'B' || frame.status === 'C');
+        if (hasBadContestedFrames) {
+          alert(gettext("Przed zmianą statusu ramy zunifikowanej na 'Sprawdzoną', rama nie powinna posiadać niepowierdzonych ram slowala o statusie 'Niepasująca' lub 'Błędna'."));
+        } else {
+          this.changeUnifiedFrameStatusToReadyOrVerifiedByPath('change_unified_frame_status_to_verified_by_superleksykograf');
+        }
+      } else {
+        this.changeUnifiedFrameStatusToReadyOrVerifiedByPath('change_unified_frame_status_to_ready');
+      }
     },
     changeUnifiedFrameStatusToReadyOrVerifiedByPath(url_path) {
       let foundNotVerifiedFrame = this.frames.find(frame => frame.status !== 'G' && frame.status !== 'S' && frame.status !== 'B' && frame.status !== 'C');
-- 
GitLab