permissions_groups:
  - group:
      code: organization
      name: Gestion de l'organisation.
      description: null
      permissions:
        - code: ORGANIZATION_EDIT
          name: Mettre à jour les informations de l'organisation.
          description: null
          roles: []
        - code: ORGANIZATION_VIEW
          name: Voir les informations de l'organisation.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]

  - group:
      code: department
      name: Gestion des départements.
      description: null
      permissions:
        - code: DEPARTMENT_LIST
          name: Lister tous les départements (sous-départements).
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: DEPARTMENT_VIEW
          name: Voir les détails d'un département.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: DEPARTMENT_CREATE
          name: Créer un nouveau département.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: DEPARTMENT_EDIT
          name: Modifier les informations d'un département.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: DEPARTMENT_DELETE
          name: Supprimer un département.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]

  - group:
      code: role
      name: Gestion des rôles.
      description: null
      permissions:
        - code: ROLE_ORGANIZATION_LIST
          name: Lister tous les rôles de l'organisation.
          description: null
          roles: []
        - code: ROLE_DEPARTMENT_LIST
          name: Lister tous les rôles d'un département (sous-départements).
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_VIEW
          name: Voir les détails du rôle.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_CREATE
          name: Créer un nouveau rôle.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_EDIT
          name: Modifier les informations d'un rôle.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_DELETE
          name: Supprimer un rôle.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_ASSIGN_USER
          name: Assigner un rôle à un utilisateur.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_ASSIGN_PERMISSION
          name: Assigner un rôle à une permission.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: ROLE_PERMISSION_LIST
          name: Lister tous les rôle avec les permissions.
          description: null
          roles: []

  - group:
      code: permission
      name: Gestion des Permissions.
      description: null
      permissions:
        - code: PERMISSION_ROLE_LIST
          name: Lister tous les permissions de l'organisation.
          description: null
          roles: []

  - group:
      code: user
      name: Gestion des utilisateur.
      description: null
      permissions:
        - code: USER_ORGANIZATION_LIST
          name: Lister tous les utilisateurs de l'organisation.
          description: null
          roles: []
        - code: USER_DEPARTMENT_LIST
          name: Lister tous les utilisateurs du département (sous-départements).
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: USER_VIEW
          name: Voir les détails de l'utilisateur.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: USER_INVITE
          name: Inviter un utilisateur.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: USER_EDIT
          name: Modifier les informations d'un utilisateur.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: USER_ACCOUNT_EDIT
          name: Modifier les informations d'un compte utilisateur.
          description: null
          roles: ["ROLE_USER"]
        - code: USER_PASSWORD_EDIT
          name: Modifier le mot de passe d'un compte utilisateur.
          description: null
          roles: ["ROLE_USER"]
        - code: USER_DELETE
          name: Supprimer un utilisateur.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: USER_DISABLE
          name: Désactiver/Bloquer un utilisateur.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]

  - group:
      code: project
      name: Gestion des projets.
      description: null
      permissions:
        - code: PROJECT_ORGANIZATION_LIST
          name: Lister tous les projets de l'organisation.
          description: null
          roles: [PROJECT_DEPARTMENT_LIST]
        - code: PROJECT_DEPARTMENT_LIST
          name: Lister tous les projets du département (sous-départements).
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: PROJECT_CREATE
          name: Créer un nouveau projet.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: PROJECT_VIEW
          name: Voir les détails d'un projet.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: PROJECT_EDIT
          name: Modifier les informations d'un projet.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: PROJECT_DELETE
          name: Supprimer un projet.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]
        - code: PROJECT_ARCHIVE
          name: Archiver un projet.
          description: null
          roles: ["ROLE_DEPARTMENT_RESPONSIBLE"]

  - group:
      code: component
      name: Gestion des composantes.
      description: null
      permissions:
        - code: COMPONENT_ORGANIZATION_LIST
          name: Lister tous les composantes de l'organisation.
          description: null
          roles: []
        - code: COMPONENT_DEPARTMENT_LIST
          name: Lister tous les composantes du département (sous-départements).
          description: null
          roles: []
        - code: COMPONENT_PROJECT_LIST
          name: Lister tous les composantes du projet.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: COMPONENT_CREATE
          name: Créer une nouvelle composante.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: COMPONENT_VIEW
          name: Voir les détails d'une composante.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: COMPONENT_EDIT
          name: Modifier les informations d'une composante.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: COMPONENT_DELETE
          name: Supprimer une composante.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: COMPONENT_ARCHIVE
          name: Archiver une composante.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]

  - group:
      code: activity
      name: Gestion des activités.
      description: null
      permissions:
        - code: ACTIVITY_ORGANIZATION_LIST
          name: Lister tous les activités de l'organisation..
          description: null
          roles: []
        - code: ACTIVITY_DEPARTMENT_LIST
          name: Lister tous les activités du département (sous-départements).
          description: null
          roles: []
        - code: ACTIVITY_PROJECT_LIST
          name: Lister tous les activités du projet.
          description: null
          roles: []
        - code: ACTIVITY_COMPONENT_LIST
          name: Lister tous les activités du composannte.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: ACTIVITY_CREATE
          name: Créer une nouvelle activité.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: ACTIVITY_VIEW
          name: Voir les détails d'une activité.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: ACTIVITY_EDIT
          name: Modifier les informations d'une activité.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: ACTIVITY_DELETE
          name: Supprimer une activité.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
        - code: ACTIVITY_ARCHIVE
          name: Archiver une activité.
          description: null
          roles:
            [
              "ROLE_DEPARTMENT_RESPONSIBLE",
              "ROLE_PROJECT_RESPONSIBLE",
              "ROLE_PROJECT_MONITOR",
            ]
