Compare commits
	
		
			13 Commits
		
	
	
		
			AccountsUe
			...
			f0d87b0e43
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f0d87b0e43 | |||
| c5a179a0d2 | |||
| 1073423b16 | |||
| c182bd5714 | |||
| 0741325aa6 | |||
| 9e8ca5cebf | |||
| ee5fc5ded6 | |||
| afb53d8863 | |||
| 57fb7ff997 | |||
| 245323383d | |||
| 0326d80a21 | |||
| 93a443ebe1 | |||
| 412d9d7497 | 
							
								
								
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							@@ -7,8 +7,9 @@
 | 
				
			|||||||
        <option value="$PROJECT_DIR$/pom.xml" />
 | 
					        <option value="$PROJECT_DIR$/pom.xml" />
 | 
				
			||||||
      </list>
 | 
					      </list>
 | 
				
			||||||
    </option>
 | 
					    </option>
 | 
				
			||||||
 | 
					    <option name="workspaceImportForciblyTurnedOn" value="true" />
 | 
				
			||||||
  </component>
 | 
					  </component>
 | 
				
			||||||
  <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
 | 
					  <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
 | 
				
			||||||
    <output url="file://$PROJECT_DIR$/out" />
 | 
					    <output url="file://$PROJECT_DIR$/out" />
 | 
				
			||||||
  </component>
 | 
					  </component>
 | 
				
			||||||
</project>
 | 
					</project>
 | 
				
			||||||
