diff --git a/src/templates.rs b/src/templates.rs index bf25186f..8a0840d4 100644 --- a/src/templates.rs +++ b/src/templates.rs @@ -1,6 +1,9 @@ -use crate::database::{MergeableState::*, PullRequestModel, QueueStatus, TreeState}; +use crate::database::{ + BuildModel, BuildStatus, MergeableState::*, PullRequestModel, QueueStatus, TreeState, +}; use askama::Template; use axum::response::{Html, IntoResponse, Response}; +use chrono::{DateTime, Local, Utc}; use http::StatusCode; /// Build status to display on the queue page. @@ -67,6 +70,21 @@ pub struct QueueTemplate { pub oauth_client_id: Option, } +impl QueueTemplate { + fn to_local_time(&self, time: DateTime) -> DateTime { + time.into() + } +} + #[derive(Template)] #[template(path = "not_found.html")] pub struct NotFoundTemplate {} + +pub fn get_pending_build(pr: &PullRequestModel) -> Option<&BuildModel> { + if let Some(auto_build) = &pr.auto_build + && auto_build.status == BuildStatus::Pending + { + return Some(auto_build); + } + None +} diff --git a/templates/queue.html b/templates/queue.html index 26bd5612..eb39d213 100644 --- a/templates/queue.html +++ b/templates/queue.html @@ -6,6 +6,22 @@