diff --git a/config.xml b/config.xml index 7f11e8df3..1f47e1c7b 100644 --- a/config.xml +++ b/config.xml @@ -3,7 +3,7 @@ gabinete digital An awesome Ionic/Cordova app. Ionic Framework Team - + diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index d28432323..31fd4eeeb 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -20,6 +20,9 @@
+ + {{ loggeduser.Profile }} {{ profile }} +
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index de9079836..17a168b6a 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -27,6 +27,7 @@ import { ToastService } from 'src/app/services/toast.service'; import { eventSource } from 'src/app/models/agenda/eventSource'; import { CalendarStore } from 'src/app/store/calendar.service'; import { ListBoxService } from 'src/app/services/agenda/list-box.service'; +import { ChangeProfileService } from 'src/app/services/change-profile.service'; @Component({ selector: 'app-agenda', @@ -166,13 +167,32 @@ export class AgendaPage implements OnInit { authService: AuthService, private dateAdapter: DateAdapter, private toastService: ToastService, - private listBoxService: ListBoxService + private listBoxService: ListBoxService, + private changeProfileService: ChangeProfileService ) { - this.dateAdapter.setLocale('es'); + this.dateAdapter.setLocale('es'); this.locale = 'pt' this.loggeduser = authService.ValidatedUser; + + this.changeProfileService.registerCallback(()=>{ + this.loggeduser = authService.ValidatedUser; + this.tigerUpdate() + if(this.loggeduser.Profile == 'MDGPR') { + this.mobileComponent.showEventList = true; + this.profile = "mdgpr"; + } else { + this.profile = "pr"; + } + }) + + if(this.loggeduser.Profile == 'MDGPR') { + this.mobileComponent.showEventList = true; + this.profile = "mdgpr"; + } else { + this.profile = "pr"; + } this.calendarHeight = "320px"; this.showCalendar = true; @@ -182,10 +202,14 @@ export class AgendaPage implements OnInit { this.showTimelineFilterState = false; this.showTimeline = false; - if(this.loggeduser.Profile == 'MDGPR') { - this.mobileComponent.showEventList = true; - } + this.tigerUpdate() + + window['year'] = this.changeYear + + } + + tigerUpdate() { setTimeout(()=>{ try { this.myCal.update(); @@ -195,15 +219,10 @@ export class AgendaPage implements OnInit { this.updateEventListBox() }, 1000) - - - window['year'] = this.changeYear - } ngOnInit() { - this.profile = "mdgpr"; const pathname = window.location.pathname diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index 11bb9a371..3485159e7 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -89,6 +89,7 @@
+
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index d3414e37c..73e6780b3 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -21,6 +21,7 @@ import { DeplomasStore } from 'src/app/store/deplomas.service'; 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'; @Component({ selector: 'app-gabinete-digital', @@ -118,10 +119,17 @@ export class GabineteDigitalPage implements OnInit, DoCheck { public p: PermissionService, public waitForDomService: WaitForDomService, private notificationsService: NotificationsService, - private despachoRule: DespachoService + private despachoRule: DespachoService, + private changeProfileService: ChangeProfileService ) { this.loggeduser = authService.ValidatedUser; + + this.changeProfileService.registerCallback(()=>{ + this.loggeduser = authService.ValidatedUser; + }) + + window.onresize = (event) => { // if not mobile remove all component if( window.innerWidth < 701){ @@ -202,7 +210,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { allProcessesList = allProcessesList.filter( element => element.activityInstanceName != 'Diploma Assinado') } - console.log(allProcessesList); + console.log('allProcessesList', allProcessesList); this.skeletonLoader = true; diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index 69c3350aa..6d0b76d7a 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -8,6 +8,7 @@ import { AlertController } from '@ionic/angular'; import { NotificationsService } from 'src/app/services/notifications.service'; import { SessionStore } from 'src/app/store/session.service'; import { ClearStoreService } from 'src/app/services/clear-store.service'; +import { ChangeProfileService } from 'src/app/services/change-profile.service'; @Component({ selector: 'app-login', @@ -33,7 +34,8 @@ export class LoginPage implements OnInit { private authService: AuthService, private toastService: ToastService, public alertController: AlertController, - private clearStoreService: ClearStoreService + private clearStoreService: ClearStoreService, + private changeProfileService: ChangeProfileService ) { } @@ -99,7 +101,10 @@ export class LoginPage implements OnInit { this.clearStoreService.clear() SessionStore.delete() window.localStorage.clear(); + await this.authService.SetSession(attempt, this.userattempt); + + this.changeProfileService.run() await this.authService.loginChat(this.userattempt); this.router.navigate(['/pin']); } diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index 8f848e0a8..d8094ed39 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -44,7 +44,7 @@ export class AuthService { async login(user: UserForm, {saveSession = true}): Promise { user.BasicAuthKey = 'Basic ' + btoa(user.username + ':' + this.aesencrypt.encrypt(user.password,user.username )); - this.headers = this.headers.set('Authorization',user.BasicAuthKey); + this.headers = this.headers.set('Authorization', user.BasicAuthKey); this.opts = { headers: this.headers, } diff --git a/src/app/services/change-profile.service.spec.ts b/src/app/services/change-profile.service.spec.ts new file mode 100644 index 000000000..c3d15833d --- /dev/null +++ b/src/app/services/change-profile.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ChangeProfileService } from './change-profile.service'; + +describe('ChangeProfileService', () => { + let service: ChangeProfileService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ChangeProfileService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/change-profile.service.ts b/src/app/services/change-profile.service.ts new file mode 100644 index 000000000..9d1cdf3e7 --- /dev/null +++ b/src/app/services/change-profile.service.ts @@ -0,0 +1,42 @@ +import { Injectable } from '@angular/core'; +import { v4 as uuidv4 } from 'uuid' + +@Injectable({ + providedIn: 'root' +}) +export class ChangeProfileService { + + + callbacks: { + funx: Function + id: string + }[] = [] + + constructor() { } + + + registerCallback(funx: Function, object: any = {} ) { + + const id = uuidv4() + this.callbacks.push({funx, id}) + + return id; + } + + deleteCallback(id) { + this.callbacks.forEach((e, index)=> { + if(e.id == id) { + if (index > -1) { + this.callbacks.splice(index, 1) + } + } + }) + } + + run() { + this.callbacks.forEach((e, index)=> { + e.funx() + }) + } + +} diff --git a/src/app/services/clear-store.service.ts b/src/app/services/clear-store.service.ts index 5b26fe275..f0f649081 100644 --- a/src/app/services/clear-store.service.ts +++ b/src/app/services/clear-store.service.ts @@ -8,6 +8,8 @@ import { PedidosStore } from 'src/app/store/pedidos-store.service'; import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { DeplomasStore } from '../store/deplomas.service'; import { CalendarStore } from 'src/app/store/calendar.service'; +import { ToDayEventStorage } from '../store/to-day-event-storage.service'; +import { TotalDocumentStore } from 'src/app/store/total-document.service'; @Injectable({ providedIn: 'root' @@ -17,6 +19,7 @@ export class ClearStoreService { constructor() { } clear() { + DespachoStore.reset([]) EventoAprovacaoStore.resetmd([]) EventoAprovacaoStore.resetpr([]) @@ -29,5 +32,9 @@ export class ClearStoreService { DeplomasStore.resetDiplomasList([]) DeplomasStore.resetDiplomasReview([]) CalendarStore.delete() + CalendarStore.ResetList([]) + ToDayEventStorage.reset([]) + TotalDocumentStore.resetCount(0) + } } diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index a3b4b8509..0794423b6 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -6,6 +6,7 @@ import { environment } from 'src/environments/environment'; import { AuthService } from '../services/auth.service'; import { LoginUserRespose, UserSession } from '../models/user.model'; import { EventList } from '../models/agenda/AgendaEventList'; +import { ChangeProfileService } from './change-profile.service'; @Injectable({ @@ -27,8 +28,13 @@ export class EventsService { headersSharedPessoal: HttpHeaders; //lastloadedevent: Event; - constructor(private http: HttpClient, user: AuthService) { - this.loggeduser = user.ValidatedUser; + constructor( + private http: HttpClient, + public user: AuthService, + private changeProfileService: ChangeProfileService) + { + + this.loggeduser = this.user.ValidatedUser; this.headersMdOficial = new HttpHeaders(); this.headersMdPessoal = new HttpHeaders(); @@ -39,6 +45,17 @@ export class EventsService { this.headersSharedOficial = new HttpHeaders(); this.headersSharedPessoal = new HttpHeaders(); + + this.setHeader() + this.changeProfileService.registerCallback(()=>{ + this.loggeduser = this.user.ValidatedUser; + this.setHeader() + }) + + } + + setHeader() { + if(this.loggeduser){ if(this.loggeduser.Profile == 'MDGPR') { @@ -89,8 +106,6 @@ export class EventsService { this.headers = new HttpHeaders(); this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey); } - - } /* getAllEvents(startdate:string, enddate:string): Observable{ diff --git a/src/app/services/processes.service.ts b/src/app/services/processes.service.ts index 6f6a8f2a9..d3ec068d9 100644 --- a/src/app/services/processes.service.ts +++ b/src/app/services/processes.service.ts @@ -9,6 +9,7 @@ import { Excludetask } from '../models/Excludetask'; import { ExpedienteFullTask } from '../models/Expediente'; import { GetTasksListType } from '../models/GetTasksListType'; import { fullTaskList } from '../models/dailyworktask.model'; +import { ChangeProfileService } from './change-profile.service'; @Injectable({ providedIn: 'root' @@ -19,8 +20,25 @@ export class ProcessesService { loggeduser: LoginUserRespose; headers: HttpHeaders; - constructor(private http: HttpClient, user: AuthService) { - this.loggeduser = user.ValidatedUser; + constructor( + private http: HttpClient, + public user: AuthService, + private changeProfileService: ChangeProfileService + ) { + + this.loggeduser = this.user.ValidatedUser; + + this.setHeader() + this.changeProfileService.registerCallback(()=>{ + this.loggeduser = this.user.ValidatedUser; + this.setHeader() + }) + + } + + + setHeader() { + this.headers = new HttpHeaders(); this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey); } diff --git a/src/global.scss b/src/global.scss index 39e43b04a..e1951f2de 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1192,6 +1192,22 @@ ngx-mat-datetime-content{ } } +.calendar-segment-pr-force { + .calendar-mdgpr-event-type-Pessoal { + border-top: 3px solid transparent !important; + } + .calendar-mdgpr-event-type-Oficial { + border-left: 3px solid transparent !important; + } + + .calendar-pr-event-type-Oficial{ + border-right: 3px solid #99e47b !important; + } + + .calendar-pr-event-type-Pessoal{ + border-bottom: 3px solid #958bfc !important; + } +} .modal-background { background: #0000006b;