change select properly if boat is selected on the left
This commit is contained in:
		| @@ -72,9 +72,9 @@ function initBoatActions() { | |||||||
|           choiceObjects['newrower'].config.maxItemCount = rowers; |           choiceObjects['newrower'].config.maxItemCount = rowers; | ||||||
|           choiceObjects['newrower'].removeActiveItems(rowers); |           choiceObjects['newrower'].removeActiveItems(rowers); | ||||||
|           let boatSelect = <HTMLSelectElement>document.querySelector('#boat_id'); |           let boatSelect = <HTMLSelectElement>document.querySelector('#boat_id'); | ||||||
|           if(boatSelect && select.dataset.id) { |            | ||||||
|             boatSelect.value = select.dataset.id; |           choiceObjects['boat_id'].setChoiceByValue(select.dataset.id); | ||||||
|           } |            | ||||||
|           (rowers === 0 ? choiceObjects['newrower'].disable() : choiceObjects['newrower'].enable()); |           (rowers === 0 ? choiceObjects['newrower'].disable() : choiceObjects['newrower'].enable()); | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|   | |||||||
| @@ -64,8 +64,6 @@ async fn index( | |||||||
|  |  | ||||||
|     let on_water = Logbook::on_water(db).await; |     let on_water = Logbook::on_water(db).await; | ||||||
|  |  | ||||||
|     println!("{on_water:?}"); |  | ||||||
|  |  | ||||||
|     let mut context = Context::new(); |     let mut context = Context::new(); | ||||||
|     if let Some(msg) = flash { |     if let Some(msg) = flash { | ||||||
|         context.insert("flash", &msg.into_inner()); |         context.insert("flash", &msg.into_inner()); | ||||||
| @@ -111,8 +109,20 @@ async fn kiosk( | |||||||
|     kiosk: KioskCookie, |     kiosk: KioskCookie, | ||||||
| ) -> Template { | ) -> Template { | ||||||
|     let boats = Boat::all_at_location(db, kiosk.0).await; |     let boats = Boat::all_at_location(db, kiosk.0).await; | ||||||
|     let coxes = User::cox(db).await; |     let coxes: Vec<UserWithWaterStatus> = futures::future::join_all( | ||||||
|     let users = User::all(db).await; |         User::cox(db) | ||||||
|  |             .await | ||||||
|  |             .into_iter() | ||||||
|  |             .map(|user| UserWithWaterStatus::from_user(user, db)), | ||||||
|  |     ) | ||||||
|  |     .await; | ||||||
|  |     let users: Vec<UserWithWaterStatus> = futures::future::join_all( | ||||||
|  |         User::all(db) | ||||||
|  |             .await | ||||||
|  |             .into_iter() | ||||||
|  |             .map(|user| UserWithWaterStatus::from_user(user, db)), | ||||||
|  |     ) | ||||||
|  |     .await; | ||||||
|     let logtypes = LogType::all(db).await; |     let logtypes = LogType::all(db).await; | ||||||
|     let distances = Logbook::distances(db).await; |     let distances = Logbook::distances(db).await; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -35,12 +35,20 @@ | |||||||
| 			<select name="shipmaster" id="shipmaster" class="input rounded-md h-10"> | 			<select name="shipmaster" id="shipmaster" class="input rounded-md h-10"> | ||||||
| 				<optgroup label="Steuerleute"> | 				<optgroup label="Steuerleute"> | ||||||
| 					{% for cox in coxes %} | 					{% for cox in coxes %} | ||||||
| 						<option value="{{ cox.id }}" {% if cox.on_water %} disabled="disabled" {% else %} {% if cox.id == shipmaster %} selected {% endif %}  {% endif %}>{{ cox.name }} {% if cox.on_water %} (am Wasser) {% endif %}</option> | 						<option value="{{ cox.id }}" {% if cox.on_water %} disabled="disabled" {% else %} {% if cox.id == shipmaster %} selected {% endif %} {% endif %}>{{ cox.name }} | ||||||
|  | 							{% if cox.on_water %} | ||||||
|  | 								(am Wasser) | ||||||
|  | 							{% endif %} | ||||||
|  | 						</option> | ||||||
| 					{% endfor %} | 					{% endfor %} | ||||||
| 				</optgroup> | 				</optgroup> | ||||||
| 				<optgroup label="Mitglieder"> | 				<optgroup label="Mitglieder"> | ||||||
| 					{% for user in users | filter(attribute="is_cox", value=false) %} | 					{% for user in users | filter(attribute="is_cox", value=false) %} | ||||||
| 						<option value="{{ user.id }}" {% if user.id == shipmaster %} selected {% endif %} {% if user.on_water %} disabled="disabled" {% endif %}>{{ user.name }} {% if user.on_water %} (am Wasser) {% endif %}</option> | 						<option value="{{ user.id }}" {% if user.id == shipmaster %} selected {% endif %} {% if user.on_water %} disabled="disabled" {% endif %}>{{ user.name }} | ||||||
|  | 							{% if user.on_water %} | ||||||
|  | 								(am Wasser) | ||||||
|  | 							{% endif %} | ||||||
|  | 						</option> | ||||||
| 					{% endfor %} | 					{% endfor %} | ||||||
| 				</optgroup> | 				</optgroup> | ||||||
| 			</select> | 			</select> | ||||||
| @@ -64,7 +72,7 @@ | |||||||
| 			<input class="input rounded-md set-distance-js" type="search" list="destinations" placeholder="Destination" id="destination" name="destination" value="" data-relation="distance_in_km"/> | 			<input class="input rounded-md set-distance-js" type="search" list="destinations" placeholder="Destination" id="destination" name="destination" value="" data-relation="distance_in_km"/> | ||||||
| 			<datalist id="destinations"> | 			<datalist id="destinations"> | ||||||
| 				{% for distance in distances %} | 				{% for distance in distances %} | ||||||
|           <option value="{{ distance.0 }}" distance={{ distance.1 }} /> | 					<option value="{{ distance.0 }}" distance={{ distance.1 }}/> | ||||||
| 				{% endfor %} | 				{% endfor %} | ||||||
| 			</datalist> | 			</datalist> | ||||||
| 		</div> | 		</div> | ||||||
| @@ -105,7 +113,12 @@ | |||||||
| 							{% set_global sel = true %} | 							{% set_global sel = true %} | ||||||
| 						{% endif %} | 						{% endif %} | ||||||
| 					{% endfor %} | 					{% endfor %} | ||||||
|           <option value="{{ user.id }}" {% if sel %} selected {% endif %} {% if user.on_water %} disabled="disabled" {% endif %}>{{user.name}} {% if user.on_water %} (am Wasser) {% endif %}</option> | 					<option value="{{ user.id }}" {% if sel %} selected {% endif %} {% if user.on_water %} disabled="disabled" {% endif %}> | ||||||
|  | 						{{user.name}} | ||||||
|  | 						{% if user.on_water %} | ||||||
|  | 							(am Wasser) | ||||||
|  | 						{% endif %} | ||||||
|  | 					</option> | ||||||
| 				{% endfor %} | 				{% endfor %} | ||||||
| 			</select> | 			</select> | ||||||
| 		</div> | 		</div> | ||||||
|   | |||||||
| @@ -83,7 +83,7 @@ | |||||||
| 			<option selected value>{{ default }}</option> | 			<option selected value>{{ default }}</option> | ||||||
| 		{% endif %} | 		{% endif %} | ||||||
| 		{% for d in data %} | 		{% for d in data %} | ||||||
| 			<option value="{{ d.id }}" {% if d.id == selected_id %} selected {% endif %} {% if extras != '' %} {% for extra in extras %} {% if extra != 'on_water' %} data-{{extra}}={{d[extra]}} {% else %} {% if d[extra] %} disabled {% endif %}{% endif %} {% endfor %} {% endif %}> | 			<option value="{{ d.id }}" {% if d.id == selected_id %} selected {% endif %} {% if extras != '' %} {% for extra in extras %} {% if extra != 'on_water' %} data- {{extra}}={{d[extra]}} {% else %} {% if d[extra] %} disabled {% endif %} {% endif %} {% endfor %} {% endif %}> | ||||||
| 				{% for displa in display -%} | 				{% for displa in display -%} | ||||||
| 					{%- if d[displa] -%} | 					{%- if d[displa] -%} | ||||||
| 						{{- d[displa] -}} | 						{{- d[displa] -}} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user