diff --git a/apps/gauzy/src/app/pages/employees/edit-employee/edit-employee-profile/edit-employee-settings/edit-employee-other-settings.component.ts b/apps/gauzy/src/app/pages/employees/edit-employee/edit-employee-profile/edit-employee-settings/edit-employee-other-settings.component.ts index 2b41a8fa04..4ae8eff3d5 100644 --- a/apps/gauzy/src/app/pages/employees/edit-employee/edit-employee-profile/edit-employee-settings/edit-employee-other-settings.component.ts +++ b/apps/gauzy/src/app/pages/employees/edit-employee/edit-employee-profile/edit-employee-settings/edit-employee-other-settings.component.ts @@ -43,11 +43,10 @@ export class EditEmployeeOtherSettingsComponent implements OnInit, OnDestroy { timeZone: [], timeFormat: [], upworkId: [], - linkedInId: [], - allowManualTime: [], - allowModifyTime: [], - allowDeleteTime: [], - allowScreenshotCapture: [] + allowManualTime: [false], + allowModifyTime: [false], + allowDeleteTime: [false], + allowScreenshotCapture: [true] }); } diff --git a/packages/ui-core/shared/src/lib/directives/time-tracking-authorized-directive.ts b/packages/ui-core/shared/src/lib/directives/time-tracking-authorized-directive.ts index 9963451da0..45a93cb53d 100644 --- a/packages/ui-core/shared/src/lib/directives/time-tracking-authorized-directive.ts +++ b/packages/ui-core/shared/src/lib/directives/time-tracking-authorized-directive.ts @@ -44,19 +44,22 @@ export class TimeTrackingAuthorizedDirective implements OnInit { this._store.user$.pipe( filter((user: IUser) => !!user), map((user: IUser) => { + const permissions = Array.isArray(this.permission) ? this.permission : [this.permission]; + + const hasPermissions = (source: any) => + permissions.every((permission) => { + const permKey = camelcase(permission); + return permKey in source && source[permKey]; + }); + + const hasOrgPermission = hasPermissions(organization); + if (user.employee) { // Check if the permission is in the organization and in the employee properties - return ( - camelcase(this.permission) in organization && - organization[camelcase(this.permission)] && - camelcase(this.permission) in user.employee && - user.employee[camelcase(this.permission)] - ); + const hasEmployeePermission = hasPermissions(user.employee); + return hasOrgPermission && hasEmployeePermission; } else { - return ( - camelcase(this.permission) in organization && - organization[camelcase(this.permission)] - ); + return hasOrgPermission; } }) )