fix error handling

This commit is contained in:
Hannes Huber 2020-05-25 10:10:42 +02:00
parent 83ad1f3999
commit 60699ed847
2 changed files with 16 additions and 8 deletions

View File

@ -33,9 +33,13 @@ public class UpdateUserSettingsAction {
if(this.user.validatePassword(oldPassword)) if(this.user.validatePassword(oldPassword))
{ {
if(password1.equals(password2)){ if(password1.equals(password2)){
this.user.setPassword(password1); if(!password1.equals(oldPassword)){
this.repository.save(this.user); this.user.setPassword(password1);
result.updated = true; this.repository.save(this.user);
result.updated = true;
}else {
result.errorString = "Die neuen Passwörter entsprechen dem alten Passwort.";
}
}else{ }else{
result.errorString = "Die beiden neuen Passwörter stimmen nicht überein. Bitte versuchen Sie es erneut."; result.errorString = "Die beiden neuen Passwörter stimmen nicht überein. Bitte versuchen Sie es erneut.";
} }
@ -60,7 +64,7 @@ public class UpdateUserSettingsAction {
this.repository.save(this.user); this.repository.save(this.user);
result.updated = true; result.updated = true;
}else{ }else{
result.errorString = "Kreditkartennummer enthält Buchstaben. Bitte versuchen Sie es erneut."; result.errorString = "Kreditkartennummer darf nur Zahlen enthalten. Bitte versuchen Sie es erneut.";
} }
return result; return result;
} }

View File

@ -66,9 +66,10 @@ public class UserController {
UpdateUserSettingsAction.UpdateResult result = cusa.updateEmail(email); UpdateUserSettingsAction.UpdateResult result = cusa.updateEmail(email);
if (result.updated == false) { if (result.updated == false) {
request.setAttribute("error", result.errorString); request.setAttribute("error", result.errorString);
return "user/settings";
} }
return "user/settings"; return "redirect:/user/settings";
} }
@PostMapping("/settings/changePwd") @PostMapping("/settings/changePwd")
@ -84,9 +85,10 @@ public class UserController {
UpdateUserSettingsAction.UpdateResult result = cusa.updatePassword(oldPassword, password1, password2); UpdateUserSettingsAction.UpdateResult result = cusa.updatePassword(oldPassword, password1, password2);
if (result.updated == false) { if (result.updated == false) {
request.setAttribute("error", result.errorString); request.setAttribute("error", result.errorString);
return "user/settings";
} }
return "user/settings"; return "redirect:/user/settings";
} }
@PostMapping("/settings/changeAddress") @PostMapping("/settings/changeAddress")
@ -102,9 +104,10 @@ public class UserController {
UpdateUserSettingsAction.UpdateResult result = cusa.updateShippingInfo(salutation, name, address); UpdateUserSettingsAction.UpdateResult result = cusa.updateShippingInfo(salutation, name, address);
if (result.updated == false) { if (result.updated == false) {
request.setAttribute("error", result.errorString); request.setAttribute("error", result.errorString);
return "user/settings";
} }
return "user/settings"; return "redirect:/user/settings";
} }
@PostMapping("/settings/changePaymentInfo") @PostMapping("/settings/changePaymentInfo")
@ -118,8 +121,9 @@ public class UserController {
UpdateUserSettingsAction.UpdateResult result = cusa.updatePaymentInfo(creditCardNumber); UpdateUserSettingsAction.UpdateResult result = cusa.updatePaymentInfo(creditCardNumber);
if (result.updated == false) { if (result.updated == false) {
request.setAttribute("error", result.errorString); request.setAttribute("error", result.errorString);
return "user/settings";
} }
return "user/settings"; return "redirect:/user/settings";
} }
} }