-
+
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 285af08d2..fa90ee7a4 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -22,7 +22,7 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; //import { NotificationsService } from 'src/app/services/notifications.service'; import { DespachoService } from 'src/app/Rules/despacho.service'; import { ChangeProfileService } from 'src/app/services/change-profile.service'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { ThemeService } from 'src/app/services/theme.service' @@ -115,6 +115,9 @@ export class GabineteDigitalPage implements OnInit, DoCheck { customTaskPipe = new CustomTaskPipe() + permissions = { + Agenda: 530 + } @ViewChild(ExpedientsPage) expedientesPage: ExpedientsPage; @ViewChild(PendentesPage) pendentesListPage: PendentesPage; @ViewChild(EventsToApprovePage) eventsToApprove: EventsToApprovePage; @@ -256,7 +259,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); - + let task = { "SerialNumber": element.serialNumber, "Folio": element.workflowInstanceDataFields.Subject, @@ -274,11 +277,11 @@ export class GabineteDigitalPage implements OnInit, DoCheck { "Agenda": element.workflowInstanceDataFields.Agenda, "customDate": this.setFormatDate(new Date(element.workflowInstanceDataFields.StartDate), new Date(element.workflowInstanceDataFields.EndDate), element.workflowInstanceDataFields.IsAllDayEvent), } - + this.allProcessesList.push(task); this.allProcessesList = removeDuplicate(this.allProcessesList); this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate') - + }); }) } else { @@ -287,9 +290,9 @@ export class GabineteDigitalPage implements OnInit, DoCheck { let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); - + var workflowInstanceDataFields = JSON.parse(element.workflowInstanceDataFields); - + let task = { "SerialNumber": element.serialNumber, "Folio": workflowInstanceDataFields.Subject, @@ -306,11 +309,11 @@ export class GabineteDigitalPage implements OnInit, DoCheck { "Agenda": workflowInstanceDataFields.Agenda, "customDate": this.setFormatDate(new Date(workflowInstanceDataFields.StartDate), new Date(workflowInstanceDataFields.EndDate), workflowInstanceDataFields.IsAllDayEvent), } - + this.allProcessesList.push(task); this.allProcessesList = removeDuplicate(this.allProcessesList) this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate') - + }); console.log("All process from db ", allprocess) }) diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts index 0874bd07e..79204effd 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts @@ -23,7 +23,7 @@ import { PedidoService } from 'src/app/Rules/pedido.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { ThemeService } from 'src/app/services/theme.service' import { DataService } from 'src/app/services/data.service'; diff --git a/src/app/services/permission.service.spec.ts b/src/app/services/permission.service.spec.ts index 8ddccabff..1a77304d8 100644 --- a/src/app/services/permission.service.spec.ts +++ b/src/app/services/permission.service.spec.ts @@ -1,6 +1,6 @@ import { TestBed } from '@angular/core/testing'; -import { PermissionService } from './worker/permission.service'; +import { PermissionService } from './permission.service'; describe('PermissionService', () => { let service: PermissionService; diff --git a/src/app/services/worker/permission.service.ts b/src/app/services/permission.service.ts similarity index 58% rename from src/app/services/worker/permission.service.ts rename to src/app/services/permission.service.ts index e093625c9..9ff448f36 100644 --- a/src/app/services/worker/permission.service.ts +++ b/src/app/services/permission.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { SessionStore } from '../../store/session.service'; +import { SessionStore } from '../store/session.service'; @Injectable({ providedIn: 'root' @@ -15,12 +15,26 @@ export class PermissionService { if(!Array.isArray(args)) { args = [args] } - - return args.includes(this.SessionStore.user.Profile) + + return args.includes(this.SessionStore.user.Profile) + } + + userPermission(args) { + + if(!Array.isArray(args)) { + args = [args] + } + for(let permission of this.SessionStore.user.UserPermissions){ + if (args.includes(permission)){ + return true; + } + } + return false; + } role(args: any) { - + let UserRoleIsValid = this.userRole(args) return { @@ -39,4 +53,4 @@ export class PermissionService { } -} \ No newline at end of file +} diff --git a/src/app/services/rules/event.service.ts b/src/app/services/rules/event.service.ts index c066e5223..a4f4e1be3 100644 --- a/src/app/services/rules/event.service.ts +++ b/src/app/services/rules/event.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { AttachmentsService } from '../attachments.service'; import { EventsService } from '../events.service'; -import { PermissionService } from '../worker/permission.service'; +import { PermissionService } from '../permission.service'; @@ -18,7 +18,7 @@ export class EventService { create({body, calendar}) { - + if(this.p.userRole(['PR'])) { return this.eventService.postEventPr(body, calendar) diff --git a/src/app/shared/header/header.page.html b/src/app/shared/header/header.page.html index bab69b979..d0db46512 100644 --- a/src/app/shared/header/header.page.html +++ b/src/app/shared/header/header.page.html @@ -76,7 +76,7 @@ Início
-
@@ -85,7 +85,7 @@ Agenda
-
@@ -94,7 +94,7 @@ Gabinete
-
@@ -102,7 +102,7 @@ Acções
-
diff --git a/src/app/shared/header/header.page.ts b/src/app/shared/header/header.page.ts index d71c5512f..c92feddb9 100644 --- a/src/app/shared/header/header.page.ts +++ b/src/app/shared/header/header.page.ts @@ -12,6 +12,7 @@ import { EventTrigger } from '../../services/eventTrigger.service'; import { ThemeService } from '../../services/theme.service'; import { interval } from 'rxjs'; import { RouteService } from 'src/app/services/route.service'; +import { PermissionList } from 'src/app/models/permissionList'; @Component({ selector: 'app-header', @@ -29,6 +30,7 @@ export class HeaderPage implements OnInit { notificationLength: 0; SessionStore = SessionStore check: boolean; + permissionList = new PermissionList(); production = environment.production diff --git a/src/app/shared/popover/despachos-options/despachos-options.page.ts b/src/app/shared/popover/despachos-options/despachos-options.page.ts index 8d3fa6e25..6d7fe5146 100644 --- a/src/app/shared/popover/despachos-options/despachos-options.page.ts +++ b/src/app/shared/popover/despachos-options/despachos-options.page.ts @@ -9,7 +9,7 @@ import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/ import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; import { ToastService } from 'src/app/services/toast.service'; import { customTask, fullTask } from 'src/app/models/dailyworktask.model'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { ThemeService } from 'src/app/services/theme.service' import { Location } from '@angular/common' import { RouteService } from 'src/app/services/route.service'; @@ -35,7 +35,7 @@ export class DespachosOptionsPage implements OnInit { public p: PermissionService, public ThemeService: ThemeService, private RouteService: RouteService, - ) { + ) { this.task = this.navParams.get('task') this.fulltask = this.navParams.get('fulltask') @@ -84,7 +84,7 @@ export class DespachosOptionsPage implements OnInit { this.toastService._badRequest('Processo não encontrado') }); } - + async distartExpedientModal(){ this.popoverController.dismiss(); console.log(this.fulltask); @@ -98,7 +98,7 @@ export class DespachosOptionsPage implements OnInit { cssClass: 'discart-expedient-modal', backdropDismiss: false }); - + await modal.present(); modal.onDidDismiss().then(res=>{ if(res['data']=='close'){ @@ -127,7 +127,7 @@ export class DespachosOptionsPage implements OnInit { await modal.present(); modal.onDidDismiss(); } - + async openDelegarModal(task: any) { this.popoverController.dismiss(); let classs; @@ -157,8 +157,8 @@ export class DespachosOptionsPage implements OnInit { } async generateDiploma(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Reencaminhar", "ActionTypeId": 99999839, "dataFields": { @@ -198,20 +198,20 @@ export class DespachosOptionsPage implements OnInit { cssClass: classs, backdropDismiss: true }); - + await modal.present(); - + modal.onDidDismiss().then(async (res) => { console.log(res); if(res.data) { - + const DocumentToSave = res.data.documents.map((e) => { return { ApplicationId: e.ApplicationType, SourceId: e.Id, } }); - + let docs = { ProcessInstanceID: "", Attachments: DocumentToSave, @@ -235,11 +235,11 @@ export class DespachosOptionsPage implements OnInit { this.goBack(); } }); - } + } async arquivar(note:string, documents:any) { - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Arquivo", "ActionTypeId": 95, "dataFields": { @@ -259,14 +259,14 @@ export class DespachosOptionsPage implements OnInit { } finally { loader.remove() } - + } async executado(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Conhecimento", "ActionTypeId": 104, "dataFields": { @@ -290,10 +290,10 @@ export class DespachosOptionsPage implements OnInit { } - + async reexecutar(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Reexecutar", "ActionTypeId": 100000010, "dataFields": { diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts index f77c7996e..ddf480f2e 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts @@ -9,7 +9,7 @@ import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/ import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; import { ToastService } from 'src/app/services/toast.service'; import { Location } from '@angular/common' -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { ThemeService } from 'src/app/services/theme.service' import { RouteService } from 'src/app/services/route.service'; @@ -36,11 +36,11 @@ export class DespachosPrOptionsPage implements OnInit { private RouteService: RouteService, public p: PermissionService, public ThemeService: ThemeService, - + ) { } ngOnInit() { - + this.profile = "mdgpr"; this.activatedRoute.queryParams.subscribe(params => { @@ -86,7 +86,7 @@ export class DespachosPrOptionsPage implements OnInit { console.log(res['data']); if(res['data']=='openDiscart') { console.log('open discart'); - + this.distartExpedientModal(); } else { @@ -108,7 +108,7 @@ export class DespachosPrOptionsPage implements OnInit { this.toastService._badRequest('Processo não encontrado') }); } - + async distartExpedientModal() { this.popoverController.dismiss(); console.log(this.fulltask); @@ -122,7 +122,7 @@ export class DespachosPrOptionsPage implements OnInit { cssClass: 'discart-expedient-modal', backdropDismiss: false }); - + await modal.present(); modal.onDidDismiss().then(res=>{ if(res['data']=='close'){ @@ -132,7 +132,7 @@ export class DespachosPrOptionsPage implements OnInit { this.openMenu(); */ } this.popoverController.dismiss('close') - + }); } @@ -157,7 +157,7 @@ export class DespachosPrOptionsPage implements OnInit { modal.onDidDismiss() } - + async openDelegarModal(task: any) { this.popoverController.dismiss(); let classs; @@ -187,8 +187,8 @@ export class DespachosPrOptionsPage implements OnInit { } async generateDiploma(note:string, documents:any) { - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Reencaminhar", "ActionTypeId": 99999839, "dataFields": { @@ -227,22 +227,22 @@ export class DespachosPrOptionsPage implements OnInit { cssClass: classs, backdropDismiss: true }); - + await modal.present(); - + modal.onDidDismiss().then(async (res) => { console.log(res); if(res.data){ - + const DocumentToSave = res.data.documents.map((e) => { return { ApplicationId: e.ApplicationType, SourceId: e.Id, } }); - + let docs = { ProcessInstanceID: "", Attachments: DocumentToSave, @@ -259,15 +259,15 @@ export class DespachosPrOptionsPage implements OnInit { } else if(actionName == 'Reexecução') { await this.reexecutar(res.data.note, docs); - } + } else if(actionName == 'Concluido') { await this.concluir(res.data.note, docs); } - + this.goBack(); } }); - } + } async concluir(note:string, documents:any){ @@ -297,8 +297,8 @@ export class DespachosPrOptionsPage implements OnInit { } async arquivar(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Arquivo", "ActionTypeId": 95, "dataFields": { @@ -323,8 +323,8 @@ export class DespachosPrOptionsPage implements OnInit { async executado(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Conhecimento", "ActionTypeId": 104, "dataFields": { @@ -347,10 +347,10 @@ export class DespachosPrOptionsPage implements OnInit { } - + async reexecutar(note:string, documents:any){ - let body = { - "serialNumber": this.serialNumber, + let body = { + "serialNumber": this.serialNumber, "action": "Reexecutar", "ActionTypeId": 100000010, "dataFields": { diff --git a/src/app/shared/popover/event-details-documents-options/event-details-documents-options.page.ts b/src/app/shared/popover/event-details-documents-options/event-details-documents-options.page.ts index bda7c7d7f..7afa5feea 100644 --- a/src/app/shared/popover/event-details-documents-options/event-details-documents-options.page.ts +++ b/src/app/shared/popover/event-details-documents-options/event-details-documents-options.page.ts @@ -7,7 +7,7 @@ import { ToastService } from 'src/app/services/toast.service'; import { Location } from '@angular/common'; import { TaskService } from 'src/app/Rules/task.service' import { ExpedienteService } from 'src/app/Rules/expediente.service'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; @Component({ selector: 'app-event-details-documents-options', diff --git a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts index bf2c55c37..10e656a02 100644 --- a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts +++ b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts @@ -15,7 +15,7 @@ import { ToastService } from 'src/app/services/toast.service'; import { Location } from '@angular/common'; import { TaskService } from 'src/app/Rules/task.service' import { ExpedienteService } from 'src/app/Rules/expediente.service'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { ThemeService } from 'src/app/services/theme.service' import { NewGroupPage } from 'src/app/pages/chat/new-group/new-group.page'; import { RouteService } from 'src/app/services/route.service'; diff --git a/src/app/shared/popover/request-options/request-options.page.ts b/src/app/shared/popover/request-options/request-options.page.ts index f59911563..9ea60decb 100644 --- a/src/app/shared/popover/request-options/request-options.page.ts +++ b/src/app/shared/popover/request-options/request-options.page.ts @@ -9,7 +9,7 @@ import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/ import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; import { PedidoService } from 'src/app/Rules/pedido.service'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; import { DataService } from 'src/app/services/data.service'; import { NewGroupPage } from 'src/app/pages/chat/new-group/new-group.page'; diff --git a/src/app/shared/popover/searched-document-options/searched-document-options.page.ts b/src/app/shared/popover/searched-document-options/searched-document-options.page.ts index b74b48a0a..8a3259c0f 100644 --- a/src/app/shared/popover/searched-document-options/searched-document-options.page.ts +++ b/src/app/shared/popover/searched-document-options/searched-document-options.page.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import {PopoverController } from '@ionic/angular'; -import { PermissionService } from 'src/app/services/worker/permission.service'; +import { PermissionService } from 'src/app/services/permission.service'; @Component({ selector: 'app-searched-document-options',