validaciones y fix mensajes de correos

This commit is contained in:
Mariela Bonilla 2021-08-01 19:05:42 -06:00
parent 7545affd77
commit af8394b222
3 changed files with 61 additions and 14 deletions

View File

@ -55,12 +55,12 @@ email.private.text2=Saludos,
#Invitation Colaborator
email.invitation.title=Se le ha invitado a colaborar en una encuesta
email.invitation.greeting=¡Nueva invitacion, {0}!
email.invitation.text1=Fue invitado a la encuesta "{0}(#{1})". Para aceptar la solicitud de colaborador, ingrese al área de colaboraciones.
email.invitation.greeting=¡Nueva invitación, {0}!
email.invitation.text1=Fue invitado a la encuesta "{0}(#{1})". Para aceptar la solicitud de colaborador, ingrese al área de colaboraciones
email.invitation.text2=Saludos,
#Delete Colaborator
email.deleteColaborator.title=Se le ha expulsado de una encuesta como colaborador
email.deleteColaborator.greeting=¡Se le ha expulsado, {0}!
email.deleteColaborator.text1=Fue expulsado de la encuesta {0}(#{1})".
email.deleteColaborator.text1=Fue expulsado de la encuesta {0}(#{1})"
email.deleteColaborator.text2=Saludos,

View File

@ -524,6 +524,12 @@
<div *ngIf="userCollabNotExist" class="alert alert-danger alert-dismissible fade show" role="alert">
No existe un usuario con ese correo
</div>
<div *ngIf="userCollabIsCollab" class="alert alert-danger alert-dismissible fade show" role="alert">
Este usuario ya se encuentra colaborando
</div>
<div *ngIf="userCollabIsAutor" class="alert alert-danger alert-dismissible fade show" role="alert">
Usted es el autor de la encuesta, no puede ser colaborador
</div>
<div>
<div class="mb-5">
<p class="ds-subtitle">Correo electrónico</p>
@ -575,7 +581,13 @@
</div>
</div>
<div class="modal-footer">
<button id="btnCancelAddColaboradores" type="button" class="ds-btn ds-btn--secondary" data-dismiss="modal">
<button
id="btnCancelAddColaboradores"
(click)="resetFormAddCollab()"
type="button"
class="ds-btn ds-btn--secondary"
data-dismiss="modal"
>
<fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span>Cancelar</span>
</button>
<button

View File

@ -126,6 +126,8 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
userPublicCollab: IUser | null = null;
usuarioExtraCollab: UsuarioExtra | null = null;
userCollabNotExist: boolean = false;
userCollabIsCollab: boolean = false;
userCollabIsAutor: boolean = false;
constructor(
protected encuestaService: EncuestaService,
protected categoriaService: CategoriaService,
@ -663,8 +665,17 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
}
}
resetFormAddCollab(): void {
this.editFormAddCollab.reset();
this.userPublicCollab = null;
}
saveAddCollab(): void {
this.isSavingAddCollab = true;
this.userCollabIsAutor = false;
this.userCollabIsCollab = false;
this.userCollabNotExist = false;
const collab = this.createFromFormCollab();
let rol = this.editFormAddCollab.get('rol_add')!.value;
if (rol === 'READ') {
@ -679,6 +690,13 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
.pipe(
finalize(() => {
if (this.userPublicCollab?.id !== undefined) {
if (correoCollab === this.usuarioExtra?.user?.login) {
this.userCollabIsAutor = true;
this.isSavingAddCollab = false;
} else if (this.validarUserIsCollab(correoCollab)) {
this.userCollabIsCollab = true;
this.isSavingAddCollab = false;
} else {
this.usuarioExtraService.find(this.userPublicCollab?.id).subscribe(res => {
this.usuarioExtraCollab = res.body;
let now = new Date();
@ -689,9 +707,12 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
let id = 0;
this.subscribeToSaveResponseAddCollab(this.usuarioEncuestaService.create(collab));
});
}
} else {
this.userCollabNotExist = true;
this.isSavingAddCollab = false;
}
this.resetFormAddCollab();
})
)
.subscribe(res => {
@ -699,6 +720,10 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
if (user.login === correoCollab) {
this.userPublicCollab = user;
}
if (user.id === this.usuarioExtra?.id) {
// @ts-ignore
this.usuarioExtra?.user?.login = user.login;
}
});
});
}
@ -773,6 +798,16 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
return escritor;
}
validarUserIsCollab(correoCollab: string) {
let isCollab = false;
this.usuariosColaboradores.forEach(c => {
if (c.usuarioExtra?.id === this.userPublicCollab?.id) {
isCollab = true;
}
});
return isCollab;
}
finalizar(): void {
const modalRef = this.modalService.open(EncuestaFinalizarDialogComponent, { size: 'lg', backdrop: 'static' });
modalRef.componentInstance.encuesta = this.encuesta;