Skip to content
Snippets Groups Projects
Commit c4b8be8b authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #313 - convert password field to type password (added password confirmation input)

parent 7ea2140b
Branches
Tags v2.17.0
No related merge requests found
Pipeline #157 passed
......@@ -58,19 +58,17 @@ public class SettingsController extends BaseController
@RequestMapping(value = "/settings/save", method = RequestMethod.POST)
public String post(Model model, @ModelAttribute("Settings") Settings settings, BindingResult bindingResult,
@RequestParam(value = "password") String password,
@RequestParam(value = "passwordConfirmation") String passwordConfirmation,
@RequestParam(value = "languageType") String languageType)
{
if(password == null || password.equals(""))
{
bindingResult.addError(new FieldError("Settings", "password", password, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_EMPTY}, null, Strings.WARNING_SETTINGS_PASSWORD_EMPTY));
}
else if(password.length() < 3)
settings.setLanguage(LanguageType.fromName(languageType));
FieldError error = validatePassword(password, passwordConfirmation);
if(error != null)
{
bindingResult.addError(new FieldError("Settings", "password", password, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_LENGTH}, null, Strings.WARNING_SETTINGS_PASSWORD_LENGTH));
bindingResult.addError(error);
}
settings.setLanguage(LanguageType.fromName(languageType));
if(bindingResult.hasErrors())
{
model.addAttribute("error", bindingResult);
......@@ -97,6 +95,30 @@ public class SettingsController extends BaseController
return "redirect:/settings";
}
private FieldError validatePassword(String password, String passwordConfirmation)
{
if(password == null || password.equals(""))
{
return new FieldError("Settings", "password", password, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_EMPTY}, null, Strings.WARNING_SETTINGS_PASSWORD_EMPTY);
}
else if(password.length() < 3)
{
return new FieldError("Settings", "password", password, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_LENGTH}, null, Strings.WARNING_SETTINGS_PASSWORD_LENGTH);
}
if(passwordConfirmation == null || passwordConfirmation.equals(""))
{
return new FieldError("Settings", "passwordConfirmation", passwordConfirmation, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_CONFIRMATION_EMPTY}, null, Strings.WARNING_SETTINGS_PASSWORD_CONFIRMATION_EMPTY);
}
if(!password.equals(passwordConfirmation))
{
return new FieldError("Settings", "passwordConfirmation", passwordConfirmation, false, new String[]{Strings.WARNING_SETTINGS_PASSWORD_CONFIRMATION_WRONG}, null, Strings.WARNING_SETTINGS_PASSWORD_CONFIRMATION_WRONG);
}
return null;
}
@RequestMapping("/settings/database/requestExport")
public void downloadFile(HttpServletResponse response)
{
......
......@@ -217,6 +217,9 @@ public class Strings
public static final String WARNING_WRONG_YEAR = "warning.wrong.year";
public static final String WARNING_SETTINGS_PASSWORD_EMPTY = "warning.settings.password.empty";
public static final String WARNING_SETTINGS_PASSWORD_LENGTH = "warning.settings.password.length";
public static final String WARNING_SETTINGS_PASSWORD_CONFIRMATION_EMPTY = "warning.settings.password.confirmation.empty";
public static final String WARNING_SETTINGS_PASSWORD_CONFIRMATION_WRONG = "warning.settings.password.confirmation.wrong";
//ERROR
public static final String ERROR_UNKNOWN_HOST = "error.unknown.host";
......
......@@ -229,6 +229,8 @@ warning.empty.year=Bitte gib ein Jahr ein.
warning.wrong.year=Bitte gib eine gltige Jahreszahl ein (4 Ziffern).
warning.settings.password.empty=Bitte gib ein Passwort ein.
warning.settings.password.length=Das Passwort muss mindestens drei Zeichen lang sein.
warning.settings.password.confirmation.empty=Bitte gib dein Passwort zur Besttigung erneut ein.
warning.settings.password.confirmation.wrong=Passwort und Passwort Wiederholung stimmen nicht berein.
# ERROR
error.unknown.host=Es konnte keine Verbindung mit dem Internet hergestellt werden.
......@@ -318,6 +320,7 @@ menu.accounts=Konten
category.new.label.name=Name
settings.password=Passwort
settings.password.confirmation=Passwort Wiederholung
settings.currency=Whrung
settings.rest=bertrag
settings.rest.deactivated=Aus
......
......@@ -229,6 +229,8 @@ warning.empty.year=Please enter a year.
warning.wrong.year=Please enter a valid year (4 digits).
warning.settings.password.empty=Please enter a password.
warning.settings.password.length=The password must be at least three characters long.
warning.settings.password.confirmation.empty=Please enter your password again for confirmation.
warning.settings.password.confirmation.wrong=Password and password confirmation do not match.
# ERROR
error.unknown.host=Could not connect to the Internet.
......@@ -318,6 +320,7 @@ menu.accounts=Accounts
category.new.label.name=Name
settings.password=Password
settings.password.confirmation=Password Confirmation
settings.currency=Currency
settings.rest=Rest
settings.rest.deactivated=Off
......
......@@ -24,11 +24,19 @@
<#-- password -->
<div class="row">
<div class="input-field col s12 m12 l8 offset-l2">
<input id="settings-password" type="text" name="password" <@validation.validation "password"/> value="•••••">
<input id="settings-password" type="password" name="password" <@validation.validation "password"/> value="•••••">
<label for="settings-password">${locale.getString("settings.password")}</label>
</div>
</div>
<#-- password confirmation-->
<div class="row">
<div class="input-field col s12 m12 l8 offset-l2">
<input id="settings-password-confirmation" type="password" name="passwordConfirmation" <@validation.validation "passwordConfirmation"/> value="•••••">
<label for="settings-password-confirmation">${locale.getString("settings.password.confirmation")}</label>
</div>
</div>
<#-- currency -->
<div class="row">
<div class="input-field col s12 m12 l8 offset-l2">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment