浏览代码

menu 2ios

Vincent GUFFON 4 年之前
父节点
当前提交
0128f18180

+ 83 - 0
config/abilities/pages/admin2ios.yaml

@@ -0,0 +1,83 @@
+  all_accesses_page:
+    action: 'display'
+    services:
+      access :
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'user'}]}
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  all_organizations_page:
+    action: 'display'
+    services:
+      access :
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'organization'}]}
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  tips_page:
+    action: 'display'
+    services:
+      access :
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'tips'}]}
+      organization  :
+        - {function: hasModule, parameters: ['CorePremium']}
+
+  actions_lead_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  renewall_list_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  settlements_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  pendings_settlements_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  outages_notice_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  degraded_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  dgv_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  cmf_cotisation_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  right_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}
+
+  tree_page:
+    action: 'display'
+    services:
+      organization  :
+        - {function: hasModule, parameters: ['Admin2IOS']}

+ 14 - 0
lang/layout/fr-FR.js

@@ -55,5 +55,19 @@ export default (context, locale) => {
     resume_all_cotisation: 'Toutes les cotisations',
     resume_pay_cotisation: 'Cotisation avec un règlement reçu ou en attente',
     cotisations: 'Cotisations',
+    all_accesses: 'Toutes les personnes',
+    admin2ios: 'Administration 2ios',
+    all_organizations: 'Toutes les structures',
+    tips: 'Tips',
+    actions_lead: 'Actions à conduire',
+    renewall_list: 'Structures à relancer',
+    settlements: 'Règlements effectués',
+    pendings_settlements: 'Règlements en attentes',
+    outages_notice: 'Coupure de service',
+    degraded: 'Clients',
+    dgv: 'Assurance CMF',
+    cmf_cotisation: 'Cotisation CMF',
+    right_menu: 'Droits version 5.9',
+    tree_menu: 'Gestion de l\'arbre',
   })
 }

+ 3 - 0
use/template/Menus/accessMenu.ts

@@ -32,12 +32,15 @@ class AccessMenu extends BaseMenu{
     if (this.$ability().can('display', 'education_student_next_year_page')) {
       children.push(this.constructMenu('fa-list-alt', 'education_student_next_year', '/education_student_next_year/list/', true))
     }
+
     if (this.$ability().can('display', 'commissions_page')) {
       children.push(this.constructMenu('fa-street-view', 'commissions', '/commissions/list/', true))
     }
+
     if (this.$ability().can('display', 'network_children_page')) {
       children.push(this.constructMenu('fa-sitemap', 'network', 'networks/list/', true))
     }
+
     if (this.$ability().can('display', 'network_parents_page')) {
       children.push(this.constructMenu('fa-sitemap', 'my_network', '/network_artist_schools/list/', true))
     }

+ 78 - 0
use/template/Menus/admin2iosMenu.ts

@@ -0,0 +1,78 @@
+import {ItemMenu, ItemsMenu} from "~/types/types";
+import BaseMenu from "~/use/template/Menus/baseMenu";
+
+class Admin2iosMenu extends BaseMenu{
+  private $ability:any;
+
+  constructor($config:any, $ability:any) {
+    super($config)
+    this.$ability = $ability
+  }
+
+  /**
+   * Construit le menu Administration 2ios ou null si aucune page accessible
+   * @return {ItemMenu | null}
+   */
+  getMenu():ItemMenu | null {
+    const children:ItemsMenu = [];
+
+    if (this.$ability().can('display', 'all_accesses_page')) {
+      children.push(this.constructMenu('fa-users', 'all_accesses', '/all_accesses/list/', true))
+    }
+
+    if (this.$ability().can('display', 'all_organizations_page')) {
+      children.push(this.constructMenu('fa-building', 'all_organizations', '/organization_params/list/', true))
+    }
+
+    if (this.$ability().can('display', 'tips_page')) {
+      children.push(this.constructMenu('fa-info-circle', 'tips', '/tips/list/', true))
+    }
+
+    if (this.$ability().can('display', 'actions_lead_page')) {
+      children.push(this.constructMenu('fa-comments-dollar', 'actions_lead', '/admin2ios/actions_lead', true))
+    }
+
+    if (this.$ability().can('display', 'renewall_list_page')) {
+      children.push(this.constructMenu('fa-sync', 'renewall_list', '/admin2ios/renewalllist', true))
+    }
+
+    if (this.$ability().can('display', 'settlements_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'settlements', '/admin2ios/settlements', true))
+    }
+
+    if (this.$ability().can('display', 'pendings_settlements_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'pendings_settlements', '/admin2ios/pendings_settlements', true))
+    }
+
+    if (this.$ability().can('display', 'outages_notice_page')) {
+      children.push(this.constructMenu('fa-cut', 'outages_notice', '/admin2ios/outagesnotice', true))
+    }
+
+    if (this.$ability().can('display', 'degraded_page')) {
+      children.push(this.constructMenu('fa-users', 'degraded', '/admin2ios/degraded', true))
+    }
+
+    if (this.$ability().can('display', 'dgv_page')) {
+      children.push(this.constructMenu('fa-house-damage', 'dgv', '/admin2ios/dgv', true))
+    }
+
+    if (this.$ability().can('display', 'cmf_cotisation_page')) {
+      children.push(this.constructMenu('fa-info-circle', 'cmf_cotisation', '/admin2ios/cotisationcmf', true))
+    }
+
+    if (this.$ability().can('display', 'right_page')) {
+      children.push(this.constructMenu('fa-balance-scale-right', 'right_menu', '/admin2ios/right', true))
+    }
+
+    if (this.$ability().can('display', 'tree_page')) {
+      children.push(this.constructMenu('fa-sitemap', 'tree_menu', '/admin2ios/tree', true))
+    }
+
+    if(children.length === 1){
+      return children[0];
+    }
+    return children.length > 0 ? this.constructMenu('fa-sitemap', 'admin2ios', undefined, undefined, children) : null;
+  }
+}
+
+export const getAdmin2iosMenu = ($config:any, $ability:any) => new Admin2iosMenu($config, $ability).getMenu()

+ 1 - 1
use/template/Menus/cotisationsMenu.ts

@@ -10,7 +10,7 @@ class CotisationsMenu extends BaseMenu{
   }
 
   /**
-   * Construit le menu Agenda ou null si aucune page accessible
+   * Construit le menu Cotisations ou null si aucune page accessible
    * @return {ItemMenu | null}
    */
   getMenu():ItemMenu | null {

+ 4 - 0
use/template/menu.ts

@@ -11,6 +11,7 @@ import {getDonorsMenu} from "~/use/template/Menus/donorsMenu";
 import {getMedalsMenu} from "~/use/template/Menus/medalsMenu";
 import {getStatsMenu} from "~/use/template/Menus/statsMenu";
 import {getCotisationsMenu} from "~/use/template/Menus/cotisationsMenu";
+import {getAdmin2iosMenu} from "~/use/template/Menus/admin2iosMenu";
 
 /**
  * @category Use/template
@@ -73,6 +74,9 @@ class Menu{
     const statsMenu = getStatsMenu(this.$config,this.$ability)
     if(statsMenu) menu.push(statsMenu)
 
+    const admin2iosMenu = getAdmin2iosMenu(this.$config,this.$ability)
+    if(admin2iosMenu) menu.push(admin2iosMenu)
+
     return ref(menu)
   }
 }