From 20c187880ce9b5b4b55d3027f5df07ce042ad7ec Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 11 Sep 2016 22:00:09 -0400 Subject: Merge manually pull-request #2658 --- doc/es_ES/plugin-automatic-actions.markdown | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 doc/es_ES/plugin-automatic-actions.markdown (limited to 'doc/es_ES/plugin-automatic-actions.markdown') diff --git a/doc/es_ES/plugin-automatic-actions.markdown b/doc/es_ES/plugin-automatic-actions.markdown new file mode 100644 index 00000000..6e0a9b65 --- /dev/null +++ b/doc/es_ES/plugin-automatic-actions.markdown @@ -0,0 +1,61 @@ +Agregando acciones automáticas +=============================== + +Agregando una nueva acccion automática es bastante simple. + +Creando una nueva accion +------------------------ + +Tus acciones automáticas deben heradarse de la clase `Kanboard\Action\Base`. + +Varios métodos abstractos deben ser implementadas por sí mismo: + +| Metodos | Descripción | +|-------------------------------------|------------------------------------------------------------------| +| `getDescription()` | Descripcion visible en la interface del usuario | +| `getCompatibleEvents()` | Obtener las listas de eventos compatibles | +| `getActionRequiredParameters()` | Obtener los parametros requeridos para la acción (definidos por el usuario)| +| `getEventRequiredParameters()` | Obtener los parametros requeridos para el evento | +| `doAction(array $data)` | Ejecutar la acción, Debe regresar true si fue satisfactorio | +| `hasRequiredCondition(array $data)` | Comprobar si los datos de eventos cumplen la condición de acción | + +Tu accion automatica es identificada en kanboard utilizando el nombre de la clase absoluta con el espacio de nombre incluido + +Agregando nuevos eventos +------------------------ + +La lista de eventos de la aplicación está disponible en la clase `Kanboard\Core\Event\EventManager::getAll()`. +Sin embargo, si tu plugin dispara nuevos eventos, tu puedes registrar estos eventos : + +```php +$this->actionManager->getAction('\Kanboard\Plugin\MyPlugin\MyActionName')->addEvent('my.event', 'My event description'); +``` + +Tu puedes extender la lista de eventos compatibles de acciones existentes para ser usada en algun metodo. + +Registra la acción +---------------------- + +Tu tienes que llamar el metodo `register()` desde la clase `Kanboard\Core\Action\ActionManager`: + +```php +actionManager->register(new TaskRename($this->container)); + } +} +``` + +Ejemplo +------- + +- [Ejemplo de acción automatica](https://github.com/kanboard/plugin-example-automatic-action) -- cgit v1.2.3