Merge pull request #51 from Quantum-P3/feature/US-04
Modificacion requeridas por QA para restablecer contraseña
This commit is contained in:
commit
5bdcaa3db7
|
@ -168,7 +168,11 @@ public class AccountResource {
|
|||
public void requestPasswordReset(@RequestBody String mail) {
|
||||
Optional<User> user = userService.requestPasswordReset(mail);
|
||||
if (user.isPresent()) {
|
||||
if (user.get().getFirstName() == null || (!user.get().getFirstName().equals("IsGoogle"))) {
|
||||
mailService.sendPasswordResetMail(user.get());
|
||||
} else {
|
||||
throw new UserIsGoogleException();
|
||||
}
|
||||
} else {
|
||||
// Pretend the request has been successful to prevent checking which emails really exist
|
||||
// but log that an invalid attempt has been made
|
||||
|
|
|
@ -13,6 +13,7 @@ public final class ErrorConstants {
|
|||
public static final URI EMAIL_ALREADY_USED_TYPE = URI.create(PROBLEM_BASE_URL + "/email-already-used");
|
||||
public static final URI LOGIN_ALREADY_USED_TYPE = URI.create(PROBLEM_BASE_URL + "/login-already-used");
|
||||
public static final URI EMAIL_NOT_EXISTS_TYPE = URI.create(PROBLEM_BASE_URL + "/email-not-exists");
|
||||
public static final URI USER_IS_GOOGLE_TYOE = URI.create(PROBLEM_BASE_URL + "/user-is-google");
|
||||
|
||||
private ErrorConstants() {}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
package org.datasurvey.web.rest.errors;
|
||||
|
||||
public class UserIsGoogleException extends BadRequestAlertException {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public UserIsGoogleException() {
|
||||
super(ErrorConstants.USER_IS_GOOGLE_TYOE, "User Is Google", "userManagement", "userisgoogle");
|
||||
}
|
||||
}
|
|
@ -15,13 +15,13 @@ email.signature=Equipo de DataSurvey
|
|||
email.creation.text1=Su cuenta en DataSurvey ha sido creada. Por favor, haga clic en el siguiente enlace para utilizarla:
|
||||
|
||||
# Reset email
|
||||
email.reset.title=Reinicio de contraseña de DataSurvey
|
||||
email.reset.title=Restablecer contraseña de DataSurvey
|
||||
email.reset.greeting=¡Hola, {0}!
|
||||
email.reset.text1=Se ha solicitado el reinicio de la contraseña para su cuenta en DataSurvey. Por favor, haga clic en el siguiente enlace para reiniciarla:
|
||||
email.reset.text1=Se ha solicitado una modificación de contraseña para su cuenta en DataSurvey. Por favor haga clic en el siguiente enlace para restablecerla.
|
||||
email.reset.text2=Saludos,
|
||||
|
||||
# Password Restored Mail
|
||||
email.restored.title=Se restaleció su contraseña en DataSurvey
|
||||
email.restored.title=Se restableció su contraseña en DataSurvey
|
||||
email.restored.greeting=¡Hola, {0}!
|
||||
email.restored.text1=Se ha restablecido correctamente su contraseña en DataSurvey.
|
||||
email.restored.text2=Saludos,
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
<td style="text-align: left; padding-left: 5px; padding-right: 5px">
|
||||
<h3 class="heading">Información de contacto</h3>
|
||||
<ul>
|
||||
<li><span class="text">datasurvey@gmail.com</span></li>
|
||||
<li><span href="mailto:datasurveyapp@gmail.com" class="text">datasurveyapp@gmail.com</span></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
<td style="text-align: left; padding-left: 5px; padding-right: 5px">
|
||||
<h3 class="heading">Información de contacto</h3>
|
||||
<ul>
|
||||
<li><span class="text">datasurvey@gmail.com</span></li>
|
||||
<li><span href="mailto:datasurveyapp@gmail.com" class="text">datasurveyapp@gmail.com</span></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
<td style="text-align: left; padding-left: 5px; padding-right: 5px">
|
||||
<h3 class="heading">Información de contacto</h3>
|
||||
<ul>
|
||||
<li><span class="text">datasurvey@gmail.com</span></li>
|
||||
<li><span href="mailto:datasurveyapp@gmail.com" class="text">datasurveyapp@gmail.com</span></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -267,7 +267,7 @@
|
|||
>If you did not make this change, please notify the following email immediately</span
|
||||
>
|
||||
|
||||
<a th:href="#{'mailto:'+email.restored.email}" th:text="#{email.restored.email}">datasurvey@gmail.com</a>
|
||||
<a href="mailto:datasurveyapp@gmail.com" th:text="#{email.restored.email}">datasurveyapp@gmail.com</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="text" style="padding: 0.2em 2.5em 0.5em; text-align: center">
|
||||
|
@ -306,7 +306,7 @@
|
|||
<td style="text-align: left; padding-left: 5px; padding-right: 5px">
|
||||
<h3 class="heading">Información de contacto</h3>
|
||||
<ul>
|
||||
<li><span class="text">datasurvey@gmail.com</span></li>
|
||||
<li><span href="mailto:datasurveyapp@gmail.com" class="text">datasurveyapp@gmail.com</span></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -27,12 +27,15 @@
|
|||
</div>
|
||||
|
||||
<div class="alert alert-danger" *ngIf="errorEmailNotExists" jhiTranslate="reset.request.messages.error.emailnotexists">
|
||||
<strong>Email no exists!</strong> Please choose another one.
|
||||
<strong>Email no exists!</strong>
|
||||
</div>
|
||||
<div class="alert alert-danger" *ngIf="errorUserIsGoogle" jhiTranslate="reset.request.messages.error.userisgoogle">
|
||||
<strong>No cuenta con el permiso de restablecer su contraseña al haber activado su cuenta por medio de Google</strong>
|
||||
</div>
|
||||
</div>
|
||||
<form *ngIf="!success" name="form" class="ds-form" role="form" (ngSubmit)="requestReset()" [formGroup]="resetRequestForm">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="email" jhiTranslate="global.form.email.label">Email</label>
|
||||
<label class="form-control-label" for="email" jhiTranslate="global.form.email.label">Email</label>
|
||||
<input
|
||||
type="email"
|
||||
class="form-control"
|
||||
|
@ -65,25 +68,6 @@
|
|||
>
|
||||
Your email is invalid.
|
||||
</small>
|
||||
|
||||
<small
|
||||
class="form-text text-danger"
|
||||
*ngIf="resetRequestForm.get('email')?.errors?.minlength"
|
||||
jhiTranslate="global.messages.validate.email.minlength"
|
||||
>
|
||||
Your email is required to be at least 5 characters.
|
||||
</small>
|
||||
|
||||
<small
|
||||
class="form-text text-danger"
|
||||
*ngIf="resetRequestForm.get('email')?.errors?.maxlength"
|
||||
jhiTranslate="global.messages.validate.email.maxlength"
|
||||
>
|
||||
Your email cannot be longer than 100 characters.
|
||||
</small>
|
||||
<small class="form-text text-danger" *ngIf="resetRequestForm.get('email')?.errors?.email">
|
||||
Se requiere un correo electrónico válido.
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import { FormBuilder, Validators } from '@angular/forms';
|
|||
|
||||
import { PasswordResetInitService } from './password-reset-init.service';
|
||||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { EMAIL_NOT_EXISTS_TYPE } from '../../../config/error.constants';
|
||||
import { EMAIL_NOT_EXISTS_TYPE, USER_IS_GOOGLE_TYPE } from '../../../config/error.constants';
|
||||
|
||||
@Component({
|
||||
selector: 'jhi-password-reset-init',
|
||||
|
@ -13,6 +13,7 @@ export class PasswordResetInitComponent implements AfterViewInit {
|
|||
@ViewChild('email', { static: false })
|
||||
email?: ElementRef;
|
||||
errorEmailNotExists = false;
|
||||
errorUserIsGoogle = false;
|
||||
error = false;
|
||||
success = false;
|
||||
resetRequestForm = this.fb.group({
|
||||
|
@ -29,6 +30,7 @@ export class PasswordResetInitComponent implements AfterViewInit {
|
|||
|
||||
requestReset(): void {
|
||||
this.errorEmailNotExists = false;
|
||||
this.errorUserIsGoogle = false;
|
||||
this.passwordResetInitService.save(this.resetRequestForm.get(['email'])!.value).subscribe(
|
||||
() => (this.success = true),
|
||||
response => this.processError(response)
|
||||
|
@ -42,6 +44,8 @@ export class PasswordResetInitComponent implements AfterViewInit {
|
|||
processError(response: HttpErrorResponse): void {
|
||||
if (response.status === 400 && response.error.type === EMAIL_NOT_EXISTS_TYPE) {
|
||||
this.errorEmailNotExists = true;
|
||||
} else if (response.status === 400 && response.error.type === USER_IS_GOOGLE_TYPE) {
|
||||
this.errorUserIsGoogle = true;
|
||||
} else {
|
||||
this.error = true;
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ describe('Component Tests', () => {
|
|||
login: '',
|
||||
langKey: 'es',
|
||||
name: '',
|
||||
firstName: 'normalUser',
|
||||
profileIcon: 1,
|
||||
isAdmin: 0,
|
||||
isGoogle: 0,
|
||||
|
|
|
@ -84,6 +84,7 @@ export class RegisterComponent implements AfterViewInit {
|
|||
const login = this.registerForm.get(['email'])!.value;
|
||||
const email = this.registerForm.get(['email'])!.value;
|
||||
const name = this.registerForm.get(['name'])!.value;
|
||||
const firstName = 'normalUser';
|
||||
|
||||
this.registerService
|
||||
.save({
|
||||
|
@ -92,6 +93,7 @@ export class RegisterComponent implements AfterViewInit {
|
|||
password,
|
||||
langKey: this.translateService.currentLang,
|
||||
name,
|
||||
firstName,
|
||||
profileIcon: this.profileIcon,
|
||||
isAdmin: 0,
|
||||
isGoogle: 0,
|
||||
|
|
|
@ -7,6 +7,7 @@ export class Registration {
|
|||
public name: string,
|
||||
public profileIcon: number,
|
||||
public isAdmin: number,
|
||||
public isGoogle: number
|
||||
public isGoogle: number,
|
||||
public firstName: string
|
||||
) {}
|
||||
}
|
||||
|
|
|
@ -246,7 +246,7 @@
|
|||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="form-group w-100">
|
||||
<label for="iconoPerfil">Ícono de perfil</label>
|
||||
<label>Ícono de perfil</label>
|
||||
<div class="d-flex">
|
||||
<jhi-swiper style="width: 22.5rem !important" [data]="profileIcons" (onSelectEvent)="selectIcon($event)"></jhi-swiper>
|
||||
</div>
|
||||
|
|
|
@ -2,3 +2,4 @@ export const PROBLEM_BASE_URL = 'https://www.jhipster.tech/problem';
|
|||
export const EMAIL_ALREADY_USED_TYPE = PROBLEM_BASE_URL + '/email-already-used';
|
||||
export const LOGIN_ALREADY_USED_TYPE = PROBLEM_BASE_URL + '/login-already-used';
|
||||
export const EMAIL_NOT_EXISTS_TYPE = PROBLEM_BASE_URL + '/email-not-exists';
|
||||
export const USER_IS_GOOGLE_TYPE = PROBLEM_BASE_URL + '/user-is-google';
|
||||
|
|
|
@ -63,6 +63,7 @@ describe('Component Tests', () => {
|
|||
login: '',
|
||||
langKey: 'es',
|
||||
name: '',
|
||||
firstName: 'userNormal',
|
||||
profileIcon: 1,
|
||||
isAdmin: 1,
|
||||
isGoogle: 0,
|
||||
|
|
|
@ -82,7 +82,7 @@ export class UsuarioExtraUpdateComponent {
|
|||
const login = this.registerForm.get(['email'])!.value;
|
||||
const email = this.registerForm.get(['email'])!.value;
|
||||
const name = this.registerForm.get(['name'])!.value;
|
||||
|
||||
const firstName = 'userNormal';
|
||||
this.registerService
|
||||
.save({
|
||||
login,
|
||||
|
@ -90,6 +90,7 @@ export class UsuarioExtraUpdateComponent {
|
|||
password,
|
||||
langKey: this.translateService.currentLang,
|
||||
name,
|
||||
firstName,
|
||||
profileIcon: this.profileIcon,
|
||||
isAdmin: 1,
|
||||
isGoogle: 0,
|
||||
|
|
|
@ -142,6 +142,7 @@ export class LoginComponent implements OnInit, AfterViewInit {
|
|||
password: this.user.id,
|
||||
langKey: this.translateService.currentLang,
|
||||
name: this.user.name,
|
||||
firstName: 'IsGoogle',
|
||||
profileIcon: this.randomProfilePic(),
|
||||
isAdmin: 0,
|
||||
isGoogle: 1,
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
"button": "Restablecer la contraseña"
|
||||
},
|
||||
"messages": {
|
||||
"info": "Introduzca la dirección de correo electrónico que utilizó para registrarse",
|
||||
"success": "Revise su correo electrónico para obtener más información sobre cómo restablecer su contraseña.",
|
||||
"info": "Introduzca su dirección de correo electrónico",
|
||||
"success": "Revise su correo electrónico para restablecer su contraseña.",
|
||||
"error": {
|
||||
"emailnotexists": "<strong>¡El correo electrónico no se encuentra registrado en el sistema!</strong> Por favor, ingrese otro email."
|
||||
"emailnotexists": "<strong>No existe una cuenta creada con esa dirección de correo electrónico</strong>",
|
||||
"userisgoogle": "<strong>No cuenta con el permiso de restablecer su contraseña al haber activado su cuenta por medio de Google</strong>"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -20,7 +21,7 @@
|
|||
},
|
||||
"messages": {
|
||||
"info": "Elija una contraseña nueva",
|
||||
"success": "<strong>Su contraseña ha sido restablecida.</strong> Por favor, ",
|
||||
"success": "<strong>Su contraseña ha sido restablecida.</strong>",
|
||||
"keymissing": "Falta la clave de reinicio.",
|
||||
"error": "Su contraseña no puede ser restablecida. Recuerde que una solicitud de reinicio de contraseña sólo es válida durante 24 horas."
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue