diff --git a/src/app/modules/rup/components/huds/vistaPrestacion.html b/src/app/modules/rup/components/huds/vistaPrestacion.html
index 50308c73e0..77b17edf31 100644
--- a/src/app/modules/rup/components/huds/vistaPrestacion.html
+++ b/src/app/modules/rup/components/huds/vistaPrestacion.html
@@ -5,10 +5,10 @@
VER IMAGEN
-
-
diff --git a/src/app/modules/rup/components/huds/vistaPrestacion.ts b/src/app/modules/rup/components/huds/vistaPrestacion.ts
index c1bbc8743d..611e2ae733 100644
--- a/src/app/modules/rup/components/huds/vistaPrestacion.ts
+++ b/src/app/modules/rup/components/huds/vistaPrestacion.ts
@@ -1,6 +1,7 @@
import { Auth } from '@andes/auth';
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
+import { Router } from '@angular/router';
import { map } from 'rxjs/operators';
import { IPaciente } from '../../../../core/mpi/interfaces/IPaciente';
import { PacienteService } from '../../../../core/mpi/services/paciente.service';
@@ -9,8 +10,6 @@ import { IPrestacion } from '../../interfaces/prestacion.interface';
import { populateRelaciones } from '../../operators/populate-relaciones';
import { ElementosRUPService } from '../../services/elementosRUP.service';
import { PrestacionesService } from '../../services/prestaciones.service';
-import { ActivatedRoute, Router } from '@angular/router';
-
@Component({
selector: 'vista-prestacion',
templateUrl: 'vistaPrestacion.html',
@@ -21,16 +20,16 @@ import { ActivatedRoute, Router } from '@angular/router';
export class VistaPrestacionComponent implements OnInit {
@Input() paciente: IPaciente;
@Input() prestacion: IPrestacion;
- @Input() evolucionActual: any;
@Input() puedeEditar: boolean;
- @Input() ruta: boolean;
- @Input() indice = 0;
public ready$ = this.elementosRUPService.ready;
public puedeDescargarInforme: boolean;
public requestInProgress: boolean;
public hasPacs: boolean;
+ _puedeEditar: boolean;
+
+
constructor(
private auth: Auth,
private servicioDocumentos: DocumentosService,
@@ -62,10 +61,11 @@ export class VistaPrestacionComponent implements OnInit {
this.servicioPaciente.getById(prestacion.paciente.id).subscribe(paciente => {
this.prestacion = prestacion;
this.paciente = paciente;
- this.puedeEditar = this.puedeEditar && this.prestacion.createdBy.id === this.auth.usuario.id;
+ this._puedeEditar = this.puedeEditar && this.checkUser();
});
});
}
+
get idPrestacion(): any {
return this._idPrestacion;
}
@@ -74,6 +74,10 @@ export class VistaPrestacionComponent implements OnInit {
return fecha.getTime();
}
+ checkUser() {
+ const permisoExtra = this.auth.check('rup:validacion:' + this.prestacion.solicitud.tipoPrestacion.id);
+ return permisoExtra || this.prestacion.createdBy.id === this.auth.usuario.id;
+ }
descargarInforme() {
this.requestInProgress = true;
@@ -91,9 +95,11 @@ export class VistaPrestacionComponent implements OnInit {
}
abrirPrestacion() {
- if (this.ruta) {
- this.servicioPrestacion.notificaRuta(this.ruta);
- }
+ this.servicioPrestacion.notificaRuta({
+ // Generico por ahora
+ nombre: 'VOLVER',
+ ruta: this.router.url
+ });
this.router.navigate(['./rup/ejecucion', this.prestacion.id]);
}