Compare commits

..

6 Commits

Author SHA1 Message Date
2c3d646c47 Added save login 2022-01-23 21:21:16 +01:00
e021809fd7 use camelCase for static methods 2022-01-23 17:41:40 +01:00
c040e54fb8 Added Config 2022-01-23 17:40:49 +01:00
4020d59284 Added a passwordField 2022-01-23 17:33:26 +01:00
141d294b79 Merge branch 'Add-SVGs' into merge 2022-01-19 11:45:04 +01:00
0132077c62 Added edit and delete event svgs 2022-01-18 12:37:58 +01:00
10 changed files with 164 additions and 26 deletions

View File

@ -3,6 +3,6 @@ package customUI;
public class Button extends javafx.scene.control.Button { public class Button extends javafx.scene.control.Button {
public void setTextValue(String text){ public void setTextValue(String text){
super.setText(Converter.CONVERT_STR(text)); super.setText(Converter.convertString(text));
} }
} }

View File

@ -8,7 +8,7 @@ public class Converter {
ß \u00df ß \u00df
*/ */
@SuppressWarnings("all") @SuppressWarnings("all")
public static String CONVERT_STR(String str){ public static String convertString(String str){
return str return str
.replace("ä", "\u00e4") .replace("ä", "\u00e4")
.replace("Ä", "\u00c4") .replace("Ä", "\u00c4")

View File

@ -2,7 +2,7 @@ package customUI;
public class Label extends javafx.scene.control.Label { public class Label extends javafx.scene.control.Label {
public Label(String content){ public Label(String content){
super(Converter.CONVERT_STR(content)); super(Converter.convertString(content));
} }
public Label(){ public Label(){
@ -10,6 +10,6 @@ public class Label extends javafx.scene.control.Label {
} }
public void setTextValue(String text){ public void setTextValue(String text){
super.setText(Converter.CONVERT_STR(text)); super.setText(Converter.convertString(text));
} }
} }

View File

@ -1,10 +1,13 @@
package main; package main;
import config.Config;
import config.ConfigLoader;
import javafx.application.Application; 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 res.DataController;
import res.HttpRequest;
import java.io.IOException; import java.io.IOException;
import java.util.Objects; import java.util.Objects;
@ -12,22 +15,35 @@ 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 {
Config config = ConfigLoader.load();
if(config == null){
config = new Config(false, -1, "");
}
System.out.println("Ignore 'Illegal reflective access operation'-Warning. See https://github.com/sshahine/JFoenix/issues/1170"); System.out.println("Ignore 'Illegal reflective access operation'-Warning. See https://github.com/sshahine/JFoenix/issues/1170");
if(
!config.isSaveLogin()
|| !new DataController().loginWithToken(config.getId(), config.getToken())
){
// Load login-scene // Load login-scene
FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml")); loadLoginScene();
Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500); }
sceneLogin.getStylesheets().add(Objects.requireNonNull(
MainApplication.class.getResource("../users/login.css")).toExternalForm()
);
Stage stageLogin = new Stage();
stageLogin.setTitle("Anmelden");
stageLogin.setScene(sceneLogin);
stageLogin.showAndWait();
if (DataController.USER_ID >= 0) { if (DataController.USER_ID >= 0) {
if(config.isSaveLogin()){
config.setId(DataController.USER_ID);
config.setToken(HttpRequest.TOKEN);
ConfigLoader.save(config);
}
// Load main-scene // Load main-scene
loadMainScene(stage);
System.out.println("Logged in...");
}
}
private void loadMainScene(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("main-view.fxml")); FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("main-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 1200, 700); Scene scene = new Scene(fxmlLoader.load(), 1200, 700);
@ -37,9 +53,18 @@ public class MainApplication extends Application {
stage.setTitle("SharePlaner"); stage.setTitle("SharePlaner");
stage.setScene(scene); stage.setScene(scene);
stage.show(); stage.show();
System.out.println("Logged in...");
} }
private void loadLoginScene() throws IOException {
FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml"));
Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500);
sceneLogin.getStylesheets().add(Objects.requireNonNull(
MainApplication.class.getResource("../users/login.css")).toExternalForm()
);
Stage stageLogin = new Stage();
stageLogin.setTitle("Anmelden");
stageLogin.setScene(sceneLogin);
stageLogin.showAndWait();
} }
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -4,6 +4,7 @@ import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.control.Label; import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.control.ToggleButton; import javafx.scene.control.ToggleButton;
import javafx.stage.Stage; import javafx.stage.Stage;
@ -13,8 +14,8 @@ import java.util.Objects;
public class CreateUserController { public class CreateUserController {
public TextField textName; public TextField textName;
public TextField textPassword; public PasswordField textPassword;
public TextField textPasswordSecond; public PasswordField textPasswordSecond;
public ToggleButton checkButtonIsAdmin; public ToggleButton checkButtonIsAdmin;
public TextField textLogin; public TextField textLogin;
public TextField textForename; public TextField textForename;

View File

@ -76,3 +76,29 @@ Label{
-fx-background-color: white; -fx-background-color: white;
} }
.editEventBtn{
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.editEventBtn .svg {
-fx-fill: -fill;
}
.editEventBtn:hover .svg {
-fx-fill: -hover-fill;
}
.deleteEventBtn{
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.deleteEventBtn .svg {
-fx-fill: -fill;
}
.deleteEventBtn:hover .svg {
-fx-fill: -hover-fill;
}

View File

@ -37,8 +37,8 @@
<TextField fx:id="textLogin" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="1" /> <TextField fx:id="textLogin" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<TextField fx:id="textForename" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="2" /> <TextField fx:id="textForename" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField fx:id="textName" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="3" /> <TextField fx:id="textName" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="3" />
<TextField fx:id="textPassword" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="4" /> <PasswordField fx:id="textPassword" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="4" />
<TextField fx:id="textPasswordSecond" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="5" /> <PasswordField fx:id="textPasswordSecond" styleClass="textField" GridPane.columnIndex="2" GridPane.rowIndex="5" />
<ToggleButton fx:id="checkButtonIsAdmin" GridPane.columnIndex="2" GridPane.rowIndex="6"/> <ToggleButton fx:id="checkButtonIsAdmin" GridPane.columnIndex="2" GridPane.rowIndex="6"/>

View File

@ -0,0 +1,41 @@
package config;
public class Config {
private boolean saveLogin;
private long id;
private String token;
public Config(){
}
public Config(boolean saveLogin, long id, String token) {
this.saveLogin = saveLogin;
this.id = id;
this.token = token;
}
public boolean isSaveLogin() {
return saveLogin;
}
public void setSaveLogin(boolean saveLogin) {
this.saveLogin = saveLogin;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}

View File

@ -0,0 +1,38 @@
package config;
import com.fasterxml.jackson.databind.ObjectMapper;
import res.DataController;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ConfigLoader {
public static Config load(){
try {
String jsonString = Files.readString(Paths.get("config.json"));
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.findAndRegisterModules();
return objectMapper.readValue(jsonString, Config.class);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static void save(Config config){
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.findAndRegisterModules();
try {
Files.writeString(Paths.get(
"config.json"),
objectMapper.writeValueAsString(config)
);
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@ -62,17 +62,24 @@ public class DataController {
return USER_ID >= 0; return USER_ID >= 0;
} }
public boolean loginWIthToken(String username, String password) { public boolean loginWithToken(long userId, String token) {
try { try {
HttpRequest.TOKEN = token;
Tuple<Integer, String> response = httpRequest.sendPostRequest( Tuple<Integer, String> response = httpRequest.sendPostRequest(
LOGIN_WITH_TOKEN_ENDPOINT, LOGIN_WITH_TOKEN_ENDPOINT,
"userId=" + USER_ID, "userId=" + userId,
true true
); );
System.out.println(response.getKey() + " " + response.getValue());
if(response.getKey() != 200) return false;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
USER_ID = userId;
HttpRequest.TOKEN = token;
return USER_ID >= 0; return USER_ID >= 0;
} }