This package helps you to create workflow on your Nova application. It's built on top of this package winzou/state-machine
You can install the package in to a Laravel app that uses Nova via composer:
composer require cammac/nova-workflowNext, publish the config file
php artisan vendor:publish --tag workflowopen config/workflow.php and define your workflow
you can define inside workflows element workflow name and it's config as following:
| field | mandatory | Description |
|---|---|---|
| model | Yes | Model class you want to do your workflow on |
| column | Yes | Column name you want to monitor |
| states | Yes | All possible states |
| transitions | Yes | All possible transitions |
| from | Yes | array: From states |
| to | Yes | To state |
| event | No | Event class that will be fired after the transition is completed |
| style_classes | No | apply your css classes |
| with_reasons | No | string: column inside your model will be filled with the transition |
| with_reasons | No | array: will generate a dropdown list from with_reasons.model with id as option's value and label as option's text |
To display the workflow that are associated with a given Nova resource, you need to add the workflow Resource Tool to your resource.
For example, in your app/Nova/Order.php file:
use Cammac\Workflow\Workflow;
...
public function fields(Request $request)
{
return [
ID::make()->sortable(),
// Your other fields
Workflow::make('request')->onlyOnDetail() // request is the workflow name defined in workflow configuration file
];
}This will automatically search possible transitions for the current status
The MIT License (MIT). Please see License File for more information.

