diff --git a/src/main/frontend/src/app/modules/company/pages/list/list.component.html b/src/main/frontend/src/app/modules/company/pages/list/list.component.html
index b528bb3..fe05358 100644
--- a/src/main/frontend/src/app/modules/company/pages/list/list.component.html
+++ b/src/main/frontend/src/app/modules/company/pages/list/list.component.html
@@ -2,5 +2,6 @@
[entities$]="companies$"
[columns]="columns"
[buttons]="buttons"
- addLink="/catalog/company/add">
+ addLink="/catalog/company/add"
+ addPermission="EDIT_COMPANY">
diff --git a/src/main/frontend/src/app/modules/material-type/pages/list/list.component.html b/src/main/frontend/src/app/modules/material-type/pages/list/list.component.html
index 075efa2..661e7a5 100644
--- a/src/main/frontend/src/app/modules/material-type/pages/list/list.component.html
+++ b/src/main/frontend/src/app/modules/material-type/pages/list/list.component.html
@@ -2,5 +2,6 @@
[entities$]="materialTypes$"
[columns]="columns"
[buttons]="buttons"
- addLink="/catalog/materialtype/add">
+ addLink="/catalog/materialtype/add"
+ addPermission="EDIT_MATERIAL_TYPE">
diff --git a/src/main/frontend/src/app/modules/material/pages/list/list.component.html b/src/main/frontend/src/app/modules/material/pages/list/list.component.html
index d46acc6..f14e70a 100644
--- a/src/main/frontend/src/app/modules/material/pages/list/list.component.html
+++ b/src/main/frontend/src/app/modules/material/pages/list/list.component.html
@@ -3,5 +3,6 @@
[columns]="columns"
[icons]="icons"
[buttons]="buttons"
- addLink="/catalog/material/add">
+ addLink="/catalog/material/add"
+ addPermission="EDIT_MATERIAL">
diff --git a/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.html b/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.html
index 9c4338a..e0ac245 100644
--- a/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.html
+++ b/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.html
@@ -1,5 +1,5 @@
-
+
diff --git a/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.ts b/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.ts
index 0e3b513..3b5d102 100644
--- a/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.ts
+++ b/src/main/frontend/src/app/modules/shared/components/entity-list/entity-list.component.ts
@@ -15,6 +15,7 @@ export class EntityListComponent extends SubscribingComponent {
@Input() icons: TableIcon[]
@Input() buttons?: TableButton[]
@Input() addLink: string
+ @Input() addPermission: EmployeePermission
constructor(
private accountService: AccountService
@@ -23,7 +24,11 @@ export class EntityListComponent extends SubscribingComponent {
}
hasPermissionToUseButton(button: TableButton): boolean {
- return !button.permission || this.accountService.hasPermission(button.permission)
+ return !button.permission || this.hasPermission(button.permission)
+ }
+
+ hasPermission(permission: EmployeePermission): boolean {
+ return this.accountService.hasPermission(permission)
}
openExternalLink(button: TableButton, entity: T) {
diff --git a/src/main/frontend/src/app/modules/shared/model/employee.ts b/src/main/frontend/src/app/modules/shared/model/employee.ts
index 121ccd5..a4db062 100644
--- a/src/main/frontend/src/app/modules/shared/model/employee.ts
+++ b/src/main/frontend/src/app/modules/shared/model/employee.ts
@@ -24,6 +24,7 @@ export enum EmployeePermission {
VIEW_MATERIAL = 'VIEW_MATERIAL',
VIEW_MATERIAL_TYPE = 'VIEW_MATERIAL_TYPE',
VIEW_COMPANY = 'VIEW_COMPANY',
+ VIEW_RECIPE = 'VIEW_RECIPE',
VIEW = 'VIEW',
VIEW_EMPLOYEE = 'VIEW_EMPLOYEE',
VIEW_EMPLOYEE_GROUP = 'VIEW_EMPLOYEE_GROUP',
@@ -31,6 +32,7 @@ export enum EmployeePermission {
EDIT_MATERIAL = 'EDIT_MATERIAL',
EDIT_MATERIAL_TYPE = 'EDIT_MATERIAL_TYPE',
EDIT_COMPANY = 'EDIT_COMPANY',
+ EDIT_RECIPE = 'EDIT_RECIPE',
EDIT = 'EDIT',
EDIT_EMPLOYEE = 'EDIT_EMPLOYEE',
EDIT_EMPLOYEE_PASSWORD = 'EDIT_EMPLOYEE_PASSWORD',
@@ -39,6 +41,7 @@ export enum EmployeePermission {
REMOVE_MATERIAL = 'REMOVE_MATERIAL',
REMOVE_MATERIAL_TYPE = 'REMOVE_MATERIAL_TYPE',
REMOVE_COMPANY = 'REMOVE_COMPANY',
+ REMOVE_RECIPE = 'REMOVE_RECIPE',
REMOVE = 'REMOVE',
REMOVE_EMPLOYEE = 'REMOVE_EMPLOYEE',
REMOVE_EMPLOYEE_GROUP = 'REMOVE_EMPLOYEE_GROUP',
@@ -56,10 +59,11 @@ export const mapped_permissions = {
impliedPermissions: []
},
{permission: EmployeePermission.VIEW_COMPANY, description: 'Voir les bannières', impliedPermissions: []},
+ {permission: EmployeePermission.VIEW_RECIPE, description: 'Voir les couleurs', impliedPermissions: []},
{
permission: EmployeePermission.VIEW,
description: 'Voir',
- impliedPermissions: [EmployeePermission.VIEW_MATERIAL, EmployeePermission.VIEW_MATERIAL_TYPE, EmployeePermission.VIEW_COMPANY]
+ impliedPermissions: [EmployeePermission.VIEW_MATERIAL, EmployeePermission.VIEW_MATERIAL_TYPE, EmployeePermission.VIEW_COMPANY, EmployeePermission.VIEW_RECIPE]
},
{permission: EmployeePermission.VIEW_EMPLOYEE, description: 'Voir les employés', impliedPermissions: []},
{permission: EmployeePermission.VIEW_EMPLOYEE_GROUP, description: 'Voir les groupes', impliedPermissions: []},
@@ -80,15 +84,20 @@ export const mapped_permissions = {
description: 'Modifier les bannières',
impliedPermissions: [EmployeePermission.VIEW_COMPANY]
},
+ {
+ permission: EmployeePermission.EDIT_RECIPE,
+ description: 'Modifier les couleurs',
+ impliedPermissions: [EmployeePermission.VIEW_RECIPE]
+ },
{
permission: EmployeePermission.EDIT,
description: 'Modifier',
- impliedPermissions: [EmployeePermission.EDIT_MATERIAL, EmployeePermission.EDIT_MATERIAL_TYPE, EmployeePermission.EDIT_COMPANY, EmployeePermission.VIEW]
+ impliedPermissions: [EmployeePermission.EDIT_MATERIAL, EmployeePermission.EDIT_MATERIAL_TYPE, EmployeePermission.EDIT_COMPANY, EmployeePermission.EDIT_RECIPE, EmployeePermission.VIEW]
},
{
permission: EmployeePermission.EDIT_EMPLOYEE,
description: 'Modifier les employés',
- impliedPermissions: [EmployeePermission.EDIT_EMPLOYEE]
+ impliedPermissions: [EmployeePermission.VIEW_EMPLOYEE]
},
{
permission: EmployeePermission.EDIT_EMPLOYEE_PASSWORD,
@@ -117,10 +126,15 @@ export const mapped_permissions = {
description: 'Supprimer des bannières',
impliedPermissions: [EmployeePermission.EDIT_COMPANY]
},
+ {
+ permission: EmployeePermission.REMOVE_RECIPE,
+ description: 'Supprimer des couleurs',
+ impliedPermissions: [EmployeePermission.EDIT_RECIPE]
+ },
{
permission: EmployeePermission.REMOVE,
description: 'Supprimer',
- impliedPermissions: [EmployeePermission.REMOVE_MATERIAL, EmployeePermission.REMOVE_MATERIAL_TYPE, EmployeePermission.REMOVE_COMPANY, EmployeePermission.EDIT]
+ impliedPermissions: [EmployeePermission.REMOVE_MATERIAL, EmployeePermission.REMOVE_MATERIAL_TYPE, EmployeePermission.REMOVE_COMPANY, EmployeePermission.REMOVE_RECIPE, EmployeePermission.EDIT]
},
{
permission: EmployeePermission.REMOVE_EMPLOYEE,