From bd24742bc58c75bb413f99f3b12e4ddf73e9ed82 Mon Sep 17 00:00:00 2001
From: "Janet L. Goldstein" <jgoldste@nrao.edu>
Date: Wed, 27 Oct 2021 09:32:18 -0600
Subject: [PATCH] WS-756: add capability state action for "Awaiting QA" to
 "Complete" transition for standard calibration (also removed obsolete
 `#FIXME` from capability schema)

---
 ...cb2_add_qa_pass_action_for_await_qa_to_.py | 56 +++++++++++++++++++
 .../workspaces/capability/schema.py           |  2 -
 2 files changed, 56 insertions(+), 2 deletions(-)
 create mode 100644 schema/versions/22db21f0ecb2_add_qa_pass_action_for_await_qa_to_.py

diff --git a/schema/versions/22db21f0ecb2_add_qa_pass_action_for_await_qa_to_.py b/schema/versions/22db21f0ecb2_add_qa_pass_action_for_await_qa_to_.py
new file mode 100644
index 000000000..bc466003c
--- /dev/null
+++ b/schema/versions/22db21f0ecb2_add_qa_pass_action_for_await_qa_to_.py
@@ -0,0 +1,56 @@
+"""add qa_pass action for 'Await QA' to 'Complete' transition
+
+Revision ID: 22db21f0ecb2
+Revises: 2e185d05a21f
+Create Date: 2021-10-27 09:26:21.350993
+
+"""
+from alembic import op
+
+# revision identifiers, used by Alembic.
+revision = "22db21f0ecb2"
+down_revision = "2e185d05a21f"
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    """
+    add action for Awaiting QA => Complete transition
+
+    :return:
+    """
+    op.execute(
+        """
+INSERT INTO capability_state_actions
+    (transition_id, arguments, action_type)
+    VALUES (
+            (SELECT transition_id FROM capability_state_transitions
+                WHERE capability_name='std_calibration'
+                AND from_state='Awaiting QA'
+                AND to_state='Complete'),
+           'qa_pass', 'ExecuteWorkflow'
+        )
+    """
+    )
+
+
+def downgrade():
+    """
+    remove action for Awaiting QA => Complete transition
+
+    :return:
+    """
+    op.execute(
+        """
+DELETE FROM capability_state_actions
+WHERE action_type='ExecuteWorkflow'
+AND arguments='qa_pass'
+AND transition_id=(
+    SELECT transition_id FROM capability_state_transitions
+    WHERE capability_name='std_calibration'
+      AND from_state='Awaiting QA'
+      AND to_state='Complete'
+    )
+    """
+    )
diff --git a/shared/workspaces/workspaces/capability/schema.py b/shared/workspaces/workspaces/capability/schema.py
index 497c26c42..b552fabcd 100644
--- a/shared/workspaces/workspaces/capability/schema.py
+++ b/shared/workspaces/workspaces/capability/schema.py
@@ -369,8 +369,6 @@ class CapabilityRequest(Base, CapabilityRequestIF):
         nullable=False,
     )
 
-    # FIXME: This needs to be changed to properly keep track of product locators.
-    # future_products = sa.Column('future_products', sa.String)
     versions = relationship("CapabilityVersion", back_populates="request")
     capability = relationship(Capability, back_populates="requests")
 
-- 
GitLab