aboutsummaryrefslogtreecommitdiff
path: root/jb
diff options
context:
space:
mode:
authorstuppie2026-04-21 21:25:17 -0600
committerstuppie2026-04-21 21:25:17 -0600
commitd0030acb98157b4b92c372a5ba26cb7c534e79a4 (patch)
tree53a0d1db82db9ced564f5368622a34ea6a714473 /jb
parent588d4063de74d6f435cfab611328e802bce8df9a (diff)
downloadamt-jb-d0030acb98157b4b92c372a5ba26cb7c534e79a4.tar.gz
amt-jb-d0030acb98157b4b92c372a5ba26cb7c534e79a4.zip
add an unreject scriptHEADmaster
Diffstat (limited to 'jb')
-rw-r--r--jb/flow/assignment_tasks.py15
-rw-r--r--jb/managers/assignment.py3
2 files changed, 11 insertions, 7 deletions
diff --git a/jb/flow/assignment_tasks.py b/jb/flow/assignment_tasks.py
index 6bda96b..326c87c 100644
--- a/jb/flow/assignment_tasks.py
+++ b/jb/flow/assignment_tasks.py
@@ -216,7 +216,6 @@ def handle_assignment_w_no_work(
assignment = approve_assignment(
amtm=amtm,
am=am,
- hm=hm,
amt_assignment_id=amt_assignment_id,
msg=NO_WORK_APPROVAL_MESSAGE,
amt_hit_type_id=hit.amt_hit_type_id,
@@ -274,23 +273,28 @@ def reject_assignment(
def approve_assignment(
amtm: AMTManager,
am: AssignmentManager,
- hm: HitManager,
amt_assignment_id: str,
msg: str,
amt_hit_type_id: str,
+ override_rejection: bool = False,
) -> Assignment:
# Approve in AMT, update db
res = amtm.approve_assignment_if_possible(
- amt_assignment_id=amt_assignment_id, msg=msg
+ amt_assignment_id=amt_assignment_id,
+ msg=msg,
+ override_rejection=override_rejection,
)
if res is None:
- # We failed to approve this assignment. Will this happen?
+ # We failed to approve this assignment. Cannot distinguish between
+ # failed b/c assignment is already approved, or it is not possible.
emit_error_event(
event_type="failed_to_approve_assignment",
amt_hit_type_id=amt_hit_type_id,
)
- raise Exception(f"Failed to approve assignment: {amt_assignment_id}")
+ # The assignment might already be approved, the error msg is useless, so
+ # keep going.
+ # raise Exception(f"Failed to approve assignment: {amt_assignment_id}")
# We just approved this assignment, get it from amazon again
assignment = amtm.get_assignment(amt_assignment_id=amt_assignment_id)
@@ -391,7 +395,6 @@ def handle_assignment_w_work(
assignment = approve_assignment(
amtm=amtm,
am=am,
- hm=hm,
amt_assignment_id=amt_assignment_id,
msg=APPROVAL_MESSAGE,
amt_hit_type_id=hit.amt_hit_type_id,
diff --git a/jb/managers/assignment.py b/jb/managers/assignment.py
index 6104bc5..f6aa2ce 100644
--- a/jb/managers/assignment.py
+++ b/jb/managers/assignment.py
@@ -179,7 +179,8 @@ class AssignmentManager(PostgresManager):
def approve(self, assignment: Assignment) -> None:
assert assignment.status == AssignmentStatus.Approved
- assert assignment.rejection_time is None
+ # # We can override a rejection and the rejection time is not None
+ # assert assignment.rejection_time is None
assert assignment.approval_time is not None
assert assignment.requester_feedback is not None
now = datetime.now(tz=timezone.utc)