PHP code example of uspdev / workflow

1. Go to this page and download the library: Download uspdev/workflow library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

uspdev / workflow example snippets


use Illuminate\Http\Request;

$workflowData  = [
    'name' => 'simples', 
    'description' => 'Fluxo de workflow simples', 
    'definition' => json_encode([
        'type' => 'workflow',
        'title' => 'Workflow simples',
        'name' => 'simples',
        'description' => 'Workflow simples de teste',
        'places' => [
            'inicio' => [
                'description' => 'Formulário inicial',
                'forms' => 'textarea'
            ],
            'processamento1' => [
                'description' => 'Etapa 1 do processo',
                'forms' => 'textarea'
            ],
            'fim' => [
                'description' => 'Finalizado',
                'forms' => 'textarea',
            ]
        ],
        'initial_places' => 'inicio',
        'transitions' => [
            'tr_inicio_p1' => [
                'label' => 'Enviar solicitação',
                'from' => 'inicio',
                'to' => 'processamento1'
            ],
            'tr_p1_fim' => [
                'label' => 'Finalizar',
                'from' => 'processamento1',
                'to' => 'fim'
            ]
        ],
    ]);
];

$request = new Request($workflowData);

Workflow::criarWorkflowDefinition($request);

$workflowDefinitionData = Workflow::obterDadosDaDefinicao($definitionName);

$definitionName = $workflowDefinitionData['definitionName'];
$imagePath = $workflowDefinitionData['path'];
$formattedJson = $workflowDefinitionData['formattedJson'];

public function update(Request $request)
{
    # Outras validações do update... 
    # As validações do workflow já estão integradas na biblioteca
    Workflow::atualizarWorkflow($request);
    # Outras lógicas do update...
}

Workflow::deletarDefinicaodeWorkflow($definitionName);

$workflowDefinitions = Workflow::obterTodosWorkflowDefinitions();

$WorkflowObject = Workflow::criarWorkflowObject('pull_requests');

$workflowObjectData = Workflow::obterDadosDoObjeto($workflowObjectId);

$workflowObject = $workflowObjectData['workflowObject'];
$workflowDefinition = $workflowObjectData['workflowDefinition'];
$workflowsTransitions = $workflowObjectData['workflowsTransitions'];
$formHtml = $workflowObjectData['formHtml'];
$title = $workflowObjectData['title'];
$activities = $workflowObjectData['activities'];
$formSubmissions = $workflowObjectData['formSubmissions'];

$workflowsToDisplay = Workflow::listarWorkflowsdaDefinition($definitionName);

$workflowObjects = $workflowsToDisplay['workflows'];
$workflowTransitions = $workflowsToDisplay['workflowsTransitions'];
$workflowDefinition = $workflowsToDisplay['workflowDefinition'];

$workflowsToDisplay = Workflow::listarWorkflowsdoUser($id);

$workflowObjects = $workflowsToDisplay['workflows'];
$workflowData = $workflowsToDisplay['workflowData'];

Workflow::aplicarTransition($workflowObjectId, 'tr_opened_in_review');

Workflow::deletarWorkflow($workflowObjectId);

Workflow::enviarFormulario($request);
bash
php artisan vendor:publish --provider="Uspdev\Workflow\WorkflowServiceProvider" --tag=workflow-config
php artisan vendor:publish --provider="Uspdev\Workflow\WorkflowServiceProvider" --tag=workflow-migrations

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"

php artisan vendor:publish --tag=forms-migrations
php artisan vendor:publish --tag=forms-config

bash
php artisan migrate
bash
php artisan workflow:sync

php artisan workflow:sync --path=meu/caminho/pro/diretório

php artisan workflow:sync --path=meu/caminho/pro/backup.json