davin-bao / workflow
this is a workflow package for laravel5
Requires
- php: >=5.3.0
- illuminate/support: 5.1.*
- laravelbook/ardent: dev-master
This package is auto-updated.
Last update: 2024-10-21 20:41:31 UTC
README
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 }