httpfactory / approvals
此软件包最新版本(0.1.0)没有提供许可证信息。
Approvals Package
0.1.0
2018-12-06 15:36 UTC
This package is auto-updated.
Last update: 2024-09-19 10:14:53 UTC
README
审批系统
审批系统软件包是一个附加包,允许无缝集成到laravel 5.7+。
安装
要安装,只需将包拉入您的laravel项目
composer install httpfactory\approvals
通过composer成功安装后,您需要
在您的config\app.php
文件中注册此包。
将以下行添加到您的服务提供商数组中
Httpfactory\Approvals\ApprovalServiceProvider::class
现在您需要运行以下命令
php artisan vendor:publish --provider=Httpfactory\Approvals\ApprovalServiceProvider
注册包后,您需要运行迁移
运行迁移
您必须按照以下方式运行迁移
php artisan migrate
事件
您需要将以下事件添加到app\Providers\EventServiceProvider.php
-
ApprovalRequest
Httpfactory\Approvals\Events\ApprovalRequest
- 当有人发送审批请求时触发。
-
ApprovalApproved
Httpfactory\Approvals\Events\ApprovalApproved
- 当“审批者”批准审批请求时触发。
-
ApprovalDeclined
Httpfactory\Approvals\Events\ApprovalDeclined
- 当“审批者”拒绝审批请求时触发。
-
ApprovalAwarded
Httpfactory\Approvals\Events\ApprovalAwarded
- 当满足审批配置要求时,自动授予审批触发。
-
ApprovalDenied
Httpfactory\Approvals\Events\ApprovalDenied
- 当满足审批配置要求时,自动拒绝审批触发。
事件应类似于以下代码
//Begin the approval events
'Httpfactory\Approvals\Events\ApprovalRequest' => [
'Httpfactory\Approvals\Listeners\ApprovalRequest',
],
'Httpfactory\Approvals\Events\ApprovalApproved' => [
'Httpfactory\Approvals\Listeners\ApprovalApproved',
],
'Httpfactory\Approvals\Events\ApprovalDeclined' => [
'Httpfactory\Approvals\Listeners\ApprovalDeclined',
],
'Httpfactory\Approvals\Events\ApprovalAwarded' => [
'Httpfactory\Approvals\Listeners\ApprovalAwarded',
],
'Httpfactory\Approvals\Events\ApprovalDenied' => [
'Httpfactory\Approvals\Listeners\ApprovalDenied',
],
使用方法
有多种类型的审批
- 快速审批(1对1)
- 组审批(一组用户必须批准/拒绝)
- 多层审批(多个组必须批准/拒绝)
快速审批
以下是一个快速审批的示例
<?php
namespace Acme\SomeProject;
use Httpfactory\Approvals\QuickApproval;
use App\User;
class Someclass {
public function requestApproval(){
//Some user instance that is requesting the approval...
$user = User::find(1);
//If you have a Laravel Spark and are using "Teams"
//The User's currentTeam is going to be used as the Team Id association.
//Create a new Approval of certain type, then request the actual approval.
$approval = new QuickApproval($user);
$approval->name = 'Credit Card';
$approval->description = 'Requesting Permission to use the company credit card for something cool';
$approval->approvalsNeeded = 1;
$usersThatIneedApprovalFrom = User::where('id', '!=', 1)->get();
$approval->from($usersThatIneedApprovalFrom)->sendRequest();
}
}
在上面的示例中,我们向用户发送了一个审批请求。