Browse Source

Menu cotisation

Vincent GUFFON 4 years ago
parent
commit
91641e27e5
3 changed files with 248 additions and 1 deletions
  1. 135 0
      config/abilities/pages/cotisations.yaml
  2. 19 1
      lang/layout/fr-FR.js
  3. 94 0
      use/template/Menus/cotisationsMenu.ts

+ 135 - 0
config/abilities/pages/cotisations.yaml

@@ -0,0 +1,135 @@
+  rate_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationRate', 'CotisationCall']}
+
+  parameters_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  send_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  state_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  pay_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  check_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  ledger_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  magazine_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCMFAdministration']}
+
+  ventilated_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  pay_erase_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  resume_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationTransmissionState']}
+
+  history_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationCall']}
+
+  call_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationStructure']}
+
+  history_struture_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationStructure']}
+
+  insurance_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationStructure', 'CotisationTransmissionState']}
+
+  resume_all_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationTransmission']}
+
+  resume_pay_cotisation_page:
+    action: 'display'
+    services:
+      access:
+        - {function: hasAbility, parameters: [{action: 'read', subject: 'cotisation'}]}
+      organization:
+        - {function: hasModule, parameters: ['CotisationTransmission']}

+ 19 - 1
lang/layout/fr-FR.js

@@ -6,7 +6,7 @@ export default (context, locale) => {
     family_view: 'Vue famille',
     education_student_next_year: 'Gestion des inscriptions',
     commissions: 'Commissions',
-    my_network: 'Mon réseau',
+    my_network: 'Répertoire du réseau',
     network: 'Réseau',
     schedule: 'Agenda',
     attendances: 'Absences',
@@ -37,5 +37,23 @@ export default (context, locale) => {
     report_activity: 'Rapport d\'activité',
     fede_stats: 'Fédérations',
     structure_stats: 'Structures',
+    rate_cotisation: 'Saisie du tarif',
+    parameters_cotisation: 'Paramètrer l\'appel de cotisation',
+    send_cotisation: 'Appel des cotisations',
+    state_cotisation: 'Suivi des cotisations',
+    pay_cotisation: 'Saisie des réglements',
+    check_cotisation: 'Remise de chèques',
+    ledger_cotisation: 'Journal des réglements',
+    magazine_cotisation: 'Bulletin',
+    ventilated_cotisation: 'Cotisations ventilées par sous total',
+    pay_erase_cotisation: 'Suppression de réglements',
+    resume_cotisation: 'Etat des transmissions',
+    history_cotisation: 'Historique des cotisations',
+    call_cotisation: 'Règlements à la fédération',
+    history_struture_cotisation: 'Cotisations fédérales',
+    insurance_cotisation: 'Assurance CMF',
+    resume_all_cotisation: 'Toutes les cotisations',
+    resume_pay_cotisation: 'Cotisation avec un règlement reçu ou en attente',
+    cotisations: 'Cotisations',
   })
 }

+ 94 - 0
use/template/Menus/cotisationsMenu.ts

@@ -0,0 +1,94 @@
+import {ItemMenu, ItemsMenu} from "~/types/types";
+import BaseMenu from "~/use/template/Menus/baseMenu";
+
+class CotisationsMenu extends BaseMenu{
+  private $ability:any;
+
+  constructor($config:any, $ability:any) {
+    super($config)
+    this.$ability = $ability
+  }
+
+  /**
+   * Construit le menu Agenda ou null si aucune page accessible
+   * @return {ItemMenu | null}
+   */
+  getMenu():ItemMenu | null {
+    const children:ItemsMenu = [];
+
+    if (this.$ability().can('display', 'rate_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'rate_cotisation', '/cotisation/rate', true))
+    }
+
+    if (this.$ability().can('display', 'parameters_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'parameters_cotisation', '/cotisation/parameter', true))
+    }
+
+    if (this.$ability().can('display', 'send_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'send_cotisation', '/cotisation/send', true))
+    }
+
+    if (this.$ability().can('display', 'state_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'state_cotisation', '/cotisation/state', true))
+    }
+
+    if (this.$ability().can('display', 'pay_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'pay_cotisation', '/cotisation/pay', true))
+    }
+
+    if (this.$ability().can('display', 'check_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'check_cotisation', '/cotisation/check', true))
+    }
+
+    if (this.$ability().can('display', 'ledger_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'ledger_cotisation', '/cotisation/ledger', true))
+    }
+
+    if (this.$ability().can('display', 'magazine_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'magazine_cotisation', '/cotisation/magazine', true))
+    }
+
+    if (this.$ability().can('display', 'ventilated_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'ventilated_cotisation', '/cotisation/ventilated', true))
+    }
+
+    if (this.$ability().can('display', 'pay_erase_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'pay_erase_cotisation', '/cotisation/payerase', true))
+    }
+
+    if (this.$ability().can('display', 'resume_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'resume_cotisation', '/cotisation/resume', true))
+    }
+
+    if (this.$ability().can('display', 'history_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'history_cotisation', '/cotisation/history', true))
+    }
+
+    if (this.$ability().can('display', 'call_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'call_cotisation', '/cotisation/call', true))
+    }
+
+    if (this.$ability().can('display', 'history_struture_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'history_struture_cotisation', '/cotisation/historystructure', true))
+    }
+
+    if (this.$ability().can('display', 'insurance_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'insurance_cotisation', '/cotisation/insurance', true))
+    }
+
+    if (this.$ability().can('display', 'resume_all_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'resume_all_cotisation', '/cotisation/resumeall', true))
+    }
+
+    if (this.$ability().can('display', 'resume_pay_cotisation_page')) {
+      children.push(this.constructMenu('fa-euro-sign', 'resume_pay_cotisation', '/cotisation/resumepay', true))
+    }
+
+    if(children.length === 1){
+      return children[0];
+    }
+    return children.length > 0 ? this.constructMenu('fa-money-bill', 'cotisations', undefined, undefined, children) : null;
+  }
+}
+
+export const getCotisationsMenu = ($config:any, $ability:any) => new CotisationsMenu($config, $ability).getMenu()