PPR ACK and Bulk Logging start

This commit is contained in:
2026-06-15 15:45:58 -04:00
parent 7b2de645db
commit 1952b89ecf
14 changed files with 1710 additions and 19 deletions
+36 -1
View File
@@ -239,6 +239,41 @@ async def update_ppr_status(
return ppr
@router.post("/{ppr_id}/acknowledge", response_model=PPR)
async def acknowledge_ppr_strip(
request: Request,
ppr_id: int,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_operator_user)
):
"""Acknowledge that the operator has created the paper strip for a PPR."""
client_ip = get_client_ip(request)
ppr = crud_ppr.acknowledge_strip(
db,
ppr_id=ppr_id,
user=current_user.username,
user_ip=client_ip
)
if not ppr:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="PPR record not found"
)
if hasattr(request.app.state, 'connection_manager'):
await request.app.state.connection_manager.broadcast({
"type": "ppr_acknowledged",
"data": {
"id": ppr.id,
"ac_reg": ppr.ac_reg,
"acknowledged_dt": ppr.acknowledged_dt.isoformat() if ppr.acknowledged_dt else None,
"acknowledged_by": ppr.acknowledged_by
}
})
return ppr
@router.delete("/{ppr_id}", response_model=PPR)
async def delete_ppr(
request: Request,
@@ -451,4 +486,4 @@ async def activate_ppr(
f"PPR activated: arrival #{new_arrival.id} created"
+ (f", departure #{new_departure.id} queued (will appear when aircraft lands)" if new_departure else "")
)
}
}