aboutsummaryrefslogtreecommitdiffstats
path: root/src/controllers/screening.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/screening.rs')
-rw-r--r--src/controllers/screening.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/controllers/screening.rs b/src/controllers/screening.rs
index 9e78130..aca8e32 100644
--- a/src/controllers/screening.rs
+++ b/src/controllers/screening.rs
@@ -68,18 +68,21 @@ pub fn new_screening(db: db::Connection) -> Result<Template, Box<dyn Error>> {
pub struct NewScreeningForm {
film_id: i32,
room_id: i32,
- date: String,
start_time: String,
end_time: String,
}
#[post("/", format = "application/x-www-form-urlencoded", data = "<screening>")]
pub fn create_screening(db: db::Connection, screening: Form<NewScreeningForm>) -> Result<Redirect, Box<dyn Error>> {
- let date = chrono::NaiveDate::parse_from_str(dbg!(&screening.date), "%Y-%m-%d")?;
- let start_time = chrono::NaiveTime::parse_from_str(dbg!(&screening.start_time), "%H:%M")?;
- let end_time = chrono::NaiveTime::parse_from_str(dbg!(&screening.end_time), "%H:%M")?;
+ let start_time = chrono::DateTime::parse_from_rfc3339(dbg!(&screening.start_time))?;
+ let end_time = chrono::DateTime::parse_from_rfc3339(dbg!(&screening.end_time))?;
+
+ db.create_screening(
+ dbg!(screening.room_id),
+ dbg!(screening.film_id),
+ start_time.with_timezone(&chrono::Utc),
+ end_time.with_timezone(&chrono::Utc))?;
- db.create_screening(dbg!(screening.room_id), dbg!(screening.film_id), date, start_time, end_time)?;
Ok(Redirect::to("/screenings"))
}