finish day CRU
This commit is contained in:
parent
9fd0481f73
commit
1934fef0dd
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
target/
|
||||
db.sqlite
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
# Edge case
|
||||
- Trip in the morning on usi rowing day
|
||||
- after N people (/ cox) -> red highlighted -> queue
|
||||
|
||||
# Fancy
|
||||
- Every cox can define which boats they use
|
||||
|
20
src/main.rs
20
src/main.rs
@ -7,6 +7,7 @@ use std::collections::HashMap;
|
||||
|
||||
use chrono::Duration;
|
||||
use chrono::Local;
|
||||
use rocket::response::Redirect;
|
||||
use rocket::{form::Form, fs::FileServer, State};
|
||||
use rocket_dyn_templates::context;
|
||||
use rocket_dyn_templates::Template;
|
||||
@ -49,17 +50,26 @@ struct DayForm {
|
||||
}
|
||||
|
||||
#[put("/day", data = "<day>")]
|
||||
async fn create(db: &State<DatabaseConnection>, day: Form<DayForm>) -> Template {
|
||||
let day = day::ActiveModel {
|
||||
day: Set(chrono::NaiveDate::parse_from_str(&day.day, "%Y-%m-%d").unwrap()),
|
||||
async fn create(db: &State<DatabaseConnection>, day: Form<DayForm>) -> Redirect {
|
||||
let id = chrono::NaiveDate::parse_from_str(&day.day, "%Y-%m-%d").unwrap();
|
||||
let new_day = day::ActiveModel {
|
||||
day: Set(id),
|
||||
planned_amount_cox: Set(day.planned_amount_cox),
|
||||
planned_starting_time: Set(day.planned_starting_time.clone()),
|
||||
open_registration: Set(day.open_registration),
|
||||
};
|
||||
|
||||
day.insert(db.inner()).await.unwrap(); //TODO: fixme
|
||||
let day: Option<day::Model> = day::Entity::find_by_id(id).one(db.inner()).await.unwrap();
|
||||
match day {
|
||||
Some(_) => {
|
||||
new_day.update(db.inner()).await.unwrap(); //TODO: fixme
|
||||
}
|
||||
None => {
|
||||
new_day.insert(db.inner()).await.unwrap(); //TODO: fixme
|
||||
}
|
||||
}
|
||||
|
||||
Template::render("index", context! {})
|
||||
Redirect::to("/")
|
||||
}
|
||||
|
||||
#[launch]
|
||||
|
@ -7,42 +7,43 @@
|
||||
<br />
|
||||
|
||||
{% if days[day_string] and days[day_string].planned_amount_cox > 0%}
|
||||
{% set day = days[day_string] %}
|
||||
Geplante Steuerpersonen: {{ day.planned_amount_cox}}<br />
|
||||
Geplante Abfahrtszeit: {{ day.planned_starting_time }}<br />
|
||||
{% if day.open_registration %}
|
||||
{% set cur_day = days[day_string] %}
|
||||
Geplante Steuerpersonen: {{ cur_day.planned_amount_cox}}<br />
|
||||
Geplante Abfahrtszeit: {{ cur_day.planned_starting_time }}<br />
|
||||
{% if cur_day.open_registration %}
|
||||
ANMELDEN
|
||||
{% else %}
|
||||
Anmeldung an diesem Tag leider nicht möglich (zB bei USI Kursen)
|
||||
{% endif %}
|
||||
{% else %}
|
||||
(Noch) keine Ausfahrt geplant
|
||||
{% endif %}
|
||||
|
||||
<details>
|
||||
<summary class="button">+</summary>
|
||||
<summary class="button">✎</summary>
|
||||
<form method="post" action="/day">
|
||||
<input type="hidden" name="_method" value="put" />
|
||||
<input type="hidden" name="day" value="{{ day | date(format="%Y-%m-%d") }}" />
|
||||
<input type="hidden" name="day" value="{{ day_string }}" />
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<label for="planned_amount_cox">Geplante Steuerpersonen</label>
|
||||
<input class="u-full-width" type="number" id="planned_amount_cox" name="planned_amount_cox">
|
||||
<input class="u-full-width" type="number" id="planned_amount_cox" name="planned_amount_cox" value="{{ cur_day.planned_amount_cox | default(value=2) }}">
|
||||
</div>
|
||||
<div class="three columns">
|
||||
<label for="planned_starting_time">Geplante Abfahrtszeit</label>
|
||||
<input class="u-full-width" type="time" id="planned_starting_time" name="planned_starting_time">
|
||||
<input class="u-full-width" type="time" id="planned_starting_time" name="planned_starting_time" value="{{ cur_day.planned_starting_time | default(value='17:00') }}">
|
||||
</div>
|
||||
<div class="three columns">
|
||||
<label for="open_registration">Registrierung offen</label>
|
||||
<input class="u-full-width" type="checkbox" id="open_registration" name="open_registration" checked="true"/>
|
||||
<input class="u-full-width" type="checkbox" id="open_registration" name="open_registration" {% if not cur_day or cur_day.open_registration %} checked="true" {% endif %}/>
|
||||
</div>
|
||||
<div class="three columns">
|
||||
<input class="button-primary" type="submit" value="Hinzufügen">
|
||||
<input class="button-primary" type="submit" value="Speichern">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</details>
|
||||
{% endif %}
|
||||
|
||||
<hr />
|
||||
{% endfor %}
|
||||
|
Loading…
Reference in New Issue
Block a user