automatic project update

This commit is contained in:
Julien Dubois 2017-04-05 19:01:19 +02:00
parent 1868a99f89
commit 7730f31227
34 changed files with 189 additions and 178 deletions

View File

@ -24,7 +24,7 @@
"en"
],
"serverPort": 8080,
"jhipsterVersion": "4.1.1",
"jhipsterVersion": "4.2.0",
"enableSocialSignIn": false,
"useSass": false,
"jhiPrefix": "jhi",

View File

@ -1,5 +1,5 @@
# jhipsterSampleApplication
This application was generated using JHipster 4.1.1, you can find documentation and help at [https://jhipster.github.io/documentation-archive/v4.1.1](https://jhipster.github.io/documentation-archive/v4.1.1).
This application was generated using JHipster 4.2.0, you can find documentation and help at [https://jhipster.github.io/documentation-archive/v4.2.0](https://jhipster.github.io/documentation-archive/v4.2.0).
## Development
@ -96,13 +96,13 @@ For more information refer to [Using Docker and Docker-Compose][], this page als
To configure CI for your project, run the ci-cd sub-generator (`yo jhipster:ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration][] page for more information.
[JHipster Homepage and latest documentation]: https://jhipster.github.io
[JHipster 4.1.1 archive]: https://jhipster.github.io/documentation-archive/v4.1.1
[JHipster 4.2.0 archive]: https://jhipster.github.io/documentation-archive/v4.2.0
[Using JHipster in development]: https://jhipster.github.io/documentation-archive/v4.1.1/development/
[Using Docker and Docker-Compose]: https://jhipster.github.io/documentation-archive/v4.1.1/docker-compose
[Using JHipster in production]: https://jhipster.github.io/documentation-archive/v4.1.1/production/
[Running tests page]: https://jhipster.github.io/documentation-archive/v4.1.1/running-tests/
[Setting up Continuous Integration]: https://jhipster.github.io/documentation-archive/v4.1.1/setting-up-ci/
[Using JHipster in development]: https://jhipster.github.io/documentation-archive/v4.2.0/development/
[Using Docker and Docker-Compose]: https://jhipster.github.io/documentation-archive/v4.2.0/docker-compose
[Using JHipster in production]: https://jhipster.github.io/documentation-archive/v4.2.0/production/
[Running tests page]: https://jhipster.github.io/documentation-archive/v4.2.0/running-tests/
[Setting up Continuous Integration]: https://jhipster.github.io/documentation-archive/v4.2.0/setting-up-ci/
[Gatling]: http://gatling.io/
[Node.js]: https://nodejs.org/

View File

@ -1,4 +1,4 @@
// Generated on 2017-03-23 using generator-jhipster 4.1.1
// Generated on 2017-04-05 using generator-jhipster 4.2.0
'use strict';
var gulp = require('gulp'),

View File

@ -12,9 +12,9 @@
"browser-sync": "2.17.0",
"del": "2.2.2",
"eslint-config-angular": "0.5.0",
"eslint-plugin-angular": "1.3.1",
"eslint-plugin-angular": "2.2.1",
"event-stream": "3.3.4",
"generator-jhipster": "4.1.1",
"generator-jhipster": "4.2.0",
"gulp": "3.9.1",
"gulp-angular-filesort": "1.1.1",
"gulp-angular-templatecache": "2.0.0",

38
pom.xml
View File

@ -26,6 +26,8 @@
<commons-io.version>2.5</commons-io.version>
<commons-lang.version>3.5</commons-lang.version>
<docker-maven-plugin.version>0.4.13</docker-maven-plugin.version>
<!-- Overridden to get metrics-jcache -->
<dropwizard-metrics.version>3.2.2</dropwizard-metrics.version>
<frontend-maven-plugin.version>1.3</frontend-maven-plugin.version>
<gatling.version>2.2.3</gatling.version>
<gatling-maven-plugin.version>2.2.1</gatling-maven-plugin.version>
@ -36,10 +38,10 @@
<javassist.version>3.21.0-GA</javassist.version>
<jcache.version>1.0.0</jcache.version>
<jzlib.version>1.1.3</jzlib.version>
<jhipster.server.version>1.1.1</jhipster.server.version>
<jhipster.server.version>1.1.2</jhipster.server.version>
<liquibase-hibernate5.version>3.6</liquibase-hibernate5.version>
<liquibase-slf4j.version>2.0.0</liquibase-slf4j.version>
<logstash-logback-encoder.version>4.8</logstash-logback-encoder.version>
<logstash-logback-encoder.version>4.9</logstash-logback-encoder.version>
<m2e.apt.activation>jdt_apt</m2e.apt.activation>
<mapstruct.version>1.1.0.Final</mapstruct.version>
<maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
@ -119,6 +121,12 @@
<artifactId>metrics-json</artifactId>
<version>${dropwizard-metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jcache</artifactId>
<version>${dropwizard-metrics.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
@ -190,30 +198,10 @@
<groupId>com.ryantenney.metrics</groupId>
<artifactId>metrics-spring</artifactId>
<version>${metrics-spring.version}</version>
<exclusions>
<exclusion>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-annotation</artifactId>
</exclusion>
<exclusion>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-healthchecks</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<exclusions>
<exclusion>
<artifactId>tools</artifactId>
<groupId>com.sun</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@ -270,12 +258,6 @@
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<exclusions>
<exclusion>
<artifactId>jetty-servlet</artifactId>
<groupId>org.eclipse.jetty</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>

View File

@ -1,12 +1,12 @@
package io.github.jhipster.sample.config;
import io.github.jhipster.config.JHipsterProperties;
import io.github.jhipster.config.jcache.JCacheGaugeSet;
import com.codahale.metrics.JmxReporter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Slf4jReporter;
import com.codahale.metrics.health.HealthCheckRegistry;
import com.codahale.metrics.jcache.JCacheGaugeSet;
import com.codahale.metrics.jvm.*;
import com.ryantenney.metrics.spring.config.annotation.EnableMetrics;
import com.ryantenney.metrics.spring.config.annotation.MetricsConfigurerAdapter;

View File

@ -27,7 +27,7 @@ public class Label implements Serializable {
@NotNull
@Size(min = 3)
@Column(name = "label", nullable = false)
@Column(name = "jhi_label", nullable = false)
private String label;
@ManyToMany(mappedBy = "labels")

View File

@ -27,7 +27,7 @@ public class Operation implements Serializable {
private Long id;
@NotNull
@Column(name = "date", nullable = false)
@Column(name = "jhi_date", nullable = false)
private ZonedDateTime date;
@Column(name = "description")

View File

@ -19,9 +19,9 @@ import javax.mail.internet.MimeMessage;
import java.util.Locale;
/**
* Service for sending e-mails.
* Service for sending emails.
* <p>
* We use the @Async annotation to send e-mails asynchronously.
* We use the @Async annotation to send emails asynchronously.
* </p>
*/
@Service
@ -52,7 +52,7 @@ public class MailService {
@Async
public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
log.debug("Send e-mail[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
log.debug("Send email[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
isMultipart, isHtml, to, subject, content);
// Prepare message using a Spring helper
@ -64,15 +64,15 @@ public class MailService {
message.setSubject(subject);
message.setText(content, isHtml);
javaMailSender.send(mimeMessage);
log.debug("Sent e-mail to User '{}'", to);
log.debug("Sent email to User '{}'", to);
} catch (Exception e) {
log.warn("E-mail could not be sent to user '{}'", to, e);
log.warn("Email could not be sent to user '{}'", to, e);
}
}
@Async
public void sendActivationEmail(User user) {
log.debug("Sending activation e-mail to '{}'", user.getEmail());
log.debug("Sending activation email to '{}'", user.getEmail());
Locale locale = Locale.forLanguageTag(user.getLangKey());
Context context = new Context(locale);
context.setVariable(USER, user);
@ -84,7 +84,7 @@ public class MailService {
@Async
public void sendCreationEmail(User user) {
log.debug("Sending creation e-mail to '{}'", user.getEmail());
log.debug("Sending creation email to '{}'", user.getEmail());
Locale locale = Locale.forLanguageTag(user.getLangKey());
Context context = new Context(locale);
context.setVariable(USER, user);
@ -96,7 +96,7 @@ public class MailService {
@Async
public void sendPasswordResetMail(User user) {
log.debug("Sending password reset e-mail to '{}'", user.getEmail());
log.debug("Sending password reset email to '{}'", user.getEmail());
Locale locale = Locale.forLanguageTag(user.getLangKey());
Context context = new Context(locale);
context.setVariable(USER, user);

View File

@ -148,13 +148,15 @@ public class UserService {
* @param lastName last name of user
* @param email email id of user
* @param langKey language key
* @param imageUrl image URL of user
*/
public void updateUser(String firstName, String lastName, String email, String langKey) {
public void updateUser(String firstName, String lastName, String email, String langKey, String imageUrl) {
userRepository.findOneByLogin(SecurityUtils.getCurrentUserLogin()).ifPresent(user -> {
user.setFirstName(firstName);
user.setLastName(lastName);
user.setEmail(email);
user.setLangKey(langKey);
user.setImageUrl(imageUrl);
log.debug("Changed Information for User: {}", user);
});
}
@ -202,7 +204,7 @@ public class UserService {
});
}
@Transactional(readOnly = true)
@Transactional(readOnly = true)
public Page<UserDTO> getAllManagedUsers(Pageable pageable) {
return userRepository.findAllByLoginNot(pageable, Constants.ANONYMOUS_USER).map(UserDTO::new);
}

View File

@ -59,7 +59,7 @@ public class AccountResource {
* POST /register : register the user.
*
* @param managedUserVM the managed user View Model
* @return the ResponseEntity with status 201 (Created) if the user is registered or 400 (Bad Request) if the login or e-mail is already in use
* @return the ResponseEntity with status 201 (Created) if the user is registered or 400 (Bad Request) if the login or email is already in use
*/
@PostMapping(path = "/register",
produces={MediaType.APPLICATION_JSON_VALUE, MediaType.TEXT_PLAIN_VALUE})
@ -72,7 +72,7 @@ public class AccountResource {
return userRepository.findOneByLogin(managedUserVM.getLogin().toLowerCase())
.map(user -> new ResponseEntity<>("login already in use", textPlainHeaders, HttpStatus.BAD_REQUEST))
.orElseGet(() -> userRepository.findOneByEmail(managedUserVM.getEmail())
.map(user -> new ResponseEntity<>("e-mail address already in use", textPlainHeaders, HttpStatus.BAD_REQUEST))
.map(user -> new ResponseEntity<>("email address already in use", textPlainHeaders, HttpStatus.BAD_REQUEST))
.orElseGet(() -> {
User user = userService
.createUser(managedUserVM.getLogin(), managedUserVM.getPassword(),
@ -142,7 +142,7 @@ public class AccountResource {
.findOneByLogin(SecurityUtils.getCurrentUserLogin())
.map(u -> {
userService.updateUser(userDTO.getFirstName(), userDTO.getLastName(), userDTO.getEmail(),
userDTO.getLangKey());
userDTO.getLangKey(), userDTO.getImageUrl());
return new ResponseEntity(HttpStatus.OK);
})
.orElseGet(() -> new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
@ -208,10 +208,10 @@ public class AccountResource {
}
/**
* POST /account/reset_password/init : Send an e-mail to reset the password of the user
* POST /account/reset_password/init : Send an email to reset the password of the user
*
* @param mail the mail of the user
* @return the ResponseEntity with status 200 (OK) if the e-mail was sent, or status 400 (Bad Request) if the e-mail address is not registered
* @return the ResponseEntity with status 200 (OK) if the email was sent, or status 400 (Bad Request) if the email address is not registered
*/
@PostMapping(path = "/account/reset_password/init",
produces = MediaType.TEXT_PLAIN_VALUE)
@ -220,8 +220,8 @@ public class AccountResource {
return userService.requestPasswordReset(mail)
.map(user -> {
mailService.sendPasswordResetMail(user);
return new ResponseEntity<>("e-mail was sent", HttpStatus.OK);
}).orElse(new ResponseEntity<>("e-mail address not registered", HttpStatus.BAD_REQUEST));
return new ResponseEntity<>("email was sent", HttpStatus.OK);
}).orElse(new ResponseEntity<>("email address not registered", HttpStatus.BAD_REQUEST));
}
/**

View File

@ -129,7 +129,7 @@ public class UserResource {
log.debug("REST request to update User : {}", managedUserVM);
Optional<User> existingUser = userRepository.findOneByEmail(managedUserVM.getEmail());
if (existingUser.isPresent() && (!existingUser.get().getId().equals(managedUserVM.getId()))) {
return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "emailexists", "E-mail already in use")).body(null);
return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "emailexists", "Email already in use")).body(null);
}
existingUser = userRepository.findOneByLogin(managedUserVM.getLogin().toLowerCase());
if (existingUser.isPresent() && (!existingUser.get().getId().equals(managedUserVM.getId()))) {

View File

@ -1,5 +1,8 @@
package io.github.jhipster.sample.web.rest.errors;
import java.util.HashMap;
import java.util.Map;
/**
* Custom, parameterized exception, which can be translated on the client side.
* For example:
@ -11,24 +14,36 @@ package io.github.jhipster.sample.web.rest.errors;
* Can be translated with:
*
* <pre>
* "error.myCustomError" : "The server says {{params[0]}} to {{params[1]}}"
* "error.myCustomError" : "The server says {{param0}} to {{param1}}"
* </pre>
*/
public class CustomParameterizedException extends RuntimeException {
private static final long serialVersionUID = 1L;
private static final String PARAM = "param";
private final String message;
private final String[] params;
private final Map<String, String> paramMap = new HashMap<>();
public CustomParameterizedException(String message, String... params) {
super(message);
this.message = message;
this.params = params;
if (params != null && params.length > 0) {
for (int i = 0; i < params.length; i++) {
paramMap.put(PARAM + i, params[i]);
}
}
}
public CustomParameterizedException(String message, Map<String, String> paramMap) {
super(message);
this.message = message;
this.paramMap.putAll(paramMap);
}
public ParameterizedErrorVM getErrorVM() {
return new ParameterizedErrorVM(message, params);
return new ParameterizedErrorVM(message, paramMap);
}
}

View File

@ -1,6 +1,7 @@
package io.github.jhipster.sample.web.rest.errors;
import java.io.Serializable;
import java.util.Map;
/**
* View Model for sending a parameterized error message.
@ -8,20 +9,21 @@ import java.io.Serializable;
public class ParameterizedErrorVM implements Serializable {
private static final long serialVersionUID = 1L;
private final String message;
private final String[] params;
public ParameterizedErrorVM(String message, String... params) {
private final String message;
private final Map<String, String> paramMap;
public ParameterizedErrorVM(String message, Map<String, String> paramMap) {
this.message = message;
this.params = params;
this.paramMap = paramMap;
}
public String getMessage() {
return message;
}
public String[] getParams() {
return params;
public Map<String, String> getParams() {
return paramMap;
}
}

View File

@ -88,6 +88,14 @@ jhipster:
ehcache: # Ehcache configuration
time-to-live-seconds: 3600 # By default objects stay 1 hour in the cache
max-entries: 100 # Number of objects in each cache entry
# CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API
cors:
allowed-origins: "*"
allowed-methods: GET, PUT, POST, DELETE, OPTIONS
allowed-headers: "*"
exposed-headers:
allow-credentials: true
max-age: 1800
security:
remember-me:
# security key (this key should be unique for your application, and kept secret)

View File

@ -22,7 +22,7 @@
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="label" type="varchar(255)">
<column name="jhi_label" type="varchar(255)">
<constraints nullable="false" />
</column>

View File

@ -22,7 +22,7 @@
<column name="id" type="bigint" autoIncrement="${autoIncrement}">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="date" type="timestamp">
<column name="jhi_date" type="timestamp">
<constraints nullable="false" />
</column>
@ -40,7 +40,7 @@
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
</createTable>
<dropDefaultValue tableName="operation" columnName="date" columnDataType="datetime"/>
<dropDefaultValue tableName="operation" columnName="jhi_date" columnDataType="datetime"/>
<createTable tableName="operation_label">
<column name="labels_id" type="bigint">

View File

@ -4,7 +4,7 @@ error.subtitle=Sorry, an error has occurred.
error.status=Status:
error.message=Message:
# Activation e-mail
# Activation email
email.activation.title=jhipsterSampleApplication account activation
email.activation.greeting=Dear {0}
email.activation.text1=Your jhipsterSampleApplication account has been created, please click on the URL below to activate it:
@ -14,7 +14,7 @@ email.signature=jhipsterSampleApplication Team.
# Creation email
email.creation.text1=Your jhipsterSampleApplication account has been created, please click on the URL below to access it:
# Reset e-mail
# Reset email
email.reset.title=jhipsterSampleApplication password reset
email.reset.greeting=Dear {0}
email.reset.text1=For your jhipsterSampleApplication account a password reset was requested, please click on the URL below to reset it:

View File

@ -4,7 +4,7 @@ error.subtitle=Sorry, an error has occurred.
error.status=Status:
error.message=Message:
# Activation e-mail
# Activation email
email.activation.title=jhipsterSampleApplication account activation
email.activation.greeting=Dear {0}
email.activation.text1=Your jhipsterSampleApplication account has been created, please click on the URL below to activate it:
@ -14,7 +14,7 @@ email.signature=jhipsterSampleApplication Team.
# Creation email
email.creation.text1=Your jhipsterSampleApplication account has been created, please click on the URL below to access it:
# Reset e-mail
# Reset email
email.reset.title=jhipsterSampleApplication password reset
email.reset.greeting=Dear {0}
email.reset.text1=For your jhipsterSampleApplication account a password reset was requested, please click on the URL below to reset it:

View File

@ -37,7 +37,7 @@
vm.success = null;
if (response.status === 400 && response.data === 'login already in use') {
vm.errorUserExists = 'ERROR';
} else if (response.status === 400 && response.data === 'e-mail address already in use') {
} else if (response.status === 400 && response.data === 'email address already in use') {
vm.errorEmailExists = 'ERROR';
} else {
vm.error = 'ERROR';

View File

@ -16,7 +16,7 @@
</div>
<div class="alert alert-danger" ng-show="vm.errorEmailExists" data-translate="register.messages.error.emailexists">
<strong>E-mail is already in use!</strong> Please choose another one.
<strong>Email is already in use!</strong> Please choose another one.
</div>
<div class="alert alert-danger" ng-show="vm.doNotMatch" data-translate="global.messages.error.dontmatch">
@ -50,25 +50,25 @@
</div>
</div>
<div class="form-group">
<label class="control-label" for="email" data-translate="global.form.email">E-mail</label>
<label class="control-label" for="email" data-translate="global.form.email">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
ng-model="vm.registerAccount.email" ng-minlength=5 ng-maxlength=100 required>
<div ng-show="form.email.$dirty && form.email.$invalid">
<p class="help-block"
ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
Your e-mail is required.
Your email is required.
</p>
<p class="help-block"
ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
Your e-mail is invalid.
Your email is invalid.
</p>
<p class="help-block"
ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
Your e-mail is required to be at least 5 characters.
Your email is required to be at least 5 characters.
</p>
<p class="help-block"
ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
Your e-mail cannot be longer than 100 characters.
Your email cannot be longer than 100 characters.
</p>
</div>
</div>

View File

@ -27,7 +27,7 @@
vm.success = 'OK';
}).catch(function (response) {
vm.success = null;
if (response.status === 400 && response.data === 'e-mail address not registered') {
if (response.status === 400 && response.data === 'email address not registered') {
vm.errorEmailNotExists = 'ERROR';
} else {
vm.error = 'ERROR';

View File

@ -4,38 +4,38 @@
<h1 data-translate="reset.request.title">Reset your password</h1>
<div class="alert alert-danger" data-translate="reset.request.messages.notfound" ng-show="vm.errorEmailNotExists">
<strong>E-Mail address isn't registered!</strong> Please check and try again.
<strong>Email address isn't registered!</strong> Please check and try again.
</div>
<div class="alert alert-warning" ng-hide="vm.success">
<p data-translate="reset.request.messages.info">Enter the e-mail address you used to register.</p>
<p data-translate="reset.request.messages.info">Enter the email address you used to register.</p>
</div>
<div class="alert alert-success" ng-show="vm.success == 'OK'">
<p data-translate="reset.request.messages.success">Check your e-mails for details on how to reset your password.</p>
<p data-translate="reset.request.messages.success">Check your emails for details on how to reset your password.</p>
</div>
<form ng-show="!vm.success" name="form" role="form" novalidate ng-submit="vm.requestReset()" show-validation>
<div class="form-group">
<label class="control-label" for="email" data-translate="global.form.email">E-mail</label>
<label class="control-label" for="email" data-translate="global.form.email">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
ng-model="vm.resetAccount.email" ng-minlength=5 ng-maxlength=100 required>
<div ng-show="form.email.$dirty && form.email.$invalid">
<p class="help-block"
ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
Your e-mail is required.
Your email is required.
</p>
<p class="help-block"
ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
Your e-mail is invalid.
Your email is invalid.
</p>
<p class="help-block"
ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
Your e-mail is required to be at least 5 characters.
Your email is required to be at least 5 characters.
</p>
<p class="help-block"
ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
Your e-mail cannot be longer than 100 characters.
Your email cannot be longer than 100 characters.
</p>
</div>
</div>

View File

@ -50,25 +50,25 @@
</div>
</div>
<div class="form-group">
<label class="control-label" for="email" data-translate="global.form.email">E-mail</label>
<label class="control-label" for="email" data-translate="global.form.email">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
ng-model="vm.settingsAccount.email" ng-minlength=5 ng-maxlength=100 required maxlength="100">
<div ng-show="form.email.$dirty && form.email.$invalid">
<p class="help-block"
ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
Your e-mail is required.
Your email is required.
</p>
<p class="help-block"
ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
Your e-mail is invalid.
Your email is invalid.
</p>
<p class="help-block"
ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
Your e-mail is required to be at least 5 characters.
Your email is required to be at least 5 characters.
</p>
<p class="help-block"
ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
Your e-mail cannot be longer than 100 characters.
Your email cannot be longer than 100 characters.
</p>
</div>
</div>

View File

@ -76,7 +76,7 @@
</p>
<p class="help-block"
ng-show="editForm.email.$error.email" data-translate="global.messages.validate.email.invalid">
Your e-mail is invalid.
Your email is invalid.
</p>
</div>
</div>

View File

@ -102,7 +102,7 @@
})
.state('user-management-detail', {
parent: 'user-management',
url: '/user/{login}',
url: '/{login}',
data: {
authorities: ['ROLE_ADMIN'],
pageTitle: 'user-management.detail.title'

View File

@ -43,8 +43,8 @@
"newpassword.placeholder": "New password",
"confirmpassword": "New password confirmation",
"confirmpassword.placeholder": "Confirm the new password",
"email": "E-mail",
"email.placeholder": "Your e-mail"
"email": "Email",
"email.placeholder": "Your email"
},
"messages": {
"info": {
@ -67,10 +67,10 @@
"maxlength": "Your confirmation password cannot be longer than 50 characters."
},
"email": {
"required": "Your e-mail is required.",
"invalid": "Your e-mail is invalid.",
"minlength": "Your e-mail is required to be at least 5 characters.",
"maxlength": "Your e-mail cannot be longer than 50 characters."
"required": "Your email is required.",
"invalid": "Your email is invalid.",
"minlength": "Your email is required to be at least 5 characters.",
"maxlength": "Your email cannot be longer than 50 characters."
}
}
},
@ -120,7 +120,7 @@
"NotNull": "Field {{ fieldName }} cannot be empty!",
"Size": "Field {{ fieldName }} does not meet min/max size requirements!",
"userexists": "Login name already used!",
"emailexists": "E-mail is already in use!",
"emailexists": "Email is already in use!",
"idexists": "A new {{ entityName }} cannot already have an ID"
},
"footer": "This is your footer"

View File

@ -17,7 +17,7 @@
"error": {
"fail": "<strong>Registration failed!</strong> Please try again later.",
"userexists": "<strong>Login name already registered!</strong> Please choose another one.",
"emailexists": "<strong>E-mail is already in use!</strong> Please choose another one."
"emailexists": "<strong>Email is already in use!</strong> Please choose another one."
}
}
}

View File

@ -6,9 +6,9 @@
"button": "Reset password"
},
"messages": {
"info": "Enter the e-mail address you used to register",
"success": "Check your e-mails for details on how to reset your password.",
"notfound": "<strong>E-Mail address isn't registered!</strong> Please check and try again"
"info": "Enter the email address you used to register",
"success": "Check your emails for details on how to reset your password.",
"notfound": "<strong>Email address isn't registered!</strong> Please check and try again"
}
},
"finish" : {

View File

@ -12,7 +12,7 @@
"messages": {
"error": {
"fail": "<strong>An error has occurred!</strong> Settings could not be saved.",
"emailexists": "<strong>E-mail is already in use!</strong> Please choose another one."
"emailexists": "<strong>Email is already in use!</strong> Please choose another one."
},
"success": "<strong>Settings saved!</strong>",
"validate": {

View File

@ -148,7 +148,7 @@ public class AccountResourceIntTest {
"password", // password
"Joe", // firstName
"Shmoe", // lastName
"joe@example.com", // e-mail
"joe@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -177,7 +177,7 @@ public class AccountResourceIntTest {
"password", // password
"Funky", // firstName
"One", // lastName
"funky@example.com", // e-mail
"funky@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -206,7 +206,7 @@ public class AccountResourceIntTest {
"password", // password
"Bob", // firstName
"Green", // lastName
"invalid", // e-mail <-- invalid
"invalid", // email <-- invalid
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -235,7 +235,7 @@ public class AccountResourceIntTest {
"123", // password with only 3 digits
"Bob", // firstName
"Green", // lastName
"bob@example.com", // e-mail
"bob@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -265,7 +265,7 @@ public class AccountResourceIntTest {
"password", // password
"Alice", // firstName
"Something", // lastName
"alice@example.com", // e-mail
"alice@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -307,7 +307,7 @@ public class AccountResourceIntTest {
"password", // password
"John", // firstName
"Doe", // lastName
"john@example.com", // e-mail
"john@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -317,7 +317,7 @@ public class AccountResourceIntTest {
null, // lastModifiedDate
new HashSet<>(Arrays.asList(AuthoritiesConstants.USER)));
// Duplicate e-mail, different login
// Duplicate email, different login
ManagedUserVM duplicatedUser = new ManagedUserVM(validUser.getId(), "johnjr", validUser.getPassword(), validUser.getLogin(), validUser.getLastName(),
validUser.getEmail(), true, validUser.getImageUrl(), validUser.getLangKey(), validUser.getCreatedBy(), validUser.getCreatedDate(), validUser.getLastModifiedBy(), validUser.getLastModifiedDate(), validUser.getAuthorities());
@ -328,7 +328,7 @@ public class AccountResourceIntTest {
.content(TestUtil.convertObjectToJsonBytes(validUser)))
.andExpect(status().isCreated());
// Duplicate e-mail
// Duplicate email
restMvc.perform(
post("/api/register")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
@ -348,7 +348,7 @@ public class AccountResourceIntTest {
"password", // password
"Bad", // firstName
"Guy", // lastName
"badguy@example.com", // e-mail
"badguy@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey
@ -378,7 +378,7 @@ public class AccountResourceIntTest {
"funky-log!n", // login <-- invalid
"Funky", // firstName
"One", // lastName
"funky@example.com", // e-mail
"funky@example.com", // email
true, // activated
"http://placehold.it/50x50", //imageUrl
"en", // langKey

View File

@ -77,11 +77,11 @@ describe('Controller Tests', function() {
expect($scope.vm.error).toBeNull();
});
it('should notify of email existence upon 400/e-mail address already in use', function() {
it('should notify of email existence upon 400/email address already in use', function() {
// given
MockAuth.createAccount.and.returnValue($q.reject({
status: 400,
data: 'e-mail address already in use'
data: 'email address already in use'
}));
createController();
$scope.vm.registerAccount.password = $scope.vm.confirmPassword = 'password';

View File

@ -71,11 +71,11 @@ describe('Controller Tests', function() {
expect($scope.vm.error).toBeNull();
expect($scope.vm.errorEmailNotExists).toBeNull();
});
it('notifies of unknown email upon e-mail address not registered/400', function() {
it('notifies of unknown email upon email address not registered/400', function() {
// given
MockAuth.resetPasswordInit.and.returnValue($q.reject({
status: 400,
data: 'e-mail address not registered'
data: 'email address not registered'
}));
createController();
$scope.vm.resetAccount.email = 'user@domain.com';

104
yarn.lock
View File

@ -26,14 +26,14 @@ acorn-jsx@^3.0.0:
dependencies:
acorn "^3.0.4"
acorn@4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
acorn@^5.0.1:
version "5.0.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
acorn@~2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.6.4.tgz#eb1f45b4a43fa31d03701a5ec46f3b52673e90ee"
@ -233,8 +233,8 @@ async@1.5.2, async@1.x, async@^1.0.0, async@^1.2.1, async@^1.4.0, async@^1.4.2,
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
async@^2.0.0, async@^2.0.1:
version "2.1.5"
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
version "2.3.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
dependencies:
lodash "^4.14.0"
@ -588,8 +588,8 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.3.0"
caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
version "1.0.30000640"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000640.tgz#7b7fd3cf13c0d9d41f8754b577b202113e2be7ca"
version "1.0.30000649"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000649.tgz#1ee1754a6df235450c8b7cd15e0ebf507221a86a"
capture-stack-trace@^1.0.0:
version "1.0.0"
@ -1017,8 +1017,8 @@ content-type@~1.0.2:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
convert-source-map@^1.1.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3"
version "1.5.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
convert-source-map@~1.1.2:
version "1.1.3"
@ -1522,8 +1522,8 @@ ejs@2.5.6, ejs@^2.3.1:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
electron-to-chromium@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.8.tgz#22c2e6200d350da27d6050db7e3f6f85d18cf4ed"
version "1.3.2"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.2.tgz#b8ce5c93b308db0e92f6d0435c46ddec8f6363ab"
emitter-steward@^1.0.0:
version "1.0.0"
@ -1723,13 +1723,13 @@ eslint-config-angular@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz#e0aae0132e39e7467df3f7547fec81a44d3685c4"
eslint-plugin-angular@1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-1.3.1.tgz#2b0dbc0738e3e2ac16f1cc525b3e2410c31984e0"
eslint-plugin-angular@2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-2.2.1.tgz#2fe426808d675114c5d78c8b25642499053cae92"
eslint@^3.0.0:
version "3.18.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.18.0.tgz#647e985c4ae71502d20ac62c109f66d5104c8a4b"
version "3.19.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
@ -1768,10 +1768,10 @@ eslint@^3.0.0:
user-home "^2.0.0"
espree@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
version "3.4.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.1.tgz#28a83ab4aaed71ed8fe0f5efe61b76a05c13c4d2"
dependencies:
acorn "4.0.4"
acorn "^5.0.1"
acorn-jsx "^3.0.0"
esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
@ -2291,9 +2291,9 @@ generate-object-property@^1.1.0:
dependencies:
is-property "^1.0.0"
generator-jhipster@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/generator-jhipster/-/generator-jhipster-4.1.1.tgz#363ee02d10b49f7a4720d1041738154a29493564"
generator-jhipster@4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/generator-jhipster/-/generator-jhipster-4.2.0.tgz#cddd97d5e03904d00a6829eb8d59e7de687e0110"
dependencies:
chalk "1.1.3"
cheerio "0.22.0"
@ -2301,7 +2301,7 @@ generator-jhipster@4.1.1:
glob "7.1.1"
html-wiring "1.2.0"
insight "0.8.4"
jhipster-core "1.2.8"
jhipster-core "1.2.9"
js-yaml "3.8.2"
lodash "4.17.4"
mkdirp "0.5.1"
@ -2496,8 +2496,8 @@ global-prefix@^0.1.4:
which "^1.2.12"
globals@^9.14.0:
version "9.16.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80"
version "9.17.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
globby@^2.0.0:
version "2.1.0"
@ -3194,8 +3194,8 @@ imagemin-optipng@^5.1.0:
optipng-bin "^3.0.0"
imagemin-svgo@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.0.tgz#5130614ac18cb7b2b1ca005386681c51ceb2bb34"
version "5.2.1"
resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.1.tgz#74d593ce4cbe1b87efdb3d06a4a56078f71a8147"
dependencies:
is-svg "^2.0.0"
svgo "^0.7.0"
@ -3354,8 +3354,8 @@ insight@^0.7.0:
tough-cookie "^2.0.0"
interpret@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
version "1.0.2"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d"
invert-kv@^1.0.0:
version "1.0.0"
@ -3763,9 +3763,9 @@ jasminewd2@0.0.9:
version "0.0.9"
resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-0.0.9.tgz#d6be40841d440dbe1ceee5a078de62683b0e56a7"
jhipster-core@1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/jhipster-core/-/jhipster-core-1.2.8.tgz#2211a468761a7132c5ddc7f101400e2fc57d5be4"
jhipster-core@1.2.9:
version "1.2.9"
resolved "https://registry.yarnpkg.com/jhipster-core/-/jhipster-core-1.2.9.tgz#f6ab3eda8f2dbae2a593ce6af51b5ed23a45cb88"
dependencies:
lodash "4.17.4"
@ -4484,15 +4484,15 @@ mime-db@~1.12.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-db@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
version "2.1.15"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
dependencies:
mime-db "~1.26.0"
mime-db "~1.27.0"
mime-types@~2.0.4:
version "2.0.14"
@ -4723,8 +4723,10 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
validate-npm-package-license "^3.0.1"
normalize-path@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
dependencies:
remove-trailing-separator "^1.0.1"
normalize-range@^0.1.2:
version "0.1.2"
@ -5551,8 +5553,8 @@ raw-body@~2.2.0:
unpipe "1.0.0"
rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea"
version "1.2.1"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
dependencies:
deep-extend "~0.4.0"
ini "~1.3.0"
@ -6784,11 +6786,11 @@ type-check@~0.3.2:
prelude-ls "~1.1.2"
type-is@~1.6.14:
version "1.6.14"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2"
version "1.6.15"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
dependencies:
media-typer "0.3.0"
mime-types "~2.1.13"
mime-types "~2.1.15"
typedarray@^0.0.6, typedarray@~0.0.5:
version "0.0.6"
@ -6940,8 +6942,8 @@ user-home@^2.0.0:
os-homedir "^1.0.0"
useragent@^2.1.9:
version "2.1.12"
resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.12.tgz#aa7da6cdc48bdc37ba86790871a7321d64edbaa2"
version "2.1.13"
resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
dependencies:
lru-cache "2.2.x"
tmp "0.0.x"
@ -6971,8 +6973,8 @@ uuid@^3.0.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
v8flags@^2.0.2:
version "2.0.11"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"
version "2.0.12"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.12.tgz#73235d9f7176f8e8833fb286795445f7938d84e5"
dependencies:
user-home "^1.1.1"