Compare commits
	
		
			8 Commits
		
	
	
		
			0410-Switc
			...
			7c8b1fefb7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7c8b1fefb7 | |||
| 226255f75a | |||
| d574849407 | |||
| c754b77c81 | |||
| 66edff8ed5 | |||
| ded0b9042f | |||
| e7b376e722 | |||
| cb6c55a639 | 
| @@ -30,7 +30,6 @@ public class CreateEventController { | |||||||
|     public Label labelError; |     public Label labelError; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     public CreateEventController() { |     public CreateEventController() { | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -42,7 +41,7 @@ public class CreateEventController { | |||||||
|     @FXML |     @FXML | ||||||
|     protected void createBtnClick(ActionEvent actionEvent) { |     protected void createBtnClick(ActionEvent actionEvent) { | ||||||
|         try { |         try { | ||||||
|             if(datePickerDate.getValue() == null){ |             if (datePickerDate.getValue() == null) { | ||||||
|                 throw new IllegalArgumentException("Bitte w\u00e4hle ein Datum aus"); |                 throw new IllegalArgumentException("Bitte w\u00e4hle ein Datum aus"); | ||||||
|             } |             } | ||||||
|  |  | ||||||
| @@ -54,7 +53,7 @@ public class CreateEventController { | |||||||
|                     textStart.getText(), |                     textStart.getText(), | ||||||
|                     textEnd.getText(), |                     textEnd.getText(), | ||||||
|                     datePickerDate.getValue().atStartOfDay(), |                     datePickerDate.getValue().atStartOfDay(), | ||||||
|                     1 |                     (int) DataController.USER_ID | ||||||
|             ); |             ); | ||||||
|  |  | ||||||
|             System.out.println(event.getAsUrlParam()); |             System.out.println(event.getAsUrlParam()); | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ import javafx.application.Application; | |||||||
| import javafx.fxml.FXMLLoader; | import javafx.fxml.FXMLLoader; | ||||||
| import javafx.scene.Scene; | import javafx.scene.Scene; | ||||||
| import javafx.stage.Stage; | import javafx.stage.Stage; | ||||||
|  | import res.DataController; | ||||||
|  |  | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.util.Objects; | import java.util.Objects; | ||||||
| @@ -11,22 +12,30 @@ import java.util.Objects; | |||||||
| public class MainApplication extends Application { | public class MainApplication extends Application { | ||||||
|     @Override |     @Override | ||||||
|     public void start(Stage stage) throws IOException { |     public void start(Stage stage) throws IOException { | ||||||
|         FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("main-view.fxml")); |                                                                                     //wieder ändern zu main-view.fxml | ||||||
|  |         FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("../users/create-user.fxml")); | ||||||
|  |  | ||||||
|         Scene scene = new Scene(fxmlLoader.load(), 1200, 700); |         Scene scene = new Scene(fxmlLoader.load(), 1200, 700); | ||||||
|         scene.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("main-view.css")).toExternalForm()); |         scene.getStylesheets().add(Objects.requireNonNull( | ||||||
|  |                                                     //wieder ändern zu main-view.css | ||||||
|  |                 MainApplication.class.getResource("../users/create-user.css")).toExternalForm()); | ||||||
|         stage.setTitle("SharePlaner"); |         stage.setTitle("SharePlaner"); | ||||||
|         stage.setScene(scene); |         stage.setScene(scene); | ||||||
|  |         //wieder löschen | ||||||
|         stage.show(); |         stage.show(); | ||||||
|  |  | ||||||
|         FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml")); |         FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml")); | ||||||
|         Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500); |         Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500); | ||||||
|         sceneLogin.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("../users/login.css")).toExternalForm()); |         sceneLogin.getStylesheets().add(Objects.requireNonNull( | ||||||
|  |                 MainApplication.class.getResource("../users/login.css")).toExternalForm()); | ||||||
|         Stage stageLogin = new Stage(); |         Stage stageLogin = new Stage(); | ||||||
|         stageLogin.setTitle("Anmelden"); |         stageLogin.setTitle("Anmelden"); | ||||||
|         stageLogin.setScene(sceneLogin); |         stageLogin.setScene(sceneLogin); | ||||||
|         stageLogin.show(); |         stageLogin.showAndWait(); | ||||||
|  |  | ||||||
|  |         if (DataController.USER_ID >= 0) { | ||||||
|  |             stage.show(); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static void main(String[] args) { |     public static void main(String[] args) { | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ public class MainController { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     @FXML |     @FXML | ||||||
|     protected void onTodayClick(){ |     protected void onTodayClick() { | ||||||
|         weekOffset = 0; |         weekOffset = 0; | ||||||
|         setDates(); |         setDates(); | ||||||
|         updateEvents(); |         updateEvents(); | ||||||
| @@ -89,9 +89,11 @@ public class MainController { | |||||||
|     @FXML |     @FXML | ||||||
|     protected void onAddBtnClick() { |     protected void onAddBtnClick() { | ||||||
|         try { |         try { | ||||||
|             FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("create-event.fxml")); |             FXMLLoader fxmlLoader = new FXMLLoader( | ||||||
|  |                     MainApplication.class.getResource("create-event.fxml")); | ||||||
|             Scene scene = new Scene(fxmlLoader.load(), 650, 650); |             Scene scene = new Scene(fxmlLoader.load(), 650, 650); | ||||||
|             scene.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("create-event.css")).toExternalForm()); |             scene.getStylesheets().add(Objects.requireNonNull( | ||||||
|  |                     MainApplication.class.getResource("create-event.css")).toExternalForm()); | ||||||
|             Stage stage = new Stage(); |             Stage stage = new Stage(); | ||||||
|             stage.setTitle("Termin erstellen"); |             stage.setTitle("Termin erstellen"); | ||||||
|             stage.setScene(scene); |             stage.setScene(scene); | ||||||
| @@ -182,7 +184,8 @@ public class MainController { | |||||||
|  |  | ||||||
|         LocalDateTime eventDate = event.getDate(); |         LocalDateTime eventDate = event.getDate(); | ||||||
|  |  | ||||||
|         int day = (int) Duration.between(weekStartDateTime.toLocalDate().atStartOfDay(), eventDate.toLocalDate().atStartOfDay()).toDays(); |         int day = (int) Duration.between( | ||||||
|  |                 weekStartDateTime.toLocalDate().atStartOfDay(), eventDate.toLocalDate().atStartOfDay()).toDays(); | ||||||
|  |  | ||||||
|         if (day >= 0 && day < 7) { |         if (day >= 0 && day < 7) { | ||||||
|             dayVBoxes[day].getChildren().add(vBox); |             dayVBoxes[day].getChildren().add(vBox); | ||||||
|   | |||||||
							
								
								
									
										41
									
								
								client/app/src/main/java/users/CreateUserController.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								client/app/src/main/java/users/CreateUserController.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | package users; | ||||||
|  |  | ||||||
|  | import javafx.event.ActionEvent; | ||||||
|  | import javafx.scene.Node; | ||||||
|  | import javafx.scene.control.CheckBox; | ||||||
|  | import javafx.scene.control.Label; | ||||||
|  | import javafx.scene.control.TextField; | ||||||
|  | import javafx.stage.Stage; | ||||||
|  |  | ||||||
|  | import java.util.Objects; | ||||||
|  |  | ||||||
|  | public class CreateUserController { | ||||||
|  |  | ||||||
|  |     public TextField textName; | ||||||
|  |     public TextField textPassword; | ||||||
|  |     public TextField textPasswordSecond; | ||||||
|  |     public CheckBox checkBoxIsAdmin; | ||||||
|  |     public Label labelErrorName; | ||||||
|  |     public Label labelErrorPw; | ||||||
|  |  | ||||||
|  |     protected void createUser(ActionEvent event) { | ||||||
|  |         if (textName.getText().trim().isEmpty()) { | ||||||
|  |             labelErrorName.setText("Bitte Usernamen eingeben!"); | ||||||
|  |             labelErrorPw.setText(""); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         if (textPassword.getText().trim().isEmpty()) { | ||||||
|  |             labelErrorName.setText(""); | ||||||
|  |             labelErrorPw.setText("Bitte Passwort eingeben!"); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         if (Objects.equals(textPassword.getText(), textPasswordSecond.getText())){ | ||||||
|  |             labelErrorName.setText(""); | ||||||
|  |             labelErrorPw.setText("Passwörter stimmen nicht überein!"); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); | ||||||
|  |         stage.close(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| package users; |  | ||||||
|  |  | ||||||
| public class LoginControler { |  | ||||||
| } |  | ||||||
							
								
								
									
										50
									
								
								client/app/src/main/java/users/LoginController.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								client/app/src/main/java/users/LoginController.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | |||||||
|  | package users; | ||||||
|  |  | ||||||
|  | import javafx.event.ActionEvent; | ||||||
|  | import javafx.fxml.FXML; | ||||||
|  | import javafx.scene.Node; | ||||||
|  | import javafx.scene.control.Label; | ||||||
|  | import javafx.scene.control.TextField; | ||||||
|  | import javafx.stage.Stage; | ||||||
|  | import res.DataController; | ||||||
|  |  | ||||||
|  | public class LoginController { | ||||||
|  |     @FXML | ||||||
|  |     public TextField userField; | ||||||
|  |     @FXML | ||||||
|  |     public TextField passField; | ||||||
|  |     @FXML | ||||||
|  |     public Label userErrLabel; | ||||||
|  |     @FXML | ||||||
|  |     public Label passErrLabel; | ||||||
|  |  | ||||||
|  |     @FXML | ||||||
|  |     protected void login(ActionEvent event) { | ||||||
|  |         if (userField.getText().trim().isEmpty()) { | ||||||
|  |             userErrLabel.setText("Bitte Usernamen eingeben!"); | ||||||
|  |             passErrLabel.setText(""); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         if (passField.getText().trim().isEmpty()) { | ||||||
|  |             userErrLabel.setText(""); | ||||||
|  |             passErrLabel.setText("Bitte Passwort eingeben!"); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         DataController dataController = new DataController(); | ||||||
|  |         if (!dataController.login(userField.getText(), passField.getText())) { | ||||||
|  |             userErrLabel.setText("Name und Passwort passen nicht zueinander!"); | ||||||
|  |             passErrLabel.setText("Name und Passwort passen nicht zueinander!"); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); | ||||||
|  |         stage.close(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @FXML | ||||||
|  |     protected void abortBtnClick(ActionEvent event) { | ||||||
|  |         Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); | ||||||
|  |         stage.close(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -5,7 +5,8 @@ | |||||||
|  |  | ||||||
| <?import javafx.collections.FXCollections?> | <?import javafx.collections.FXCollections?> | ||||||
| <?import java.lang.String?> | <?import java.lang.String?> | ||||||
| <GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.CreateEventController"> | <GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" | ||||||
|  |           fx:controller="main.CreateEventController"> | ||||||
|  |  | ||||||
|     <columnConstraints> |     <columnConstraints> | ||||||
|         <ColumnConstraints/> |         <ColumnConstraints/> | ||||||
| @@ -13,16 +14,16 @@ | |||||||
|         <ColumnConstraints/> |         <ColumnConstraints/> | ||||||
|     </columnConstraints> |     </columnConstraints> | ||||||
|     <rowConstraints> |     <rowConstraints> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|     </rowConstraints> |     </rowConstraints> | ||||||
|  |  | ||||||
|     <Label styleClass="mainLabel">Termin anlegen</Label> |     <Label styleClass="mainLabel">Termin anlegen</Label> | ||||||
| @@ -44,9 +45,9 @@ | |||||||
|     <ComboBox fx:id="ComboBoxPriotity" GridPane.columnIndex="1" GridPane.rowIndex="6" maxWidth="200" minWidth="200"> |     <ComboBox fx:id="ComboBoxPriotity" GridPane.columnIndex="1" GridPane.rowIndex="6" maxWidth="200" minWidth="200"> | ||||||
|         <items> |         <items> | ||||||
|             <FXCollections fx:factory="observableArrayList"> |             <FXCollections fx:factory="observableArrayList"> | ||||||
|                 <String fx:value="gering" /> |                 <String fx:value="gering"/> | ||||||
|                 <String fx:value="mittel" /> |                 <String fx:value="mittel"/> | ||||||
|                 <String fx:value="hoch" /> |                 <String fx:value="hoch"/> | ||||||
|             </FXCollections> |             </FXCollections> | ||||||
|         </items> |         </items> | ||||||
|     </ComboBox> |     </ComboBox> | ||||||
| @@ -55,7 +56,7 @@ | |||||||
|     <Label fx:id="labelError" GridPane.columnIndex="1" GridPane.rowIndex="9"/> |     <Label fx:id="labelError" GridPane.columnIndex="1" GridPane.rowIndex="9"/> | ||||||
|  |  | ||||||
|     <HBox GridPane.columnIndex="1" GridPane.rowIndex="10" GridPane.columnSpan="2" alignment="CENTER_RIGHT"> |     <HBox GridPane.columnIndex="1" GridPane.rowIndex="10" GridPane.columnSpan="2" alignment="CENTER_RIGHT"> | ||||||
|         <Button onAction="#abortBtnClick" maxWidth="150" minWidth="150" >Abbrechen</Button> |         <Button onAction="#abortBtnClick" maxWidth="150" minWidth="150">Abbrechen</Button> | ||||||
|         <Button styleClass="mainButton" onAction="#createBtnClick" maxWidth="150" minWidth="150">Anlegen</Button> |         <Button styleClass="mainButton" onAction="#createBtnClick" maxWidth="150" minWidth="150">Anlegen</Button> | ||||||
|     </HBox> |     </HBox> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,15 +5,17 @@ | |||||||
| <?import javafx.scene.image.*?> | <?import javafx.scene.image.*?> | ||||||
| <?import javafx.scene.layout.*?> | <?import javafx.scene.layout.*?> | ||||||
|  |  | ||||||
| <GridPane style="-fx-background-color: #424242;" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.MainController"> | <GridPane style="-fx-background-color: #424242;" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" | ||||||
|  |           fx:controller="main.MainController"> | ||||||
|     <columnConstraints> |     <columnConstraints> | ||||||
|         <ColumnConstraints hgrow="NEVER" maxWidth="60.0" minWidth="60.0" /> |         <ColumnConstraints hgrow="NEVER" maxWidth="60.0" minWidth="60.0"/> | ||||||
|         <ColumnConstraints hgrow="ALWAYS" /> |         <ColumnConstraints hgrow="ALWAYS"/> | ||||||
|     </columnConstraints> |     </columnConstraints> | ||||||
|     <rowConstraints> |     <rowConstraints> | ||||||
|         <RowConstraints vgrow="SOMETIMES" /> |         <RowConstraints vgrow="SOMETIMES"/> | ||||||
|     </rowConstraints> |     </rowConstraints> | ||||||
|     <VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" spacing="5.0" style="-fx-background-color: #525E74;"> |     <VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" spacing="5.0" | ||||||
|  |           style="-fx-background-color: #525E74;"> | ||||||
|         <ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"> |         <ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"> | ||||||
|  |  | ||||||
|         </ImageView> |         </ImageView> | ||||||
| @@ -29,39 +31,42 @@ | |||||||
|     </VBox> |     </VBox> | ||||||
|     <GridPane prefHeight="200.0" prefWidth="222.0" GridPane.columnIndex="1" GridPane.rowIndex="0"> |     <GridPane prefHeight="200.0" prefWidth="222.0" GridPane.columnIndex="1" GridPane.rowIndex="0"> | ||||||
|         <columnConstraints> |         <columnConstraints> | ||||||
|         <ColumnConstraints hgrow="ALWAYS" /> |             <ColumnConstraints hgrow="ALWAYS"/> | ||||||
|             <ColumnConstraints /> |             <ColumnConstraints/> | ||||||
|             <ColumnConstraints /> |             <ColumnConstraints/> | ||||||
|             <ColumnConstraints /> |             <ColumnConstraints/> | ||||||
|             <ColumnConstraints /> |             <ColumnConstraints/> | ||||||
|         </columnConstraints> |         </columnConstraints> | ||||||
|         <rowConstraints> |         <rowConstraints> | ||||||
|             <RowConstraints /> |             <RowConstraints/> | ||||||
|             <RowConstraints vgrow="ALWAYS" /> |             <RowConstraints vgrow="ALWAYS"/> | ||||||
|         </rowConstraints> |         </rowConstraints> | ||||||
|         <Label fx:id="LabelMonth" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" styleClass="labelMonth" textFill="WHITE" GridPane.columnIndex="0" GridPane.rowIndex="0"> |         <Label fx:id="LabelMonth" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" | ||||||
|  |                styleClass="labelMonth" textFill="WHITE" GridPane.columnIndex="0" GridPane.rowIndex="0"> | ||||||
|             Monat |             Monat | ||||||
|             <padding> |             <padding> | ||||||
|                 <Insets left="5" /> |                 <Insets left="5"/> | ||||||
|             </padding> |             </padding> | ||||||
|         </Label> |         </Label> | ||||||
|         <Button onAction="#onBackClick" GridPane.columnIndex="1" maxHeight="1.7976931348623157E308">zurück</Button> |         <Button onAction="#onBackClick" GridPane.columnIndex="1" maxHeight="1.7976931348623157E308">zurück</Button> | ||||||
|         <Button onAction="#onTodayClick" GridPane.columnIndex="2" maxHeight="1.7976931348623157E308">heute</Button> |         <Button onAction="#onTodayClick" GridPane.columnIndex="2" maxHeight="1.7976931348623157E308">heute</Button> | ||||||
|         <Button onAction="#onNextClick" GridPane.columnIndex="3" maxHeight="1.7976931348623157E308">weiter</Button> |         <Button onAction="#onNextClick" GridPane.columnIndex="3" maxHeight="1.7976931348623157E308">weiter</Button> | ||||||
|  |  | ||||||
|         <GridPane fx:id="calendarGrid" gridLinesVisible="true"  styleClass="gridCalendar" GridPane.columnSpan="4" GridPane.columnIndex="0" GridPane.rowIndex="1"> |         <GridPane fx:id="calendarGrid" gridLinesVisible="true" styleClass="gridCalendar" GridPane.columnSpan="4" | ||||||
|  |                   GridPane.columnIndex="0" GridPane.rowIndex="1"> | ||||||
|             <columnConstraints> |             <columnConstraints> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" maxWidth="14.2857142857" minWidth="14.2857142857" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" maxWidth="14.2857142857" minWidth="14.2857142857" | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                                    percentWidth="14.2857142857"/> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|  |                 <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857"/> | ||||||
|             </columnConstraints> |             </columnConstraints> | ||||||
|             <rowConstraints> |             <rowConstraints> | ||||||
|                 <RowConstraints maxHeight="55.0" minHeight="25.0" vgrow="NEVER" /> |                 <RowConstraints maxHeight="55.0" minHeight="25.0" vgrow="NEVER"/> | ||||||
|                 <RowConstraints percentHeight="-Infinity" vgrow="ALWAYS" /> |                 <RowConstraints percentHeight="-Infinity" vgrow="ALWAYS"/> | ||||||
|             </rowConstraints> |             </rowConstraints> | ||||||
|  |  | ||||||
|         </GridPane> |         </GridPane> | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								client/app/src/main/resources/users/create-user.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								client/app/src/main/resources/users/create-user.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  |  | ||||||
							
								
								
									
										40
									
								
								client/app/src/main/resources/users/create-user.fxml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								client/app/src/main/resources/users/create-user.fxml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  |  | ||||||
|  | <?import javafx.scene.control.*?> | ||||||
|  | <?import javafx.scene.layout.*?> | ||||||
|  | <GridPane xmlns="http://javafx.com/javafx" | ||||||
|  |           xmlns:fx="http://javafx.com/fxml" | ||||||
|  |           fx:controller="users.CreateUserController"> | ||||||
|  |     <columnConstraints> | ||||||
|  |         <ColumnConstraints/> | ||||||
|  |         <ColumnConstraints/> | ||||||
|  |         <ColumnConstraints/> | ||||||
|  |         <ColumnConstraints/> | ||||||
|  |     </columnConstraints> | ||||||
|  |     <rowConstraints> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |         <RowConstraints vgrow="ALWAYS" /> | ||||||
|  |     </rowConstraints> | ||||||
|  |  | ||||||
|  |     <Label styleClass="mainLabel" GridPane.columnIndex="2" GridPane.columnSpan="2" >User anlegen</Label> | ||||||
|  |  | ||||||
|  |     <Label styleClass="inputLabel" GridPane.rowIndex="1" GridPane.columnIndex="1">Name:</Label> | ||||||
|  |     <Label styleClass="inputLabel" GridPane.rowIndex="3" GridPane.columnIndex="1">Passwort:</Label> | ||||||
|  |     <Label styleClass="inputLabel" GridPane.rowIndex="4" GridPane.columnIndex="1">Passwort wiederholen:</Label> | ||||||
|  |     <Label styleClass="inputLabel" GridPane.rowIndex="6" GridPane.columnIndex="1">Admin:</Label> | ||||||
|  |  | ||||||
|  |     <TextField fx:id="textName" GridPane.columnIndex="2" GridPane.rowIndex="1" maxWidth="400" minWidth="400"/> | ||||||
|  |     <TextField fx:id="textPassword" GridPane.columnIndex="2" GridPane.rowIndex="3" maxWidth="400" minWidth="400"/> | ||||||
|  |     <TextField fx:id="textPasswordSecond" GridPane.columnIndex="2" GridPane.rowIndex="4" maxWidth="400" minWidth="400"/> | ||||||
|  |  | ||||||
|  |     <CheckBox fx:id="checkBoxIsAdmin" GridPane.columnIndex="2" GridPane.rowIndex="6"/> | ||||||
|  |  | ||||||
|  |     <Label fx:id="labelErrorName" GridPane.columnIndex="3" GridPane.rowIndex="1"/> | ||||||
|  |     <Label fx:id="labelErrorPw" GridPane.columnIndex="3" GridPane.rowIndex="3"/> | ||||||
|  | </GridPane> | ||||||
|  |  | ||||||
| @@ -0,0 +1,37 @@ | |||||||
|  | * { | ||||||
|  |    -fx-base-background-color: #2B2D42; | ||||||
|  |    -fx-base1-background-color: #525E74; | ||||||
|  |  | ||||||
|  |    -fx-main-border-color: #B0B0B0; | ||||||
|  |    -fx-main-text-color: #ffffff; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | GridPane{ | ||||||
|  |     -fx-background-color: #3E415F; | ||||||
|  |     -fx-padding: 20px; | ||||||
|  |     -fx-font-size: 20px; | ||||||
|  |     -fx-font-family: Segoe UI; | ||||||
|  |  | ||||||
|  |     -fx-border-insets: 1; | ||||||
|  |     -fx-border-color: #B0B0B0; | ||||||
|  |     -fx-border-style: solid; | ||||||
|  |     -fx-border-width: 2; | ||||||
|  |     -fx-effect: dropshadow(three-pass-box, rgba(100, 100, 100, 1), 24, 0.5, 0, 0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | Label{ | ||||||
|  |     -fx-text-fill: white; | ||||||
|  |     -fx-max-width: 150px; | ||||||
|  |     -fx-min-width: 150px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .errorLbl{ | ||||||
|  |     -fx-font-weight: bold; | ||||||
|  |         -fx-max-width: 200px; | ||||||
|  |         -fx-text-fill: #ff5555; | ||||||
|  |         -fx-padding: 16px; | ||||||
|  |         -fx-min-height: 140px; | ||||||
|  |         -fx-max-height: 400px; | ||||||
|  |         -fx-wrap-text: true; | ||||||
|  |         -fx-font-size: 16px; | ||||||
|  | } | ||||||
| @@ -1,12 +1,8 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  |  | ||||||
| <?import java.lang.*?> |  | ||||||
| <?import java.util.*?> |  | ||||||
| <?import javafx.scene.*?> |  | ||||||
| <?import javafx.scene.control.*?> | <?import javafx.scene.control.*?> | ||||||
| <?import javafx.scene.layout.*?> | <?import javafx.scene.layout.*?> | ||||||
|  | <GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="users.LoginController"> | ||||||
| <GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"  fx:controller="users.LoginControler"> |  | ||||||
|  |  | ||||||
|     <columnConstraints> |     <columnConstraints> | ||||||
|         <ColumnConstraints/> |         <ColumnConstraints/> | ||||||
| @@ -14,23 +10,23 @@ | |||||||
|         <ColumnConstraints/> |         <ColumnConstraints/> | ||||||
|     </columnConstraints> |     </columnConstraints> | ||||||
|     <rowConstraints> |     <rowConstraints> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|         <RowConstraints vgrow="ALWAYS" /> |         <RowConstraints vgrow="ALWAYS"/> | ||||||
|     </rowConstraints> |     </rowConstraints> | ||||||
|  |  | ||||||
|     <Label GridPane.columnIndex="1">Anmelden</Label> |     <Label GridPane.columnIndex="1">Anmelden</Label> | ||||||
|  |  | ||||||
|     <Label GridPane.rowIndex="1">Username</Label> |     <Label GridPane.rowIndex="1">Username</Label> | ||||||
|     <TextField GridPane.columnIndex="1" GridPane.rowIndex="1" fx:id="userField"></TextField> |     <TextField GridPane.columnIndex="1" GridPane.rowIndex="1" fx:id="userField"/> | ||||||
|     <Label GridPane.columnIndex="2" GridPane.rowIndex="1" fx:id="userErrLabel">Error</Label> |     <Label styleClass="errorLbl" GridPane.columnIndex="2" GridPane.rowIndex="1" fx:id="userErrLabel"/> | ||||||
|  |  | ||||||
|     <Label GridPane.rowIndex="2">Paswort</Label> |     <Label GridPane.rowIndex="2">Paswort</Label> | ||||||
|     <PasswordField GridPane.columnIndex="1" GridPane.rowIndex="2" fx:id="passField"></PasswordField> |     <PasswordField GridPane.columnIndex="1" GridPane.rowIndex="2" fx:id="passField"/> | ||||||
|     <Label GridPane.columnIndex="2" GridPane.rowIndex="2" fx:id="passErrLabel">Error</Label> |     <Label styleClass="errorLbl" GridPane.columnIndex="2" GridPane.rowIndex="2" fx:id="passErrLabel"/> | ||||||
|  |  | ||||||
|     <Button GridPane.columnIndex="1" GridPane.rowIndex="3">Beenden</Button> |     <Button onAction="#abortBtnClick" GridPane.columnIndex="1" GridPane.rowIndex="3">Beenden</Button> | ||||||
|     <Button GridPane.columnIndex="2" GridPane.rowIndex="3">Anmelden</Button> |     <Button onAction="#login" GridPane.columnIndex="2" GridPane.rowIndex="3">Anmelden</Button> | ||||||
|  |  | ||||||
| </GridPane> | </GridPane> | ||||||
|   | |||||||
| @@ -14,18 +14,35 @@ import java.util.*; | |||||||
|  |  | ||||||
| public class DataController { | public class DataController { | ||||||
|  |  | ||||||
|  |     public static long USER_ID = -1; | ||||||
|  |  | ||||||
|     private static final String ALL_EVENTS_ENDPOINT = "http://localhost:8080/vpr/all-events"; |     private static final String ALL_EVENTS_ENDPOINT = "http://localhost:8080/vpr/all-events"; | ||||||
|     private static final String ALL_USERS_ENDPOINT = "http://localhost:8080/vpr/all-users"; |     private static final String ALL_USERS_ENDPOINT = "http://localhost:8080/vpr/all-users"; | ||||||
|     private static final String ADD_EVENT_ENDPOINT = "http://localhost:8080/vpr/add-event"; |     private static final String ADD_EVENT_ENDPOINT = "http://localhost:8080/vpr/add-event"; | ||||||
|     private static final String DELETE_EVENT_ENDPOINT = "http://localhost:8080/vpr/del-event"; |     private static final String DELETE_EVENT_ENDPOINT = "http://localhost:8080/vpr/del-event"; | ||||||
|  |     private static final String LOGIN_ENDPOINT = "http://localhost:8080/vpr/login"; | ||||||
|  |  | ||||||
|     private final HttpRequest httpRequest; |     private final HttpRequest httpRequest; | ||||||
|  |  | ||||||
|     public DataController(){ |     public DataController() { | ||||||
|         httpRequest = new HttpRequest(); |         httpRequest = new HttpRequest(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public void createEvent(Event event){ |     public boolean login(String username, String password) { | ||||||
|  |         try { | ||||||
|  |             USER_ID = Long.parseLong(httpRequest.sendPostRequest( | ||||||
|  |                     LOGIN_ENDPOINT, | ||||||
|  |                     "login=" + username | ||||||
|  |                             + "&password=" + password | ||||||
|  |             )); | ||||||
|  |         } catch (Exception e) { | ||||||
|  |             e.printStackTrace(); | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |         return USER_ID >= 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void createEvent(Event event) { | ||||||
|         try { |         try { | ||||||
|             System.out.println(httpRequest.sendPostRequest(ADD_EVENT_ENDPOINT, event.getAsUrlParam())); |             System.out.println(httpRequest.sendPostRequest(ADD_EVENT_ENDPOINT, event.getAsUrlParam())); | ||||||
|         } catch (Exception e) { |         } catch (Exception e) { | ||||||
| @@ -33,7 +50,7 @@ public class DataController { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public void deleteEvent(int eventId){ |     public void deleteEvent(int eventId) { | ||||||
|         try { |         try { | ||||||
|             System.out.println(httpRequest.sendPostRequest(DELETE_EVENT_ENDPOINT, "eventId=" + eventId)); |             System.out.println(httpRequest.sendPostRequest(DELETE_EVENT_ENDPOINT, "eventId=" + eventId)); | ||||||
|         } catch (Exception e) { |         } catch (Exception e) { | ||||||
| @@ -45,16 +62,16 @@ public class DataController { | |||||||
|         ArrayList<Event> eventList = new ArrayList<>(); |         ArrayList<Event> eventList = new ArrayList<>(); | ||||||
|  |  | ||||||
|         try { |         try { | ||||||
|             String jsonResponse = httpRequest.sendPostRequest(ALL_EVENTS_ENDPOINT, "userId=1"); |             String jsonResponse = httpRequest.sendPostRequest(ALL_EVENTS_ENDPOINT, "userId=" + USER_ID); | ||||||
|             System.out.println(jsonResponse); |             System.out.println(jsonResponse); | ||||||
|  |  | ||||||
|             ObjectMapper objectMapper = new ObjectMapper(); |             ObjectMapper objectMapper = new ObjectMapper(); | ||||||
|             //String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }"; |             //String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }"; | ||||||
|  |  | ||||||
|             for (Object obj : objectMapper.readValue(jsonResponse, Object[].class)){ |             for (Object obj : objectMapper.readValue(jsonResponse, Object[].class)) { | ||||||
|                 ArrayList<Object> list = new ArrayList<>(); |                 ArrayList<Object> list = new ArrayList<>(); | ||||||
|                 if (obj.getClass().isArray()) { |                 if (obj.getClass().isArray()) { | ||||||
|                     list = (ArrayList<Object>) Arrays.asList((Object[])obj); |                     list = (ArrayList<Object>) Arrays.asList((Object[]) obj); | ||||||
|                 } else if (obj instanceof Collection) { |                 } else if (obj instanceof Collection) { | ||||||
|                     list = new ArrayList<>((Collection<?>) obj); |                     list = new ArrayList<>((Collection<?>) obj); | ||||||
|                 } |                 } | ||||||
|   | |||||||
| @@ -66,20 +66,21 @@ public class Event { | |||||||
|                  String end, |                  String end, | ||||||
|                  LocalDateTime date, |                  LocalDateTime date, | ||||||
|                  int ownerId |                  int ownerId | ||||||
|     ) throws IllegalArgumentException{ |     ) throws IllegalArgumentException { | ||||||
|         if(name.length() < 3){ |         if (name.length() < 3) { | ||||||
|             throw new IllegalArgumentException("Der Name muss eine L\u00e4nge von 3 haben."); |             throw new IllegalArgumentException("Der Name muss eine L\u00e4nge von 3 haben."); | ||||||
|         } |         } | ||||||
|         Pattern pattern = Pattern.compile("[A-Za-zÄÖÜäöü0-9 =!?+*/$%€.:,;_<>()-]*"); |         Pattern pattern = Pattern.compile("[A-Za-zÄÖÜäöü0-9 =!?+*/$%€.:,;_<>()-]*"); | ||||||
|         Matcher matcher = pattern.matcher(name); |         Matcher matcher = pattern.matcher(name); | ||||||
|         if(!matcher.matches()){ |         if (!matcher.matches()) { | ||||||
|             throw new IllegalArgumentException("Der Name Darf nur aus Zahlen, Buchstaben und folgenden Sonderzeichen bestehen: =!?+*/$%€.:,;_ <>()-"); |             throw new IllegalArgumentException("Der Name Darf nur aus Zahlen, Buchstaben und " + | ||||||
|  |                     "folgenden Sonderzeichen bestehen: =!?+*/$%€.:,;_ <>()-"); | ||||||
|         } |         } | ||||||
|         if(priority < 0){ |         if (priority < 0) { | ||||||
|             throw new IllegalArgumentException("Bitte eine Priorit\u00e4t w\u00e4hlen."); |             throw new IllegalArgumentException("Bitte eine Priorit\u00e4t w\u00e4hlen."); | ||||||
|         } |         } | ||||||
|         LocalDateTime today = LocalDateTime.now().toLocalDate().atStartOfDay(); |         LocalDateTime today = LocalDateTime.now().toLocalDate().atStartOfDay(); | ||||||
|         if(Duration.between(today, date).isNegative()){ |         if (Duration.between(today, date).isNegative()) { | ||||||
|             throw new IllegalArgumentException("Das Datum muss in der Zukunft liegen."); |             throw new IllegalArgumentException("Das Datum muss in der Zukunft liegen."); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ import java.nio.charset.StandardCharsets; | |||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
|  |  | ||||||
| public class HttpRequest { | public class HttpRequest { | ||||||
|     public String sendPostRequest(String urlString, String urlParameters) throws Exception{ |     public String sendPostRequest(String urlString, String urlParameters) throws Exception { | ||||||
|         byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8); |         byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8); | ||||||
|         int postDataLength = postData.length; |         int postDataLength = postData.length; | ||||||
|  |  | ||||||
| @@ -46,7 +46,7 @@ public class HttpRequest { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public String sendGetRequest(String urlString) throws Exception{ |     public String sendGetRequest(String urlString) throws Exception { | ||||||
|         URL url = new URL(urlString); |         URL url = new URL(urlString); | ||||||
|         HttpURLConnection con = (HttpURLConnection) url.openConnection(); |         HttpURLConnection con = (HttpURLConnection) url.openConnection(); | ||||||
|         con.setRequestMethod("GET"); |         con.setRequestMethod("GET"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user