pub enum TimelineStep {
Show 16 variants
CourseNotRegistrableYet,
WaitingForStudentNumber,
HeldForCourseCode,
LookingForEnrolment,
WaitingForEnrolment,
Sending,
AnswerUnclear,
WaitingForAssessmentItem,
WaitingForCourseUnit,
Registered,
AlreadyInSisu,
BetterGradeInSisu,
RecordedWrongly,
NeedsAPerson,
NotRegistering,
NoLongerRegistrable,
}Expand description
One step of the admin timeline. The Registrations list, the overview counts and the status card all name a row by this. Declared, and so ordered, in timeline order.
Variants§
CourseNotRegistrableYet
A prerequisite module, or a suspected-cheating review.
WaitingForStudentNumber
HeldForCourseCode
Sisu does not accept the module’s course code yet. Not Self::LookingForEnrolment: this
waits on staff, with no known end.
LookingForEnrolment
WaitingForEnrolment
Sending
AnswerUnclear
submission_uncertain: whether Sisu received it is unknown, and only a person may resend.
WaitingForAssessmentItem
WaitingForCourseUnit
Registered
AlreadyInSisu
BetterGradeInSisu
RecordedWrongly
NeedsAPerson
failed_permanent, counted at the Registering step it stopped at.
NotRegistering
NoLongerRegistrable
Implementations§
Source§impl TimelineStep
impl TimelineStep
Sourcepub const ENGAGEMENT_STEPS: [Self; 2]
pub const ENGAGEMENT_STEPS: [Self; 2]
The steps that wait on the student, and so the only ones Engagement is reported for.
Sourcepub fn of(
state: CreditRegistrationState,
preconditions: PendingPreconditions,
enrolment_resolved: bool,
) -> Self
pub fn of( state: CreditRegistrationState, preconditions: PendingPreconditions, enrolment_resolved: bool, ) -> Self
preconditions is only read for pending; pass PendingPreconditions::ALL_MET only where
the row is known not to be pending. enrolment_resolved is whether the row has settled on
an enrolment, which only failed_retryable reads.
Same inputs as
StudentFacingCreditRegistrationStatus::of,
finer grained: that one is what the student is told.
Sourcepub fn phase(self) -> TimelinePhase
pub fn phase(self) -> TimelinePhase
The timeline column the step is counted under.
Sourcepub fn has_engagement(self) -> bool
pub fn has_engagement(self) -> bool
Whether the step waits on the student, and so reports an Engagement.
Trait Implementations§
Source§impl Clone for TimelineStep
impl Clone for TimelineStep
Source§fn clone(&self) -> TimelineStep
fn clone(&self) -> TimelineStep
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ComposeSchema for TimelineStep
impl ComposeSchema for TimelineStep
Source§impl Debug for TimelineStep
impl Debug for TimelineStep
Source§impl<'r> Decode<'r, Postgres> for TimelineStep
impl<'r> Decode<'r, Postgres> for TimelineStep
Source§impl<'de> Deserialize<'de> for TimelineStep
impl<'de> Deserialize<'de> for TimelineStep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'q, DB: Database> Encode<'q, DB> for TimelineStepwhere
&'q str: Encode<'q, DB>,
impl<'q, DB: Database> Encode<'q, DB> for TimelineStepwhere
&'q str: Encode<'q, DB>,
Source§fn encode_by_ref(
&self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, BoxDynError>
fn encode_by_ref( &self, buf: &mut <DB as Database>::ArgumentBuffer, ) -> Result<IsNull, BoxDynError>
fn size_hint(&self) -> usize
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Sync + Send>>where
Self: Sized,
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
Source§impl Hash for TimelineStep
impl Hash for TimelineStep
Source§impl Ord for TimelineStep
impl Ord for TimelineStep
Source§fn cmp(&self, other: &TimelineStep) -> Ordering
fn cmp(&self, other: &TimelineStep) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for TimelineStep
impl PartialEq for TimelineStep
Source§impl PartialOrd for TimelineStep
impl PartialOrd for TimelineStep
Source§impl PgHasArrayType for TimelineStep
impl PgHasArrayType for TimelineStep
fn array_type_info() -> PgTypeInfo
fn array_compatible(ty: &PgTypeInfo) -> bool
Source§impl Serialize for TimelineStep
impl Serialize for TimelineStep
Source§impl ToSchema for TimelineStep
impl ToSchema for TimelineStep
Source§impl Type<Postgres> for TimelineStep
impl Type<Postgres> for TimelineStep
impl Copy for TimelineStep
impl Eq for TimelineStep
impl StructuralPartialEq for TimelineStep
Auto Trait Implementations§
impl Freeze for TimelineStep
impl RefUnwindSafe for TimelineStep
impl Send for TimelineStep
impl Sync for TimelineStep
impl Unpin for TimelineStep
impl UnsafeUnpin for TimelineStep
impl UnwindSafe for TimelineStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].