andach / laravel-signoff
这是一个允许Laravel模型进行“批准”签名的软件包。
v1.0.0
2023-09-18 13:54 UTC
Requires
- php: ^8.1
- andach/laravel-primary-key-uuid: ^1.0
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-18 16:10:13 UTC
README
这是一个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)。有关更多信息,请参阅许可文件。