andach/laravel-signoff

这是一个允许Laravel模型进行“批准”签名的软件包。

v1.0.0 2023-09-18 13:54 UTC

This package is auto-updated.

Last update: 2024-09-18 16:10:13 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这是一个Laravel软件包,可以添加另一个模型进行签名的功能,支持第二次签名,并包含JavaScript签名板选项。

它集成了https://github.com/szimek/signature_pad,如果您提供名为"sign"的板,则可以提供一个简单的图像。

安装

您可以通过composer安装此软件包。

composer require andach/laravel-signoff

您可以使用以下命令发布迁移:

php artisan signoff:install

如果需要,您还可以使用以下命令发布视图:

php artisan vendor:publish --tag=signoff-views

签名板

此软件包集成了https://github.com/szimek/signature_pad。要使用它,您应在配置文件中启用相关选项并包含JavaScript。

npm install --save signature_pad

然后,将./js/app.js中的JavaScript包含到您的./resources/js/app.js文件中。

使用方法

要使用,只需将MorphToSignoff特性和Signoffable接口添加到您想要签名的模型中。

use Andach\LaravelSignoff\Interfaces\Signoffable;
use Andach\Signoff\Traits\MorphToSignoff;

class MyModel extends Model implements Signoffable
{
    use MorphToSignoff;

    // ...
}

然后您可以按需调用函数。

$model = new MyModel();

// Create a signoff requirement.
$model->signoff()->create([
    // The user_id is optional, and specifies who needs to sign off the model. If null, anyone can sign it off.
    'user_id'                    => 123,
    
    // A boolean flag. Note that if not required, the item can still be signed off by another user.
    'is_second_signoff_required' => true,
    
    //Similarly, limits who can provide the second signoff. 
    'second_user_id'             => 456,
]);

// Check if the model has been signed off.
$model->isFirstSignedOff(); // false
$model->isFullySignedOff(); // false

// Sign off the model. 
$model->doFirstSignoff();

// And now...
$model->isFirstSignedOff(); // true
$model->isFullySignedOff(); // false

// Provide second signoff
$model->doSecondSignoff();

// Finally...
$model->isFirstSignedOff(); // true
$model->isFullySignedOff(); // true

测试

composer test

许可协议

MIT许可协议(MIT)。有关更多信息,请参阅许可文件