Ixonn Group

Capacidades y Acceso del Personal

You are here:
< All Topics
Esta característica está disponible desde la versión 2.3.4


Al crear módulos más complejos, probablemente desee agregar permisos para que el propietario pueda controlar lo que los miembros del personal pueden y no pueden hacer.

En Ixonn, esto se maneja con los permisos del personal, cada miembro del personal puede tener diferentes permisos de acceso.

Definir permisos de módulo

Como ejemplo, suponiendo que el módulo está destinado a enviar correos electrónicos masivos y desea que el propietario pueda permitir que solo miembros específicos del personal envíen correos, en el archivo de inicio del módulo agregue el siguiente código:

hooks () -> add_action (“admin_init”, “my_module_permissions”);

function my_module_permissions ($ permisos)

{

$ config = [];

$ config [‘Capacidades’] = [

‘Send_mass_emails’ => ‘Enviar correos electrónicos masivos’,

‘Create_templates’ => ‘Crear plantillas de correo’,

];

register_staff_capabilities (

“Prefix-mass-emails”,

$ config,

_l (“prefix_mass_emails”)

);

}

Guarde el archivo y navegue hasta e.q. Configurar-> Personal y editar algún miembro del personal, cuando haga clic en la pestaña de permisos, podrá ver los permisos en la parte inferior.

Parámetros explicados

  1. $ feature_id (prefix-mass-emails)- llamamos a esto la función de permisos, pero tenga en cuenta que el nombre debe ser único.
  2. $ config (matriz)- la configuración real con una matriz que tiene la clave de capacidades, será única para su implementación y dependerá de qué tipo de capacidades necesite su característica.
  3. $ name – El nombre del módulo e.q. Mass Mailer, el nombre se muestra al usuario que está editando los permisos para que pueda identificar para qué función están destinados los permisos.

Inyección de capacidades en funciones existentes

Si desea inyectar capacidades en una función existente, puede lograr esto con el siguiente código:

función my_module_permissions ()

{

$ capacidades = [];

$ Capacidades [‘capacidades’] = [

‘My-unique-capacity-id’ => ‘Capacidad relacionada con las facturas’,

];

register_staff_capabilities (“facturas”, $ capacidades);

}

Comprobando si el personal tiene las capacidades

Ahora que agregó sus permisos, en su código querrá realizar verificaciones y ver si el miembro del personal realmente tiene la capacidad de realizar acciones específicas.

Suponiendo que tiene un controlador con envío de método

función pública send () {

if (staff_can (‘send_mass_emails’, ‘prefix-mass-emails’)) {

// Envía correos aquí

}

}

staff_can

staff_can ($ capacidad, $ feature = null, $ staff_id = ”)


Se puede usar e.q. staff_can (“ver”, “facturas”);

@param string $ capacidad e.q. vista | crear | editar | borrar | view_own | can_delete

@param string $ feature el nombre de la característica e.q. facturas | estimaciones | contratos | my_module_name


NOTA: El parámetro $ feature está disponible como opcional, pero se recomienda siempre que se pase debido a la unicidad de los nombres de las capacidades.

Por ejemplo, si hay una “vista” de capacidad para las “estimaciones” de características y también para “facturas”, también existe una “vista” de capacidades

En este caso, si no pasa el nombre de la función, puede haber resultados inexactos.

Si está seguro de que el nombre de su capacidad es único e.q. my_prefixed_capability_can_create, no necesita pasar la función $
y puedes usar esta función como e.q. staff_can (“my_prefixed_capability_can_create”)


@param Mixed $ staff_id Identificación del personal | si no se aprueba, se verificará el personal conectado

Tenga en cuenta que los administradores pueden acceder a todas las funcionalidades, la función staff_can devolverá verdadero para cualquier capacidad si el usuario es administrador.

Artículos Relacionados

Next Private: Conceptos Básicos del Módulo
Table of Contents