Преглед изворни кода

add distinction menu new files

Vincent пре 1 година
родитељ
комит
eed18c2006

+ 28 - 16
config/abilities/pages/rewards.yaml

@@ -1,17 +1,29 @@
-  access_rewards_list_page:
-    action: 'display'
-    conditions:
-      - {function: organizationHasAnyModule, parameters: ['AccessReward']}
-      - {function: accessHasAnyRoleAbility, parameters: [{action: 'read', subject: 'accessreward'}]}
+access_rewards_list_page:
+  action: 'display'
+  conditions:
+    - { function: organizationHasAnyModule, parameters: ['AccessReward'] }
+    - {
+        function: accessHasAnyRoleAbility,
+        parameters: [{ action: 'read', subject: 'accessreward' }],
+      }
 
-  access_rewards_command_page:
-    action: 'display'
-    conditions:
-      - { function: organizationHasAnyModule, parameters: [ 'AccessRewardCommand' ] }
-      - { function: accessHasAnyRoleAbility, parameters: [ { action: 'read', subject: 'accessreward' } ] }
-      -
-  rewards_list_page:
-    action: 'display'
-    conditions:
-      - { function: organizationHasAnyModule, parameters: [ 'Reward' ] }
-      - { function: accessHasAnyRoleAbility, parameters: [ { action: 'read', subject: 'reward' } ] }
+access_rewards_command_page:
+  action: 'display'
+  conditions:
+    - {
+        function: organizationHasAnyModule,
+        parameters: ['AccessRewardCommand'],
+      }
+    - {
+        function: accessHasAnyRoleAbility,
+        parameters: [{ action: 'read', subject: 'accessreward' }],
+      }
+    -
+rewards_list_page:
+  action: 'display'
+  conditions:
+    - { function: organizationHasAnyModule, parameters: ['Reward'] }
+    - {
+        function: accessHasAnyRoleAbility,
+        parameters: [{ action: 'read', subject: 'reward' }],
+      }

+ 0 - 2
models/Organization/Parameters.ts

@@ -166,6 +166,4 @@ export default class Parameters extends ApiModel {
 
   @Attr([])
   declare subdomains: []
-
-
 }

+ 34 - 10
services/layout/menuBuilder/rewardsMenuBuilder.ts

@@ -1,36 +1,60 @@
 import AbstractMenuBuilder from '~/services/layout/menuBuilder/abstractMenuBuilder'
-import {MenuGroup, MenuItems} from "~/types/layout";
-import {MENU_LINK_TYPE} from "~/types/enum/layout";
+import { MenuGroup, MenuItems } from '~/types/layout'
+import { MENU_LINK_TYPE } from '~/types/enum/layout'
 
 /**
  * Menu Distinctions
  */
 export default class RewardsMenuBuilder extends AbstractMenuBuilder {
-  static readonly menuName = "AccessRewards"
+  static readonly menuName = 'AccessRewards'
 
   /**
    * Construit le menu distinctions, ou null si aucune page accessible
    */
-  build (): MenuItems | MenuGroup | null {
+  build(): MenuItems | MenuGroup | null {
     const children: MenuItems = []
 
     if (this.ability.can('display', 'access_rewards_list_page')) {
-      children.push(this.createItem('access_rewards_list', {name: 'fas fa-trophy'}, '/access_rewards_not_delivered/list/', MENU_LINK_TYPE.V1))
+      children.push(
+        this.createItem(
+          'access_rewards_list',
+          { name: 'fas fa-trophy' },
+          '/access_rewards_not_delivered/list/',
+          MENU_LINK_TYPE.V1,
+        ),
+      )
     }
 
     if (this.ability.can('display', 'access_rewards_command_page')) {
-      children.push(this.createItem('access_rewards_command', {name: 'fas fa-trophy'}, '/access_reward_commands', MENU_LINK_TYPE.V1))
+      children.push(
+        this.createItem(
+          'access_rewards_command',
+          { name: 'fas fa-trophy' },
+          '/access_reward_commands',
+          MENU_LINK_TYPE.V1,
+        ),
+      )
     }
 
     if (this.ability.can('display', 'rewards_list_page')) {
-      children.push(this.createItem('rewards_list', {name: 'fas fa-trophy'}, '/rewards/list/', MENU_LINK_TYPE.V1))
+      children.push(
+        this.createItem(
+          'rewards_list',
+          { name: 'fas fa-trophy' },
+          '/rewards/list/',
+          MENU_LINK_TYPE.V1,
+        ),
+      )
     }
 
     if (children.length > 1) {
       // Plusieurs éléments, on retourne un groupe
-      return this.createGroup('access_rewards', {name: 'fas fa-trophy'}, children)
-    }
-    else if (children.length === 1) {
+      return this.createGroup(
+        'access_rewards',
+        { name: 'fas fa-trophy' },
+        children,
+      )
+    } else if (children.length === 1) {
       // Un seul élément, on retourne cet élément seul
       return children[0]
     }

+ 10 - 10
tests/units/services/layout/menuBuilder/websiteListMenuBuilder.test.ts

@@ -48,16 +48,16 @@ describe('build', () => {
 
     const result = menuBuilder.build() as MenuGroup
 
-        expect(result.children).toEqual([
-            {
-                label: 'MyOrganization',
-                icon: undefined,
-                to: 'https://some-website.com',
-                type: MENU_LINK_TYPE.EXTERNAL,
-                active: false,
-            },
-        ])
-    })
+    expect(result.children).toEqual([
+      {
+        label: 'MyOrganization',
+        icon: undefined,
+        to: 'https://some-website.com',
+        type: MENU_LINK_TYPE.EXTERNAL,
+        active: false,
+      },
+    ])
+  })
 
   test('with parents but no website', () => {
     organizationProfile.name = 'MyOrganization'