Aller au contenu principal
Version: NEXT GEN

Permissions

Un système de permissions est disponible dans ClientXCMS pour gérer les accès des utilisateurs à certaines fonctionnalités. Ce système est basé sur des permissions qui sont attribuées à des rôles. Chaque rôle peut avoir plusieurs permissions.

Permissions par défaut

Voici la liste des permissions par défaut de ClientXCMS.

Permissions Administratives

NomDescription
admin.manage_licenseGérer les licences
admin.manage_gatewaysGérer les passerelles de paiement
admin.manage_rolesGérer les rôles
admin.manage_staff_profileGérer les profils du personnel
admin.manage_staffGérer le personnel

Permissions de Facturation

NomDescription
admin.show_invoicesVoir les factures
admin.create_invoicesCréer des factures
admin.manage_invoicesGérer les factures
admin.show_payment_methodsVoir les méthodes de paiement

Permissions des Clients

NomDescription
admin.manage_customersGérer les clients
admin.show_emailsAfficher les messages électroniques
admin.autologin_customerConnexion automatique en tant que client
admin.dashboard_last_loginVoir les dernières connexions dans le tableau de bord
admin.show_customersVoir les clients

Permissions du Support

NomDescription
admin.manage_departmentsGérer les départements
admin.manage_ticketsGérer les tickets
admin.close_ticketsFermer les tickets
admin.reply_ticketsRépondre aux tickets
admin.create_ticketsCréer des tickets

Permissions des Métadonnées

NomDescription
admin.manage_metadataGérer les métadonnées
admin.show_metadataVoir les métadonnées

Permissions des Services

NomDescription
admin.manage_servicesGérer les services
admin.show_servicesVoir les services
admin.deliver_servicesFournir des services

Permissions de la Boutique

NomDescription
admin.manage_productsGérer les produits
admin.manage_groupsGérer les groupes de produits
admin.manage_couponsGérer les coupons
admin.earn_pageAccéder à la page de gains

Permissions Techniques

NomDescription
admin.manage_extensionsGérer les extensions
admin.manage_databaseGérer la base de données
admin.show_logsVoir les journaux
admin.manage_serversGérer les serveurs
admin.manage_personalizationGérer la personnalisation

Constantes de Permissions

Vous pouvez également utiliser les permissions sous formes de constantes :

MANAGE_EXTENSIONS = 'admin.manage_extensions';

MANAGE_PERSONALIZATION = 'admin.manage_personalization';

MANAGE_SETTINGS = 'admin.manage_settings';

ALLOWED = 'admin.allowed';

Exemple :

if (staff_has_permission(Permission::MANAGE_EXTENSIONS)) {
// Code
}
Information

La permission admin.manage_extensions est conventionnellement utilisée pour toutes les pages extensions.

Créer une permission

Pour créer une permission, vous devez ajouter une nouvelle entrée dans le fichier permissions.json de votre extension. Voici un exemple de fichier permissions.json :

{
[
{
"name": "admin.fund",
"label": "permissions.fund",
"group": "permissions.store"
},
],
}

Avec name qui est le nom de la permission, label qui est la traduction de la permission dans le fichier de langue et group qui est le groupe de la permission.

Puis vous pouvez utiliser la permission dans votre code comme ceci :

if (staff_has_permission('admin.fund')) {
// Code
}

ou en blade :

@if (staff_has_permission('admin.fund'))
// Code
@endif

Groupes disponibles

Voici la liste des groupes de permissions disponibles :

  • permissions.store
  • permissions.technical
  • permissions.admin
  • permissions.billing
  • permissions.customers
  • permissions.metadata
  • permissions.services
  • permissions.helpdesk