Source code for ska_oso_pdm.proposal_management.panel_decision

from typing import Annotated

from pydantic import Field

from ska_oso_pdm._shared import Metadata, PdmObject, ProposalID
from ska_oso_pdm._shared.atoms import TerseStrEnum


[docs] class PanelReviewStatus(TerseStrEnum): IN_PROGRESS = "In Progress" DECIDED = "Decided" TO_DO = "To Do"
[docs] class Recommendation(TerseStrEnum): ACCEPTED = "Accepted" REJECTED = "Rejected" ACCEPTED_WITH_REVISION = "Accepted with Revision"
[docs] class PanelDecision(PdmObject): metadata: Metadata = Field( default_factory=Metadata, description="The metadata of this Panel Decision." ) cycle: str | None = None # Default to null, can be set later decision_id: str panel_id: str prsl_id: ProposalID score: float | None = None rank: Annotated[int | None, Field(ge=0)] = None recommendation: Recommendation | None = None status: PanelReviewStatus = PanelReviewStatus.TO_DO excluded_from_decision: list[str] = Field(default_factory=list) project_ready: bool = False