davin-bao / workflow by davin-bao

this is a workflow package for laravel
62
12
7
Package Data
Maintainer Username: davin-bao
Maintainer Contact: davin.bao@gmail.com (davin-bao)
Package Create Date: 2014-05-01
Package Last Update: 2016-08-19
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:20:13
Package Statistics
Total Downloads: 62
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 12
Total Watchers: 7
Total Forks: 7
Total Open Issues: 1

Workflow (Laravel5 Package)

thanks tao2581, If you need use to laravel 4, please add

"davin-bao/workflow": "v1.0"

Workflow package provides a simple way to add audit flow to Laravel5.

Quick start

Required setup

In the require key of composer.json file add the following

"davin-bao/workflow": "dev-master"

Run the Composer update comand

$ composer update

In your config/app.php add 'DavinBao\Workflow\WorkflowServiceProvider' to the end of the $providers array

'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'DavinBao\Workflow\WorkflowServiceProvider',

),

At the end of config/app.php add 'Workflow' => 'DavinBao\Workflow\WorkflowFacade' to the $aliases array

'aliases' => array(

    'App'        => 'Illuminate\Support\Facades\App',
    'Artisan'    => 'Illuminate\Support\Facades\Artisan',
    ...
    'Workflow'       => 'DavinBao\Workflow\WorkflowFacade',

),

Configuration

Create Table

Now generate the Workflow migration

$ php artisan workflow:migration

It will generate the <timestamp>_workflow_setup_tables.php migration. You may now run it with the artisan migrate command: Open: <timestamp>_workflow_setup_tables.php change " {{ '<?php' }} " to " <?php " $ php artisan migrate

After the migration, workflow tables will be present.

Create Controllers

$ php artisan workflow:controllers

Create Routes

$ php artisan workflow:routes

Link the Model

    class Entry extends Eloquent {
      use \DavinBao\Workflow\HasFlowForResource;
    }

Add two function for audit log,Audit Flow will record this resource's title and content

		public function getLogTitle()
		{
			return $this->entry_title;
		}
		
		public function getLogContent()
		{
			return $this->entry_content;
		}

Link the Controller

		class AdminEntryController extends AdminController {
				use \DavinBao\Workflow\HasFlowForResourceController;
		}

Add roles for this controller

		Route::get('entrys/{entry}/binding', 'AdminEntrysController@getBindingFlow');
		Route::post('entrys/{entry}/binding', 'AdminEntrysController@postBindingFlow');
		Route::get('entrys/{entry}/audit', 'AdminEntrysController@getAudit');
		Route::post('entrys/{entry}/audit', 'AdminEntrysController@postAudit');

Modify config

Set the propertly values to the config/auth.php and davin-bao/workflow/src/config/config.php .

Functions

Get is binding audit flow

    if(isset($entry->isBinding)) {///is binding, do something }

Get resource audit status

    $entry->status()

Show flow Graph, show this resource audit flow status

@if(isset($entry->isBinding))
{{ Workflow::makeFlowGraph($entry->flow(), $entry->orderID()) }}
@endif

Show audit flow all details

 @if(isset($entry->isBinding))
{{ Workflow::makeAuditDetail($entry) }}
@endif

Need I audit, show audit button

    if(isset($entry->isBinding) && $entry->isMeAudit()) { /// show audit button }