2021-07-03 21:48:27 +00:00
|
|
|
import { Component, OnInit } from '@angular/core';
|
|
|
|
import { HttpResponse } from '@angular/common/http';
|
|
|
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
|
|
|
|
|
|
import { IUsuarioExtra } from '../usuario-extra.model';
|
|
|
|
import { UsuarioExtraService } from '../service/usuario-extra.service';
|
|
|
|
import { UsuarioExtraDeleteDialogComponent } from '../delete/usuario-extra-delete-dialog.component';
|
2021-07-07 04:53:02 +00:00
|
|
|
import { IUser } from '../../user/user.model';
|
|
|
|
import { finalize } from 'rxjs/operators';
|
2021-07-03 21:48:27 +00:00
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'jhi-usuario-extra',
|
|
|
|
templateUrl: './usuario-extra.component.html',
|
2021-07-07 04:53:02 +00:00
|
|
|
styleUrls: ['./usuario-extra.component.scss'],
|
2021-07-03 21:48:27 +00:00
|
|
|
})
|
|
|
|
export class UsuarioExtraComponent implements OnInit {
|
|
|
|
usuarioExtras?: IUsuarioExtra[];
|
2021-07-07 04:53:02 +00:00
|
|
|
publicUsers?: IUser[];
|
2021-07-03 21:48:27 +00:00
|
|
|
isLoading = false;
|
2021-07-25 04:53:38 +00:00
|
|
|
successChange = false;
|
2021-07-03 21:48:27 +00:00
|
|
|
|
|
|
|
constructor(protected usuarioExtraService: UsuarioExtraService, protected modalService: NgbModal) {}
|
|
|
|
|
2021-07-07 04:53:02 +00:00
|
|
|
loadPublicUser(): void {
|
|
|
|
this.usuarioExtraService
|
|
|
|
.retrieveAllPublicUsers()
|
|
|
|
.pipe(finalize(() => this.loadUserExtras()))
|
|
|
|
.subscribe(res => {
|
|
|
|
res.forEach(user => {
|
|
|
|
let rolList: string[] | undefined;
|
|
|
|
rolList = user.authorities;
|
|
|
|
let a = rolList?.pop();
|
|
|
|
if (a == 'ROLE_ADMIN') {
|
2021-07-12 02:09:56 +00:00
|
|
|
user.authorities = ['Admin'];
|
2021-07-07 04:53:02 +00:00
|
|
|
} else if (a == 'ROLE_USER') {
|
2021-07-12 02:09:56 +00:00
|
|
|
user.authorities = ['Usuario'];
|
2021-07-07 04:53:02 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
this.publicUsers = res;
|
|
|
|
});
|
|
|
|
}
|
2021-07-03 21:48:27 +00:00
|
|
|
|
2021-07-07 04:53:02 +00:00
|
|
|
loadUserExtras() {
|
2021-07-03 21:48:27 +00:00
|
|
|
this.usuarioExtraService.query().subscribe(
|
|
|
|
(res: HttpResponse<IUsuarioExtra[]>) => {
|
|
|
|
this.isLoading = false;
|
|
|
|
this.usuarioExtras = res.body ?? [];
|
2021-07-07 04:53:02 +00:00
|
|
|
this.usuarioExtras.forEach(uE => {
|
|
|
|
uE.user = this.publicUsers?.find(pU => pU.id == uE.user?.id);
|
|
|
|
});
|
2021-07-03 21:48:27 +00:00
|
|
|
},
|
|
|
|
() => {
|
|
|
|
this.isLoading = false;
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2021-07-07 04:53:02 +00:00
|
|
|
loadAll(): void {
|
|
|
|
this.isLoading = true;
|
|
|
|
this.loadPublicUser();
|
|
|
|
}
|
|
|
|
|
2021-07-03 21:48:27 +00:00
|
|
|
ngOnInit(): void {
|
|
|
|
this.loadAll();
|
|
|
|
}
|
|
|
|
|
|
|
|
trackId(index: number, item: IUsuarioExtra): number {
|
|
|
|
return item.id!;
|
|
|
|
}
|
|
|
|
|
|
|
|
delete(usuarioExtra: IUsuarioExtra): void {
|
|
|
|
const modalRef = this.modalService.open(UsuarioExtraDeleteDialogComponent, { size: 'lg', backdrop: 'static' });
|
|
|
|
modalRef.componentInstance.usuarioExtra = usuarioExtra;
|
|
|
|
// unsubscribe not needed because closed completes on modal close
|
|
|
|
modalRef.closed.subscribe(reason => {
|
|
|
|
if (reason === 'deleted') {
|
2021-07-25 04:53:38 +00:00
|
|
|
this.successChange = true;
|
2021-07-03 21:48:27 +00:00
|
|
|
this.loadAll();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|