diff --git a/.idea/misc.xml b/.idea/misc.xml
index fc45e5d..de4b033 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,8 +7,9 @@
+
-
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/Logik/Account.java b/src/main/java/Logik/Account.java
new file mode 100644
index 0000000..aab04cb
--- /dev/null
+++ b/src/main/java/Logik/Account.java
@@ -0,0 +1,50 @@
+// Programmiert von Samuel Wolff
+// Noch nicht getestet
+
+package Logik;
+
+public class Account {
+
+ // region Felder
+ private String passwort;
+
+ private int id;
+
+ private String benutzername;
+ // endregion
+
+ // region Getter & Setter
+ public String getPasswort() {
+ return passwort;
+ }
+
+ public void setPasswort(String passwort) {
+ this.passwort = passwort;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+
+ public String getBenutzername() {
+ return benutzername;
+ }
+
+ public void setBenutzername(String benutzername) {
+ this.benutzername = benutzername;
+ }
+ // endregion
+
+ // region Konstruktoren
+ public Account(String passwort, String benutzername) {
+ this.passwort = passwort;
+ this.benutzername = benutzername;
+ }
+ // endregion
+
+}
diff --git a/src/main/java/Logik/Benutzer.java b/src/main/java/Logik/Benutzer.java
new file mode 100644
index 0000000..d2a41b8
--- /dev/null
+++ b/src/main/java/Logik/Benutzer.java
@@ -0,0 +1,72 @@
+// Programmiert von Samuel Wolff
+// Noch nicht getestet
+
+//
+// TODO: Methoden implementieren!
+//
+
+package Logik;
+
+import java.nio.file.WatchEvent;
+import java.util.ArrayList;
+
+public class Benutzer extends Account {
+
+ // region Felder
+ private String email;
+
+ private ArrayList kinder;
+ // endregion
+
+ // region Getter & Setter
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public ArrayList getKinder() {
+ return kinder;
+ }
+
+ public void setKinder(ArrayList kinder) {
+ this.kinder = kinder;
+ }
+ // endregion
+
+ // region Konstruktoren
+ public Benutzer(String passwort, String benutzername, String email) {
+ super(passwort, benutzername);
+ this.email = email;
+ kinder = new ArrayList<>();
+ }
+ // endregion
+
+ // region Methoden
+
+ /**
+ * Lädt eine Rechnung herunter
+ */
+ public void rechnungHerunterladen() {
+
+ }
+
+ /**
+ * Bestellt eine Mahlzeit
+ */
+ public void mahlzeitBestellen() {
+
+ }
+
+ /**
+ * Zeigt Rechnungen gefiltert an
+ * @param params Die Filter Argumente
+ */
+ public void rechnungAnzeigen(String params) {
+
+ }
+ // endregion
+
+}
diff --git a/src/main/java/Logik/Kind.java b/src/main/java/Logik/Kind.java
new file mode 100644
index 0000000..0d573d1
--- /dev/null
+++ b/src/main/java/Logik/Kind.java
@@ -0,0 +1,59 @@
+package Logik;
+
+import java.util.ArrayList;
+
+public class Kind {
+
+ // region Felder
+ private String name;
+ private String vorname;
+ private int id;
+ // TODO Zutat implementieren!
+ // private ArrayList filter;
+ // endregion
+
+ // region Getter & Setter
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getVorname() {
+ return vorname;
+ }
+
+ public void setVorname(String vorname) {
+ this.vorname = vorname;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ // TODO Zutat implementieren!
+ /*
+ public ArrayList getFilter() {
+ return filter;
+ }
+
+ public void setFilter(ArrayList filter) {
+ this.filter = filter;
+ }
+ */
+ // endregion
+
+ // region Konstruktoren
+ public Kind(String name, String vorname) {
+ this.name = name;
+ this.vorname = vorname;
+ }
+ // endregion
+
+}
diff --git a/src/main/java/Logik/MitarbeiterAccount.java b/src/main/java/Logik/MitarbeiterAccount.java
new file mode 100644
index 0000000..b1a3c33
--- /dev/null
+++ b/src/main/java/Logik/MitarbeiterAccount.java
@@ -0,0 +1,87 @@
+// Programmiert von Samuel Wolff
+// Noch nicht getestet
+
+//
+// TODO Methoden implementieren
+//
+
+package Logik;
+
+import java.util.ArrayList;
+
+public class MitarbeiterAccount extends Account {
+
+ // region Konstrukoren
+ public MitarbeiterAccount(String passwort, String benutzername) {
+ super(passwort, benutzername);
+ }
+ //endregion
+
+ // region Methoden
+
+ /**
+ * Setzt das Passwort eines gegebenen Accounts auf das gegebene Passwort zurück
+ * @param other Der Accout dessen Passwort zurückgesetzt wird
+ * @param passwort Das neue Passwort
+ */
+ public void passwortZurzecksetzen(Account other, String passwort) {
+ // Soll das so?
+ other.setPasswort(passwort);
+ }
+
+ /**
+ * Bestellt eine Mahlzeit
+ */
+ public void mahlzeitBestellen() {
+
+ }
+
+ /**
+ * Ändert einen Tagesplan
+ */
+ public void tagesplanAendern() {
+
+ }
+
+ /**
+ * Erstellt einen neuen Account und fügt ihn in die Datenbank ein
+ * @param passwort Passwort des neuen Accounts
+ * @param benutzername Benutzername des neuen Accounts
+ * @param email Die E-Mail mit der sich der User einloggt
+ * @param kinder Eine Liste mit allen zugehörigen Kindern des Accounts
+ */
+ public void accountErstellen(String passwort, String benutzername, String email, ArrayList kinder) {
+ Benutzer newAccount = new Benutzer(passwort, benutzername, email);
+ newAccount.setKinder(kinder);
+ // Id muss aus der Datenbank geholt werden und dann gesetzt werden
+ }
+
+ /**
+ * Zeigt Rechnungen gefilter nach params an
+ * @param params Die Filter Arguemente
+ */
+ public void rechnungAnzeigen(String[] params) {
+
+ }
+
+ // TODO sollte hier nicht noch ein User mitgegeben werden?
+
+ /**
+ * Weist ein Kind einem Account zu
+ * @param kind Das zuzuweisende Kind
+ */
+ public void kinderZuweisen(Kind kind) {
+
+ }
+
+ // TODO hier auch?
+
+ /**
+ * Zeigt einen Benutzer an
+ */
+ public void zeigeBenutzer() {
+
+ }
+ // endregion
+
+}
diff --git a/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java
new file mode 100644
index 0000000..7d590b2
--- /dev/null
+++ b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java
@@ -0,0 +1,128 @@
+package de.subway_surfers.vpr_app;
+
+import javafx.collections.ListChangeListener;
+import javafx.event.ActionEvent;
+import javafx.fxml.FXML;
+import javafx.scene.control.*;
+import javafx.scene.layout.Background;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.VBox;
+
+import java.util.Random;
+
+public class AccounterstellungMitarbeiter {
+
+ private @FXML Label status;
+ private @FXML Label einmalpw;
+ private @FXML HBox kindanzeige;
+ private @FXML GridPane kindDaten;
+ private @FXML RadioButton typMitarbeiter;
+ private @FXML RadioButton typEltern;
+ private ToggleGroup accountTyp;
+
+ public void initialize() {
+ accountTyp = new ToggleGroup();
+ accountTyp.getToggles().add(typEltern);
+ accountTyp.getToggles().add(typMitarbeiter);
+ einmalpw.setText(einmalPwGenerieren());
+ }
+
+ public void onZurueck(ActionEvent actionEvent) {
+ VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
+ }
+
+ public void onAbmelden(ActionEvent actionEvent) {
+ //VerwaltungApplication.abmelden();
+ }
+
+ public void onTypMitarbeiter(ActionEvent actionEvent) {
+ kindDaten.getChildren().clear();
+ }
+
+ public void onTypEltern(ActionEvent actionEvent) {
+ Label ueberschrift = new Label();
+ ueberschrift.setText("Daten des Kindes:");
+ kindDaten.addRow(0);
+ kindDaten.addColumn(0);
+ kindDaten.addRow(1);
+ kindDaten.add(ueberschrift,0,0);
+
+ kindDaten.addRow(1);
+ Label vname = new Label("Vorname:");
+ kindDaten.add(vname, 0, 1);
+ TextField vnameEingabe = new TextField();
+ kindDaten.add(vnameEingabe, 1, 1);
+
+ kindDaten.addRow(2);
+ Label nname = new Label("Nachname:");
+ kindDaten.add(nname, 0, 2);
+ TextField nnameEingabe = new TextField();
+ kindDaten.add(nnameEingabe, 1, 2);
+
+ kindDaten.addRow(3);
+ Label geburtstag = new Label("Geburtstag: ");
+ kindDaten.add(geburtstag, 0, 3);
+ DatePicker geburtstagEingabe = new DatePicker();
+ geburtstagEingabe.setEditable(false);
+ kindDaten.add(geburtstagEingabe, 1, 3);
+
+ kindDaten.addRow(4);
+ Button hinzufuegen = new Button("hinzufügen");
+ kindDaten.add(hinzufuegen, 1, 4);
+
+ kindDaten.addRow(5);
+ hinzufuegen.setOnAction(e -> {
+ Button neues = new Button(vnameEingabe.getText());
+
+ boolean vnameGueltig = false;
+ boolean gebGueltig = false;
+ boolean nnameGueltig = false;
+
+ if (!vnameEingabe.getText().equals("")) {
+ vnameGueltig = true;
+ }
+
+ if (!nnameEingabe.getText().equals("")) {
+ nnameGueltig = true;
+ }
+
+ if (!geburtstagEingabe.getEditor().getText().equals("")) {
+ gebGueltig = true;
+ }
+
+ if (vnameGueltig && gebGueltig && nnameGueltig) {
+ kindanzeige.getChildren().add(neues);
+ neues.setOnAction(a -> {
+ ((HBox) neues.getParent()).getChildren().remove(neues);
+ });
+ vnameEingabe.setText("");
+ nnameEingabe.setText("");
+ geburtstagEingabe.getEditor().setText("");
+ }
+ });
+ }
+
+ private String einmalPwGenerieren() {
+ final int pwLaenge = 8;
+ String pw = "";
+ Random zufall = new Random();
+ for (int i = 0; i < pwLaenge; i++) {
+ pw += (char)zufall.nextInt('A', 'Z' + 1);
+ }
+ return pw;
+ }
+
+ private boolean eingabenGueltig() {
+ return true;
+ }
+
+ public void onSpeichern(ActionEvent actionEvent) {
+ if (eingabenGueltig()) {
+ status.setText("Daten Erfolgreich gespeichert");
+ einmalpw.setText(einmalPwGenerieren());
+ }
+
+ }
+
+}
diff --git a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java
index 386b8e6..b7589d2 100644
--- a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java
+++ b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java
@@ -39,12 +39,15 @@ public class EssensverwaltungMitarbeiterView {
}
public void onFilter(ActionEvent actionEvent) {
+
}
public void onHinzufuegen(ActionEvent actionEvent) {
+
}
public void onZurueck(ActionEvent actionEvent) {
+ VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
}
}
diff --git a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java
index d4a9af5..c7b506f 100644
--- a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java
+++ b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java
@@ -3,7 +3,13 @@ package de.subway_surfers.vpr_app;
import javafx.event.ActionEvent;
public class HauptmenueMitarbeiterView {
+
public void onAbmelden(ActionEvent actionEvent) {
- VerwaltungApplication.sceneWechseln("login-view.fxml");
+ //VerwaltungApplication.abmelden();
}
+
+ public void onAccountAnlegen(ActionEvent actionEvent) {
+ VerwaltungApplication.sceneWechseln("accounterstellung_mitarbeiter.fxml");
+ }
+
}
diff --git a/src/main/resources/de/subway_surfers/vpr_app/accounterstellung_mitarbeiter.fxml b/src/main/resources/de/subway_surfers/vpr_app/accounterstellung_mitarbeiter.fxml
new file mode 100644
index 0000000..984ff7d
--- /dev/null
+++ b/src/main/resources/de/subway_surfers/vpr_app/accounterstellung_mitarbeiter.fxml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml
index 588890e..3463abc 100644
--- a/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml
+++ b/src/main/resources/de/subway_surfers/vpr_app/hauptmenue_mitarbeiter-view.fxml
@@ -27,7 +27,7 @@
-
+
@@ -43,9 +43,4 @@
-
-
-
-
-
diff --git a/src/main/resources/de/subway_surfers/vpr_app/layout.css b/src/main/resources/de/subway_surfers/vpr_app/layout.css
index 6dce0d7..7db83a2 100644
--- a/src/main/resources/de/subway_surfers/vpr_app/layout.css
+++ b/src/main/resources/de/subway_surfers/vpr_app/layout.css
@@ -3,6 +3,9 @@
-fx-font-size: 15;
}
+* {
+ -fx-font-size: 15;
+}
.kopfzeile{
@@ -49,7 +52,7 @@
-fx-pref-width: 200;
}
-.login_btn_anmelden {
+.button-untenrechts {
-fx-padding: 20;
}
@@ -61,26 +64,21 @@
-fx-font-size: 30;
}
-.test {
- -fx-padding: 10 20;
+.text-field {
+ -fx-pref-width: 225;
+ -fx-pref-height: 32;
}
-.essensuebersicht_gridlines {
- -fx-grid-lines-visible: true;
+.accounterstellung_daten {
+ -fx-vgap: 10;
+ -fx-hgap: 10;
}
-.essensuebersicht_gridlines > * {
- -fx-alignment: center;
+.accounterstellung_links {
+ -fx-spacing: 20;
}
-.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;
+.falscheEingabe {
+ -fx-background-color: #FFDCDC;
+ -fx-text-fill: #FFDCDC;
}
\ No newline at end of file
diff --git a/src/main/resources/de/subway_surfers/vpr_app/login-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/login-view.fxml
index 8299c4f..dfe90cc 100644
--- a/src/main/resources/de/subway_surfers/vpr_app/login-view.fxml
+++ b/src/main/resources/de/subway_surfers/vpr_app/login-view.fxml
@@ -30,7 +30,7 @@
-
+