diff --git a/src/app/OtherService/permission.service.spec.ts b/src/app/OtherService/permission.service.spec.ts
new file mode 100644
index 000000000..1a77304d8
--- /dev/null
+++ b/src/app/OtherService/permission.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { PermissionService } from './permission.service';
+
+describe('PermissionService', () => {
+ let service: PermissionService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(PermissionService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/OtherService/permission.service.ts b/src/app/OtherService/permission.service.ts
new file mode 100644
index 000000000..a09dafb53
--- /dev/null
+++ b/src/app/OtherService/permission.service.ts
@@ -0,0 +1,46 @@
+import { Injectable } from '@angular/core';
+import { UserStore } from 'src/app/store/user.service'
+
+@Injectable({
+ providedIn: 'root'
+})
+export class PermissionService {
+
+ userStore = UserStore
+
+ constructor() { }
+
+ userRole(args) {
+ let data: string[] = []
+
+ if(!Array.isArray(args) && typeof(args) == 'string') {
+ data = [args]
+ } else {
+ data = args
+ }
+
+ return data.includes(this.userStore.user.Profile)
+ }
+
+ role(args: any) {
+
+
+ let UserRoleIsValid = this.userRole(args)
+
+ return {
+ permissionAnyOf(role) {
+
+ if(!Array.isArray(args) && typeof(args) == 'string') {
+ role = [args]
+ }
+
+ if(!UserRoleIsValid) {return false }
+
+ return true
+
+ }
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts
index bf00a69a0..6b93574d0 100644
--- a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts
+++ b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts
@@ -332,7 +332,7 @@ export class DocumentSetUpMeetingPage implements OnInit {
async getDoc() {
const modal = await this.modalController.create({
component: SearchPage,
- cssClass: 'modal modal-desktop modal-width-100-width-background',
+ cssClass: 'modal modal-desktop modal-width-100-width-background modal-background',
componentProps: {
type: 'AccoesPresidenciais & ArquivoDespachoElect',
showSearchInput: true,
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html
index ca17c7c36..bd3cfa790 100644
--- a/src/app/pages/gabinete-digital/gabinete-digital.page.html
+++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html
@@ -90,7 +90,7 @@
{{ despachoprstore.count }} Documentos
-
+
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts
index 6a1becab5..325e05906 100644
--- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts
+++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts
@@ -20,6 +20,7 @@ import { PendentesStore } from 'src/app/store/pendestes-store.service';
import { PedidosStore } from 'src/app/store/pedidos-store.service';
import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
+import { PermissionService } from 'src/app/OtherService/permission.service';
@Component({
selector: 'app-gabinete-digital',
templateUrl: './gabinete-digital.page.html',
@@ -99,9 +100,10 @@ export class GabineteDigitalPage implements OnInit {
private alertService: AlertService,
private activatedRoute: ActivatedRoute,
private router: Router,
- authService: AuthService
+ authService: AuthService,
+ public p: PermissionService
) {
-
+
this.loggeduser = authService.ValidatedUser;
window.onresize = (event) => {
@@ -123,6 +125,7 @@ export class GabineteDigitalPage implements OnInit {
ngOnInit() {
+
const pathname = window.location.pathname
this.LoadCounts();
diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts
index af5b6a178..e5b42f8a1 100644
--- a/src/app/services/auth.service.ts
+++ b/src/app/services/auth.service.ts
@@ -10,6 +10,7 @@ import { AuthConnstants } from '../config/auth-constants';
import { AlertController } from '@ionic/angular';
import { LocalstoreService } from '../store/localstore.service';
import { ToastService } from './toast.service';
+import { UserStore } from 'src/app/store/user.service'
@Injectable({
providedIn: 'root'
@@ -18,9 +19,10 @@ export class AuthService {
userData$ = new BehaviorSubject
('');
userId$ = new BehaviorSubject('');
headers: HttpHeaders;
- public ValidatedUser:User;
+ public ValidatedUser: User;
public ValidatedUserChat:any;
opts:any;
+ userStore = UserStore
constructor(
private http: HttpClient,
@@ -74,7 +76,10 @@ export class AuthService {
response.BasicAuthKey = user.BasicAuthKey
this.ValidatedUser = response;
+ console.log('response', response)
+
this.localstoreService.set('user', response)
+ this.userStore.reset(response)
this.storageService.store(AuthConnstants.USER, response);
diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts
index 6b3fbd484..0a8e7c9a2 100644
--- a/src/app/shared/agenda/edit-event/edit-event.page.ts
+++ b/src/app/shared/agenda/edit-event/edit-event.page.ts
@@ -427,6 +427,7 @@ export class EditEventPage implements OnInit {
async getDoc() {
+
const modal = await this.modalController.create({
component: SearchPage,
cssClass: 'modal-width-100-width-background modal',
diff --git a/src/app/store/localstore.service.ts b/src/app/store/localstore.service.ts
index 995034584..fb4a9edb7 100644
--- a/src/app/store/localstore.service.ts
+++ b/src/app/store/localstore.service.ts
@@ -6,7 +6,7 @@ import { AES, enc, SHA1 } from 'crypto-js'
})
export class LocalstoreService {
- private prefix = 'v12-'
+ private prefix = 'v13-'
constructor() {
@@ -58,3 +58,19 @@ export class LocalstoreService {
}
export const localstoreService = new LocalstoreService()
+
+
+
+// Create WebSocket connection.
+const socket = new WebSocket('ws://localhost:8080');
+
+// Listen for messages
+socket.addEventListener('message', function (event) {
+ console.log('Message from server ', event.data); // Message from server mobile first é fraco
+
+ var p = Promise.resolve(event.data);
+ p.then(function(v) {
+ console.log(v); // mobile first é fraco
+ });
+
+});
\ No newline at end of file
diff --git a/src/app/store/user.service.spec.ts b/src/app/store/user.service.spec.ts
new file mode 100644
index 000000000..3f804c9fd
--- /dev/null
+++ b/src/app/store/user.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { UserService } from './user.service';
+
+describe('UserService', () => {
+ let service: UserService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(UserService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/store/user.service.ts b/src/app/store/user.service.ts
new file mode 100644
index 000000000..d81b56231
--- /dev/null
+++ b/src/app/store/user.service.ts
@@ -0,0 +1,56 @@
+import { Injectable } from '@angular/core';
+import { localstoreService } from './localstore.service'
+import { SHA1 } from 'crypto-js'
+import { User } from '../models/user.model';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class UserService {
+
+ // main data
+ private _user: User = {
+ Authorization: "",
+ BasicAuthKey: "",
+ Email: "",
+ FullName: "",
+ Profile: "",
+ RoleDescription: "",
+ RoleID: 0,
+ SharedCalendars: [],
+ OwnerCalendars: [],
+ UserId: 0,
+ UserName: "",
+ }
+ // local storage keyName
+ private keyName: string;
+
+ constructor() {
+
+ this.keyName = (SHA1(this.constructor.name)).toString()
+ let restore = localstoreService.get(this.keyName, {})
+ this._user = restore.user || new User()
+
+ }
+
+ get user(): User {
+ return this._user || new User()
+ }
+
+ reset(user) {
+ this._user = user
+
+ this.save(this._user)
+ }
+
+ private save(user) {
+ setTimeout(()=>{
+ localstoreService.set(this.keyName,{
+ user,
+ })
+ }, 10)
+
+ }
+}
+
+export const UserStore = new UserService()
diff --git a/src/global.scss b/src/global.scss
index 5469ff27b..8dd6649de 100644
--- a/src/global.scss
+++ b/src/global.scss
@@ -1071,7 +1071,7 @@ ngx-mat-datetime-content{
}
-@media only screen and (max-width: 1024px) {
+@media only screen and (max-width: 767px) {
.calendar-segment-mdgpr:not(.calendar-segment-pr-force) {
.calendar-pr-event-type-Oficial {
border-right: 3px solid transparent !important;
@@ -1090,3 +1090,8 @@ ngx-mat-datetime-content{
}
}
}
+
+
+.modal-background {
+ background: #0000006b;
+}
\ No newline at end of file