@@ -31,4 +31,9 @@ public class Mahlzeit {
 | 
				
			|||||||
		return beschreibung;
 | 
							return beschreibung;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public String toString() {
 | 
				
			||||||
 | 
							return String.format("Name: %s, Preis: %g, Beschreibung: %s", name, preis, beschreibung);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@ public class Tagesplan {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	public Tagesplan(String datum) {
 | 
						public Tagesplan(String datum) {
 | 
				
			||||||
		this.datum = datum;
 | 
							this.datum = datum;
 | 
				
			||||||
 | 
							this.gerichte = new ArrayList<>();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public ArrayList<Mahlzeit> getGerichte() {
 | 
						public ArrayList<Mahlzeit> getGerichte() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,12 @@ import java.net.http.HttpClient;
 | 
				
			|||||||
import java.net.http.HttpRequest;
 | 
					import java.net.http.HttpRequest;
 | 
				
			||||||
import java.net.http.HttpResponse;
 | 
					import java.net.http.HttpResponse;
 | 
				
			||||||
import java.nio.charset.StandardCharsets;
 | 
					import java.nio.charset.StandardCharsets;
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Logik.ElternAccount;
 | 
					import Logik.ElternAccount;
 | 
				
			||||||
import Logik.Kind;
 | 
					import Logik.Kind;
 | 
				
			||||||
 | 
					import Logik.Mahlzeit;
 | 
				
			||||||
 | 
					import Logik.Tagesplan;
 | 
				
			||||||
import com.google.gson.*;
 | 
					import com.google.gson.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@@ -35,7 +38,10 @@ public class RestApiClient implements IRestAPI{
 | 
				
			|||||||
		client1.delete("Kind", 15);
 | 
							client1.delete("Kind", 15);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		System.out.println(client1.nextId("Benutzer"));
 | 
							Tagesplan t = client1.getGerichteOnTag("2023-12-17");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							for(Mahlzeit m : t.getGerichte())
 | 
				
			||||||
 | 
								System.out.println(m);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
@@ -247,7 +253,6 @@ public class RestApiClient implements IRestAPI{
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
	public int nextId(String controllerName){
 | 
						public int nextId(String controllerName){
 | 
				
			||||||
		URI apiUri = URI.create(String.format("%s/%s/nextId", urlBase, controllerName));
 | 
							URI apiUri = URI.create(String.format("%s/%s/nextId", urlBase, controllerName));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -277,4 +282,81 @@ public class RestApiClient implements IRestAPI{
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public boolean anmeldeVersuch(String credentials){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							JsonObject json = gson.fromJson(credentials, JsonObject.class);
 | 
				
			||||||
 | 
							String benutzer = json.get("Benutzername").toString();
 | 
				
			||||||
 | 
							benutzer = benutzer.substring(1, benutzer.length()-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							String passwort = json.get("passwort").toString();
 | 
				
			||||||
 | 
							passwort = passwort.substring(1, passwort.length()-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							URI apiUri = URI.create(String.format("%s/Benutzer/anmeldeVersuch?Benutzername=%s&passwort=%s", urlBase, benutzer, passwort));
 | 
				
			||||||
 | 
							System.out.println(apiUri);
 | 
				
			||||||
 | 
							HttpRequest httpRequest = HttpRequest.newBuilder()
 | 
				
			||||||
 | 
																 .uri(apiUri)
 | 
				
			||||||
 | 
																 .header("Content-Type", "application/json")
 | 
				
			||||||
 | 
																 .GET()
 | 
				
			||||||
 | 
																 .build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								// Send the request and get the response
 | 
				
			||||||
 | 
								HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Print the response status code and body
 | 
				
			||||||
 | 
								System.out.println("Status Code: " + httpResponse.statusCode());
 | 
				
			||||||
 | 
								System.out.println("Response Body: " + httpResponse.body());
 | 
				
			||||||
 | 
								if(httpResponse.body().equals("true"))
 | 
				
			||||||
 | 
									return true;
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
							} catch (Exception e) {
 | 
				
			||||||
 | 
								e.printStackTrace();
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Tagesplan getGerichteOnTag(String datum){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							URI apiUri = URI.create(String.format("%s/Tagesplan/getGerichteOnTag?datum=%s", urlBase, datum));
 | 
				
			||||||
 | 
							System.out.println(apiUri);
 | 
				
			||||||
 | 
							HttpRequest httpRequest = HttpRequest.newBuilder()
 | 
				
			||||||
 | 
																 .uri(apiUri)
 | 
				
			||||||
 | 
																 .header("Content-Type", "application/json")
 | 
				
			||||||
 | 
																 .GET()
 | 
				
			||||||
 | 
																 .build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								// Send the request and get the response
 | 
				
			||||||
 | 
								HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// Print the response status code and body
 | 
				
			||||||
 | 
								System.out.println("Status Code: " + httpResponse.statusCode());
 | 
				
			||||||
 | 
								System.out.println("Response Body: " + httpResponse.body());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								Tagesplan t = new Tagesplan(datum);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								JsonElement jsonElement = JsonParser.parseString(httpResponse.body());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								JsonArray json = jsonElement.getAsJsonArray();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								for(int i = 0; i< json.size(); i++){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									JsonObject o = json.get(i).getAsJsonObject();
 | 
				
			||||||
 | 
									String name = o.get("name").getAsString();
 | 
				
			||||||
 | 
									float preis = o.get("preis").getAsFloat();
 | 
				
			||||||
 | 
									String beschreibung = o.get("beschreibung").getAsString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									t.getGerichte().add(new Mahlzeit(name, preis, beschreibung));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							} catch (Exception e) {
 | 
				
			||||||
 | 
								e.printStackTrace();
 | 
				
			||||||
 | 
								return null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ public class AccounterstellungMitarbeiter {
 | 
				
			|||||||
	 * @author Sven Alteköster
 | 
						 * @author Sven Alteköster
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void onAbmelden(ActionEvent actionEvent) {
 | 
						public void onAbmelden(ActionEvent actionEvent) {
 | 
				
			||||||
		VerwaltungApplication.abmelden();
 | 
							//VerwaltungApplication.abmelden();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,18 @@
 | 
				
			|||||||
package de.subway_surfers.vpr_app;
 | 
					package de.subway_surfers.vpr_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import Logik.Mahlzeit;
 | 
				
			||||||
 | 
					import Logik.Tagesplan;
 | 
				
			||||||
 | 
					import RestAPISchnittstelle.RestApiClient;
 | 
				
			||||||
 | 
					import javafx.beans.value.ChangeListener;
 | 
				
			||||||
 | 
					import javafx.beans.value.ObservableValue;
 | 
				
			||||||
 | 
					import javafx.collections.FXCollections;
 | 
				
			||||||
import javafx.event.ActionEvent;
 | 
					import javafx.event.ActionEvent;
 | 
				
			||||||
import javafx.fxml.FXML;
 | 
					import javafx.fxml.FXML;
 | 
				
			||||||
import javafx.geometry.Pos;
 | 
					import javafx.geometry.Pos;
 | 
				
			||||||
import javafx.scene.Node;
 | 
					import javafx.scene.Node;
 | 
				
			||||||
 | 
					import javafx.scene.control.Button;
 | 
				
			||||||
import javafx.scene.control.Control;
 | 
					import javafx.scene.control.Control;
 | 
				
			||||||
 | 
					import javafx.scene.control.Label;
 | 
				
			||||||
import javafx.scene.layout.ColumnConstraints;
 | 
					import javafx.scene.layout.ColumnConstraints;
 | 
				
			||||||
import javafx.scene.layout.GridPane;
 | 
					import javafx.scene.layout.GridPane;
 | 
				
			||||||
import javafx.scene.layout.Priority;
 | 
					import javafx.scene.layout.Priority;
 | 
				
			||||||
@@ -12,20 +20,75 @@ import javafx.scene.layout.RowConstraints;
 | 
				
			|||||||
import javafx.stage.Modality;
 | 
					import javafx.stage.Modality;
 | 
				
			||||||
import javafx.stage.Stage;
 | 
					import javafx.stage.Stage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.net.http.WebSocket;
 | 
				
			||||||
 | 
					import java.text.DateFormat;
 | 
				
			||||||
 | 
					import java.time.LocalTime;
 | 
				
			||||||
 | 
					import java.time.format.DateTimeFormatter;
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.Date;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static java.time.LocalTime.now;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class EssensverwaltungMitarbeiterView {
 | 
					public class EssensverwaltungMitarbeiterView {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Label g1Name;
 | 
				
			||||||
 | 
						public Label g2Name;
 | 
				
			||||||
 | 
						public Label g3Name;
 | 
				
			||||||
 | 
						public Label g4Name;
 | 
				
			||||||
 | 
						public Label g1Beschreibung;
 | 
				
			||||||
 | 
						public Label g2Beschreibung;
 | 
				
			||||||
 | 
						public Label g3Beschreibung;
 | 
				
			||||||
 | 
						public Label g4Beschreibung;
 | 
				
			||||||
 | 
						public Label dateLabel;
 | 
				
			||||||
	@FXML
 | 
						@FXML
 | 
				
			||||||
	private GridPane tagesplan;
 | 
						private GridPane tagesplan;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private Tagesplan t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private String date;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private String day;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private String month;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private String year;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private ChangeListener listener;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public void initialize(){
 | 
						public void initialize(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
							(obs,oldValue,newValue) -> {
 | 
				
			||||||
 | 
								final int zeile = 1;
 | 
				
			||||||
 | 
								for (Node n : tagesplan.getChildren()){
 | 
				
			||||||
 | 
									if(n instanceof Control  && GridPane.getRowIndex(n) == zeile){
 | 
				
			||||||
 | 
										((Control) n).setPrefHeight(newValue.floatValue());
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							DateFormat dateFormat = DateFormat.getDateInstance();
 | 
				
			||||||
 | 
							date = dateFormat.format(new Date());
 | 
				
			||||||
 | 
							date = date.replace('.', '-');
 | 
				
			||||||
 | 
							day = date.split("-")[0];
 | 
				
			||||||
 | 
							month = date.split("-")[1];
 | 
				
			||||||
 | 
							year = date.split("-")[2];
 | 
				
			||||||
 | 
							date = String.format("%s-%s-%s", year, month, day);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							dateLabel.setText(String.format("%s.%s.%s", day, month, year));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							initGerichte();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for (int i = 0; i < tagesplan.getColumnCount(); i++) {
 | 
							for (int i = 0; i < tagesplan.getColumnCount(); i++) {
 | 
				
			||||||
			ColumnConstraints cc = new ColumnConstraints();
 | 
								ColumnConstraints cc = new ColumnConstraints();
 | 
				
			||||||
			cc.setHgrow(Priority.ALWAYS);
 | 
								cc.setHgrow(Priority.ALWAYS);
 | 
				
			||||||
			cc.setFillWidth(true);
 | 
								cc.setFillWidth(true);
 | 
				
			||||||
			tagesplan.getColumnConstraints().add(cc);
 | 
								tagesplan.getColumnConstraints().add(cc);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		VerwaltungApplication.responsiveBreiteGrid(tagesplan);
 | 
					/*
 | 
				
			||||||
 | 
					 | 
				
			||||||
		tagesplan.heightProperty().addListener((obs,oldValue,newValue) -> {
 | 
							tagesplan.heightProperty().addListener((obs,oldValue,newValue) -> {
 | 
				
			||||||
			final int zeile = 1;
 | 
								final int zeile = 1;
 | 
				
			||||||
			for (Node n : tagesplan.getChildren()){
 | 
								for (Node n : tagesplan.getChildren()){
 | 
				
			||||||
@@ -34,6 +97,9 @@ public class EssensverwaltungMitarbeiterView {
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
							VerwaltungApplication.responsiveBreiteGrid(tagesplan);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	public void onAbmelden(ActionEvent actionEvent) {
 | 
						public void onAbmelden(ActionEvent actionEvent) {
 | 
				
			||||||
@@ -61,4 +127,68 @@ public class EssensverwaltungMitarbeiterView {
 | 
				
			|||||||
	public void onZurueck(ActionEvent actionEvent) {
 | 
						public void onZurueck(ActionEvent actionEvent) {
 | 
				
			||||||
		VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
 | 
							VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void pfeilLinks(ActionEvent actionEvent) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							tagesplan.getChildren().clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							day = String.valueOf(Integer.parseInt(day)-1);
 | 
				
			||||||
 | 
							date = String.format("%s-%s-%s", year, month, day);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							dateLabel.setText(String.format("%s.%s.%s", day, month, year));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							initGerichte();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void pfeilRechts(ActionEvent actionEvent) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							tagesplan.getChildren().clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							day = String.valueOf(Integer.parseInt(day)+1);
 | 
				
			||||||
 | 
							date = String.format("%s-%s-%s", year, month, day);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							dateLabel.setText(String.format("%s.%s.%s", day, month, year));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							initGerichte();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private void initGerichte(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							tagesplan.getStyleClass().clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							t = new RestApiClient().getGerichteOnTag(date);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(!t.getGerichte().isEmpty()) {
 | 
				
			||||||
 | 
								for (int i = 0; i < t.getGerichte().size(); i++) {
 | 
				
			||||||
 | 
									Label name = new Label();
 | 
				
			||||||
 | 
									tagesplan.add(name, i, 0);
 | 
				
			||||||
 | 
									Label beschreibung = new Label();
 | 
				
			||||||
 | 
									beschreibung.setWrapText(true);
 | 
				
			||||||
 | 
									tagesplan.add(beschreibung, i, 1);
 | 
				
			||||||
 | 
									//Button loeschen = new Button("Löschen");
 | 
				
			||||||
 | 
									//tagesplan.add(loeschen, i ,2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									name.setText(t.getGerichte().get(i).getName());
 | 
				
			||||||
 | 
									beschreibung.setText(t.getGerichte().get(i).getBeschreibung());
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								Label label = new Label();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								label.setText("Für diesen Tag sind keine Gerichte eingetragen");
 | 
				
			||||||
 | 
								tagesplan.add(label, 0, 0);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							for (Node n : tagesplan.getChildren()) {
 | 
				
			||||||
 | 
								if (n instanceof Control) {
 | 
				
			||||||
 | 
									((Control) n).setPrefWidth(tagesplan.getWidth() / tagesplan.getColumnCount());
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							tagesplan.getStyleClass().add("essensuebersicht_gridlines");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,68 @@
 | 
				
			|||||||
package de.subway_surfers.vpr_app;
 | 
					package de.subway_surfers.vpr_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import Logik.Tagesplan;
 | 
				
			||||||
 | 
					import RestAPISchnittstelle.RestApiClient;
 | 
				
			||||||
import javafx.event.ActionEvent;
 | 
					import javafx.event.ActionEvent;
 | 
				
			||||||
 | 
					import javafx.fxml.FXML;
 | 
				
			||||||
 | 
					import javafx.geometry.Pos;
 | 
				
			||||||
 | 
					import javafx.scene.control.Label;
 | 
				
			||||||
 | 
					import javafx.scene.layout.GridPane;
 | 
				
			||||||
 | 
					import javafx.scene.text.TextAlignment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.text.DateFormat;
 | 
				
			||||||
 | 
					import java.util.Date;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class HauptmenueMitarbeiterView {
 | 
					public class HauptmenueMitarbeiterView {
 | 
				
			||||||
 | 
					    @FXML
 | 
				
			||||||
 | 
					    private GridPane wochenplan;
 | 
				
			||||||
 | 
					    private String date;
 | 
				
			||||||
 | 
					    private String day;
 | 
				
			||||||
 | 
					    private String month;
 | 
				
			||||||
 | 
					    private String year;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Ruft die Methode zum Befüllen der Ansicht auf
 | 
				
			||||||
 | 
					     * @author Max Heer
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public void initialize(){
 | 
				
			||||||
 | 
					       wochenuebersichtFuellen();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Methode zum initialisieren und befüllen der Tabelle im Hauptmenü
 | 
				
			||||||
 | 
					     * @author Max Heer
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public void wochenuebersichtFuellen(){
 | 
				
			||||||
 | 
					        String dateanzeige;
 | 
				
			||||||
 | 
					        DateFormat dateFormat = DateFormat.getDateInstance();
 | 
				
			||||||
 | 
					        date = dateFormat.format(new Date());
 | 
				
			||||||
 | 
					        date = date.replace('.', '-');
 | 
				
			||||||
 | 
					        day = date.split("-")[0];
 | 
				
			||||||
 | 
					        month = date.split("-")[1];
 | 
				
			||||||
 | 
					        year = date.split("-")[2];
 | 
				
			||||||
 | 
					        date = String.format("%s-%s-%s", year, month, day);
 | 
				
			||||||
 | 
					        dateanzeige = String.format("%s.%s.%s",day,month,year);
 | 
				
			||||||
 | 
					        Tagesplan t = new RestApiClient().getGerichteOnTag(date);
 | 
				
			||||||
 | 
					        for(int i=0;i<5;i++){
 | 
				
			||||||
 | 
					            Label tag = new Label();
 | 
				
			||||||
 | 
					            wochenplan.add(tag, i, 0);
 | 
				
			||||||
 | 
					            tag.setText(dateanzeige);
 | 
				
			||||||
 | 
					            for(int j=0; j<t.getGerichte().size();j++){
 | 
				
			||||||
 | 
					                Label name = new Label();
 | 
				
			||||||
 | 
					                name.setWrapText(true);
 | 
				
			||||||
 | 
					                wochenplan.add(name, i, j+1);
 | 
				
			||||||
 | 
					                name.setText(t.getGerichte().get(j).getName());
 | 
				
			||||||
 | 
					                name.setPrefHeight(75);
 | 
				
			||||||
 | 
					                name.setTextAlignment(TextAlignment.CENTER);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            day = String.valueOf(Integer.parseInt(day)+1);
 | 
				
			||||||
 | 
					            date = String.format("%s-%s-%s", year, month, day);
 | 
				
			||||||
 | 
					            dateanzeige = String.format("%s.%s.%s",day,month,year);
 | 
				
			||||||
 | 
					            t = new RestApiClient().getGerichteOnTag(date);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    public void onAbmelden(ActionEvent actionEvent) {
 | 
					    public void onAbmelden(ActionEvent actionEvent) {
 | 
				
			||||||
        VerwaltungApplication.abmelden();
 | 
					        //VerwaltungApplication.abmelden();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void onAccountAnlegenClick(ActionEvent actionEvent) {
 | 
					    public void onAccountAnlegenClick(ActionEvent actionEvent) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,7 @@ package de.subway_surfers.vpr_app;
 | 
				
			|||||||
import javafx.scene.control.Button;
 | 
					import javafx.scene.control.Button;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class LoginView {
 | 
					public class LoginView {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -110,10 +110,7 @@ public class VerwaltungApplication extends Application {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			e.printStackTrace();
 | 
								e.printStackTrace();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static void abmelden() {
 | 
					 | 
				
			||||||
		sceneWechseln("login-view.fxml");
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,28 +1,43 @@
 | 
				
			|||||||
package de.subway_surfers.vpr_app;
 | 
					package de.subway_surfers.vpr_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Logik.Account;
 | 
					 | 
				
			||||||
import RestAPISchnittstelle.RestApiClient;
 | 
					import RestAPISchnittstelle.RestApiClient;
 | 
				
			||||||
import javafx.event.ActionEvent;
 | 
					import javafx.event.ActionEvent;
 | 
				
			||||||
import javafx.fxml.FXML;
 | 
					import javafx.fxml.FXML;
 | 
				
			||||||
import javafx.fxml.FXMLLoader;
 | 
					import javafx.fxml.FXMLLoader;
 | 
				
			||||||
import javafx.scene.Scene;
 | 
					import javafx.scene.Scene;
 | 
				
			||||||
import javafx.scene.control.Alert;
 | 
					import javafx.scene.control.*;
 | 
				
			||||||
import javafx.scene.control.Button;
 | 
					 | 
				
			||||||
import javafx.scene.control.Label;
 | 
					 | 
				
			||||||
import javafx.stage.Stage;
 | 
					import javafx.stage.Stage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class VerwaltungController {
 | 
					public class VerwaltungController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@FXML
 | 
				
			||||||
 | 
						public PasswordField passwortTextfield;
 | 
				
			||||||
 | 
						@FXML
 | 
				
			||||||
 | 
						public TextField benutzernameTextfield;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public void initialize(){
 | 
						public void initialize(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Wird der Abmeldenbutton geklickt, wird der Nutzer angemeldet.
 | 
						 * Wird der Anmeldenbutton geklickt, wird der Nutzer angemeldet.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void onAnmeldenClick(ActionEvent actionEvent) {
 | 
						public void onAnmeldenClick(ActionEvent actionEvent) {
 | 
				
			||||||
		VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
 | 
							RestApiClient client = new RestApiClient();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							String credentials = String.format("{\"Benutzername\" : \"%s\", \"passwort\" : \"%s\"}", benutzernameTextfield.getText(), passwortTextfield.getText());
 | 
				
			||||||
 | 
							if(client.anmeldeVersuch(credentials))
 | 
				
			||||||
 | 
								VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								Alert alert = new Alert(Alert.AlertType.INFORMATION);
 | 
				
			||||||
 | 
								alert.setContentText("Falsche Anmeldedaten");
 | 
				
			||||||
 | 
								alert.setHeaderText("Fehler!");
 | 
				
			||||||
 | 
								alert.showAndWait();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -34,21 +34,16 @@
 | 
				
			|||||||
                    </left>
 | 
					                    </left>
 | 
				
			||||||
                    <right>
 | 
					                    <right>
 | 
				
			||||||
                        <HBox styleClass="test" spacing="10">
 | 
					                        <HBox styleClass="test" spacing="10">
 | 
				
			||||||
                            <Button styleClass="pfeil, links"/>
 | 
					                            <Button styleClass="pfeil, links" onAction="#pfeilLinks"/>
 | 
				
			||||||
                            <Label text="Montag DD.MM.YY"/>
 | 
					                            <Label fx:id="dateLabel"/>
 | 
				
			||||||
                            <Button styleClass="pfeil"/>
 | 
					                            <Button styleClass="pfeil" onAction="#pfeilRechts"/>
 | 
				
			||||||
                        </HBox>
 | 
					                        </HBox>
 | 
				
			||||||
                    </right>
 | 
					                    </right>
 | 
				
			||||||
                </BorderPane>
 | 
					                </BorderPane>
 | 
				
			||||||
            </top>
 | 
					            </top>
 | 
				
			||||||
            <center>
 | 
					            <center>
 | 
				
			||||||
                <AnchorPane>
 | 
					                <AnchorPane>
 | 
				
			||||||
                    <GridPane fx:id="tagesplan" AnchorPane.bottomAnchor="20" AnchorPane.rightAnchor="20" AnchorPane.leftAnchor="20" AnchorPane.topAnchor="20" styleClass="essensuebersicht_gridlines">
 | 
					                    <GridPane fx:id="tagesplan" AnchorPane.bottomAnchor="20" AnchorPane.rightAnchor="20" AnchorPane.leftAnchor="20" AnchorPane.topAnchor="20" >
 | 
				
			||||||
                        <Label text="GerichtName" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                        <Label GridPane.columnIndex="1" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                        <Label GridPane.columnIndex="2" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                        <Label GridPane.columnIndex="3" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                        <Label GridPane.columnIndex="0" GridPane.rowIndex="1"/>
 | 
					 | 
				
			||||||
                    </GridPane>
 | 
					                    </GridPane>
 | 
				
			||||||
                </AnchorPane>
 | 
					                </AnchorPane>
 | 
				
			||||||
            </center>
 | 
					            </center>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,14 +31,8 @@
 | 
				
			|||||||
                </VBox>
 | 
					                </VBox>
 | 
				
			||||||
            </left>
 | 
					            </left>
 | 
				
			||||||
            <right>
 | 
					            <right>
 | 
				
			||||||
                <GridPane styleClass="hauptmenue_wochenuebersicht">
 | 
					                <GridPane fx:id="wochenplan" styleClass="hauptmenue_wochenuebersicht">
 | 
				
			||||||
                    <Label text="Montag" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                    <Label text="Dienstag" GridPane.columnIndex="1" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                    <Label text="Mittwoch" GridPane.columnIndex="2" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                    <Label text="Donnerstag" GridPane.columnIndex="3" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
                    <Label text="Freitag" GridPane.columnIndex="4" GridPane.rowIndex="0"/>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    <Label text="Gericht1" styleClass="hauptmenue_gericht" GridPane.columnIndex="0" GridPane.rowIndex="1"/>
 | 
					 | 
				
			||||||
                </GridPane>
 | 
					                </GridPane>
 | 
				
			||||||
            </right>
 | 
					            </right>
 | 
				
			||||||
        </BorderPane>
 | 
					        </BorderPane>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@
 | 
				
			|||||||
    -fx-padding: 20;
 | 
					    -fx-padding: 20;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.hauptmenue_buttons_links, .gerichterstellung_felder, .filter, .main, .filter_unten{
 | 
					.hauptmenue_buttons_links{
 | 
				
			||||||
    -fx-spacing: 20;
 | 
					    -fx-spacing: 20;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -73,13 +73,6 @@
 | 
				
			|||||||
    -fx-vgap: 10;
 | 
					    -fx-vgap: 10;
 | 
				
			||||||
    -fx-hgap: 10;
 | 
					    -fx-hgap: 10;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
.test {
 | 
					 | 
				
			||||||
    -fx-padding: 10 20;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.essensuebersicht_gridlines {
 | 
					 | 
				
			||||||
     -fx-grid-lines-visible: true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.accounterstellung_links, .button-untenrechts{
 | 
					.accounterstellung_links, .button-untenrechts{
 | 
				
			||||||
    -fx-spacing: 20;
 | 
					    -fx-spacing: 20;
 | 
				
			||||||
@@ -88,25 +81,4 @@
 | 
				
			|||||||
.falscheEingabe {
 | 
					.falscheEingabe {
 | 
				
			||||||
    -fx-background-color: #FFDCDC;
 | 
					    -fx-background-color: #FFDCDC;
 | 
				
			||||||
    -fx-text-fill: #FFDCDC;
 | 
					    -fx-text-fill: #FFDCDC;
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.essensuebersicht_gridlines > * {
 | 
					 | 
				
			||||||
    -fx-alignment: center;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.pfeil{
 | 
					 | 
				
			||||||
    -fx-background-color: -fx-mark-highlight-color, -fx-mark-color;
 | 
					 | 
				
			||||||
    -fx-background-insets: 0 0 -1 0, 0;
 | 
					 | 
				
			||||||
    -fx-padding: 0.25em;
 | 
					 | 
				
			||||||
    -fx-shape: "M 0 -3.5 v 7 l 4 -3.5 z";
 | 
					 | 
				
			||||||
    -fx-pref-width: 25;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.links {
 | 
					 | 
				
			||||||
    -fx-rotate: 180;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.titledPaneUeberschrift > .title {
 | 
					 | 
				
			||||||
    -fx-pref-height: 50;
 | 
					 | 
				
			||||||
    -fx-padding: 10 10 16 10;
 | 
					 | 
				
			||||||
    -fx-font-size: 15;
 | 
					 | 
				
			||||||
    -fx-font-weight: bold;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -19,9 +19,9 @@
 | 
				
			|||||||
            </HBox>
 | 
					            </HBox>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <Label text="Benutzername" GridPane.rowIndex="1" GridPane.columnIndex="0"/>
 | 
					            <Label text="Benutzername" GridPane.rowIndex="1" GridPane.columnIndex="0"/>
 | 
				
			||||||
            <TextField GridPane.rowIndex="1" GridPane.columnIndex="1"/>
 | 
					            <TextField fx:id="benutzernameTextfield" GridPane.rowIndex="1" GridPane.columnIndex="1"/>
 | 
				
			||||||
            <Label text="Passwort" GridPane.rowIndex="2" GridPane.columnIndex="0"/>
 | 
					            <Label text="Passwort" GridPane.rowIndex="2" GridPane.columnIndex="0"/>
 | 
				
			||||||
            <PasswordField GridPane.rowIndex="2" GridPane.columnIndex="1"/>
 | 
					            <PasswordField fx:id="passwortTextfield" GridPane.rowIndex="2" GridPane.columnIndex="1"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <CheckBox text="Kennwort merken" GridPane.rowIndex="3" GridPane.columnIndex="0"/>
 | 
					            <CheckBox text="Kennwort merken" GridPane.rowIndex="3" GridPane.columnIndex="0"/>
 | 
				
			||||||
        </GridPane>
 | 
					        </GridPane>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user