mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
improve
This commit is contained in:
@@ -5,7 +5,7 @@ import { AuthService } from '../services/auth.service';
|
||||
import { PermissionService } from '../services/permission.service';
|
||||
import { LocalstoreService } from '../store/localstore.service';
|
||||
import { SessionStore } from '../store/session.service';
|
||||
|
||||
import { RouteService } from 'src/app/services/route.service'
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
@@ -15,6 +15,7 @@ export class AuthGuard implements CanActivate {
|
||||
private localstoreService: LocalstoreService,
|
||||
private authService: AuthService,
|
||||
public p: PermissionService,
|
||||
private RouteService: RouteService
|
||||
){}
|
||||
|
||||
canActivate(
|
||||
@@ -35,7 +36,30 @@ export class AuthGuard implements CanActivate {
|
||||
this.authService.loginChat();
|
||||
}
|
||||
|
||||
return true;
|
||||
const pathname = window.location.pathname
|
||||
|
||||
if(this.p.userPermission(this.p.permissionList.Agenda.access) && pathname.startsWith('/home/agenda')) {
|
||||
return true;
|
||||
} else if (this.p.userPermission(this.p.permissionList.Gabinete.access) && pathname.startsWith('/home/gabinete-digital')) {
|
||||
return true;
|
||||
}
|
||||
else if(this.p.userPermission(this.p.permissionList.Chat.access) && pathname.startsWith('/home/chat')) {
|
||||
return true;
|
||||
} else if(this.p.userPermission(this.p.permissionList.Actions.access) && pathname.startsWith('/home/publications')) {
|
||||
return true;
|
||||
} else if ((this.p.userPermission([this.p.permissionList.Agenda.access]) || this.p.userPermission([this.p.permissionList.Gabinete.access])) && pathname.startsWith('/home/events')) {
|
||||
|
||||
} else if (pathname == '/') {
|
||||
return true
|
||||
}
|
||||
else if (this.RouteService.history.length >= 1) {
|
||||
const pathName = this.RouteService.getLastRouteA()
|
||||
this.router.navigate([pathName]);
|
||||
} else {
|
||||
this.router.navigate(['/']);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ export class InactivityGuard implements CanActivate {
|
||||
else if(this.p.userPermission(this.p.permissionList.Chat.access) && this.p.userPermission(this.p.permissionList.Actions.access)){
|
||||
this.router.navigate(['/home/chat']);
|
||||
}
|
||||
else if(this.p.userPermission(this.p.permissionList.Actions.access)){
|
||||
else if(this.p.userPermission(this.p.permissionList.Actions.access)) {
|
||||
this.router.navigate(['/home/publications']);
|
||||
} else {
|
||||
|
||||
|
||||
@@ -3,12 +3,16 @@ import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Rout
|
||||
import { Observable } from 'rxjs';
|
||||
import { SessionStore } from '../store/session.service';
|
||||
import { Platform } from '@ionic/angular';
|
||||
import { RouteService } from 'src/app/services/route.service'
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LoginGuard implements CanActivate {
|
||||
constructor( private router:Router, private platform: Platform,) {
|
||||
constructor(
|
||||
private router:Router,
|
||||
private platform: Platform,
|
||||
private RouteService: RouteService ) {
|
||||
|
||||
}
|
||||
canActivate(
|
||||
@@ -27,6 +31,7 @@ export class LoginGuard implements CanActivate {
|
||||
} else if(SessionStore.exist && !SessionStore.user.Inactivity && SessionStore.user.LoginPreference == 'Pin' && !this.platform.is('desktop') && !this.platform.is('mobileweb')) {
|
||||
this.router.navigate(['/inactivity']);
|
||||
return false
|
||||
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ import { SessionStore } from '../store/session.service';
|
||||
import { StorageService } from '../services/storage.service';
|
||||
import { File } from '@ionic-native/file/ngx';
|
||||
/* import { WebNotificationPopupService } from '../services/notification/web-notification-popup.service'; */
|
||||
import { DocumentCounterService } from '../services/worker/document-counter.service';
|
||||
import { PermissionService } from '../services/permission.service';
|
||||
import { BackgroundService } from 'src/app/services/background.service';
|
||||
import { OfflineManagerService } from 'src/app/services/offline-manager.service';
|
||||
@@ -33,6 +32,7 @@ import { NativeNotificationService } from 'src/app/services/native-notification.
|
||||
import { UserSession } from '../models/user.model';
|
||||
import { PermissionList } from '../models/permission/permissionList';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'app-home',
|
||||
templateUrl: './home.page.html',
|
||||
@@ -92,7 +92,6 @@ export class HomePage implements OnInit {
|
||||
private activeroute: ActivatedRoute,
|
||||
/* private webnotification: WebNotificationsService, */
|
||||
public p: PermissionService,
|
||||
public documentCounterService: DocumentCounterService,
|
||||
private despachoRule: DespachoService,
|
||||
private inativityService: InativityService,
|
||||
private storageService: StorageService,
|
||||
|
||||
@@ -88,4 +88,13 @@ export class RouteService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
getLastRoute() {
|
||||
return this.history[this.history.length - 1]
|
||||
}
|
||||
|
||||
getLastRouteA() {
|
||||
return this.history[this.history.length - 2]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { DocumentCounterService } from './document-counter.service';
|
||||
|
||||
describe('DocumentCounterService', () => {
|
||||
let service: DocumentCounterService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(DocumentCounterService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -1,39 +0,0 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { DespachoStore } from 'src/app/store/despacho-store.service';
|
||||
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
|
||||
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
import { PendentesStore } from 'src/app/store/pendestes-store.service';
|
||||
import { PedidosStore } from 'src/app/store/pedidos-store.service';
|
||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||
import { DeplomasStore } from 'src/app/store/deplomas.service';
|
||||
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class DocumentCounterService {
|
||||
|
||||
expedienteGbStore = ExpedienteGdStore;
|
||||
pendentesStore = PendentesStore;
|
||||
despachoStore = DespachoStore;
|
||||
eventoAprovacaoStore = EventoAprovacaoStore;
|
||||
pedidosStore = PedidosStore;
|
||||
// expedientePrStore = ExpedienteprStore;
|
||||
despachoPrStore = DespachosprStore;
|
||||
deplomasStore = DeplomasStore
|
||||
|
||||
constructor() { }
|
||||
|
||||
// falta a contagem dos deplomas
|
||||
get mdTotalDocument(): number {
|
||||
return this.despachoStore.count + /** this.expedientePrStore.count + */ this.pedidosStore.countdeferimento
|
||||
+ this.pedidosStore.countparecer + this.expedienteGbStore.count + this.despachoPrStore.count + this.pendentesStore.count
|
||||
+ this.eventoAprovacaoStore.count + this.deplomasStore.diplomasListCount + this.deplomasStore.countDiplomasAssinadoListCount + this.deplomasStore.deplomasReviewCount
|
||||
}
|
||||
|
||||
get prTotalDocument(): number {
|
||||
return this.despachoStore.count + /** this.expedientePrStore.count + */ this.pedidosStore.countdeferimento
|
||||
+ this.pedidosStore.countparecer + this.expedienteGbStore.count + this.despachoPrStore.count + this.pendentesStore.count
|
||||
+ this.eventoAprovacaoStore.count + this.deplomasStore.diplomasListCount + this.deplomasStore.countDiplomasAssinadoListCount + this.deplomasStore.deplomasReviewCount
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user