refactor: 修复知识库和操作指引

This commit is contained in:
2026-03-13 14:32:37 +08:00
parent bbe8e60646
commit 58f42de9df
88 changed files with 3387 additions and 2472 deletions

View File

@@ -0,0 +1,81 @@
<?php
namespace App\Policies;
use App\Models\Guide;
use App\Models\User;
class GuidePolicy
{
/**
* 查看指引列表
*/
public function viewAny(User $user): bool
{
return $user->can('guide.view');
}
/**
* 查看指引
*/
public function view(User $user, Guide $guide): bool
{
return $user->can('guide.view');
}
/**
* 创建指引
*/
public function create(User $user): bool
{
return $user->can('guide.create');
}
/**
* 更新指引
*/
public function update(User $user, Guide $guide): bool
{
return $user->can('guide.update');
}
/**
* 删除指引
*/
public function delete(User $user, Guide $guide): bool
{
return $user->can('guide.delete');
}
/**
* 发布指引
*/
public function publish(User $user, Guide $guide): bool
{
return $user->can('guide.publish');
}
/**
* 归档指引
*/
public function archive(User $user, Guide $guide): bool
{
return $user->can('guide.archive');
}
/**
* 恢复已删除的指引
*/
public function restore(User $user, Guide $guide): bool
{
return $user->can('guide.delete');
}
/**
* 永久删除指引
*/
public function forceDelete(User $user, Guide $guide): bool
{
return $user->can('guide.delete');
}
}

View File

@@ -1,95 +0,0 @@
<?php
namespace App\Policies;
use App\Models\SopTemplate;
use App\Models\User;
class SopTemplatePolicy
{
/**
* 查看任何 SOP 模板
*/
public function viewAny(User $user): bool
{
return $user->can('sop-template.view');
}
/**
* 查看 SOP 模板
*/
public function view(User $user, SopTemplate $sopTemplate): bool
{
return $user->can('sop-template.view');
}
/**
* 创建 SOP 模板
*/
public function create(User $user): bool
{
return $user->can('sop-template.create');
}
/**
* 更新 SOP 模板
*/
public function update(User $user, SopTemplate $sopTemplate): bool
{
// 首先检查权限
if (!$user->can('sop-template.update')) {
return false;
}
// 已发布的模板不能直接编辑
if ($sopTemplate->status === 'published') {
return false;
}
return true;
}
/**
* 删除 SOP 模板
*/
public function delete(User $user, SopTemplate $sopTemplate): bool
{
// 首先检查权限
if (!$user->can('sop-template.delete')) {
return false;
}
// 已发布的模板不能删除
if ($sopTemplate->status === 'published') {
return false;
}
return true;
}
/**
* 发布 SOP 模板
*/
public function publish(User $user, SopTemplate $sopTemplate): bool
{
// 首先检查权限
if (!$user->can('sop-template.publish')) {
return false;
}
return $sopTemplate->status === 'draft';
}
/**
* 归档 SOP 模板
*/
public function archive(User $user, SopTemplate $sopTemplate): bool
{
// 首先检查权限
if (!$user->can('sop-template.archive')) {
return false;
}
return $sopTemplate->status === 'published';
}
}