Quellcode durchsuchen

assets添加软删除,删除容器,需求,任务,项目时也把提交的审批删除

kely vor 7 Monaten
Ursprung
Commit
1e1d9e3868

+ 2 - 0
app/Http/Controllers/API/ContainerController.php

@@ -206,6 +206,8 @@ class ContainerController extends Controller
 
         $container->delete();
 
+        Approval::query()->where('object_type','container')->where('object_id',$id)->delete();
+
         ActionRepository::createByContainer($container, ObjectAction::DELETED);
 
         return $this->noContent();

+ 1 - 0
app/Http/Controllers/API/ProjectController.php

@@ -247,6 +247,7 @@ class ProjectController extends Controller
         };
 
         $project->delete();
+        Approval::query()->where('object_type','project')->where('object_id',$id)->delete();
 
         ActionRepository::createByProject($project, ObjectAction::DELETED);
 

+ 1 - 0
app/Http/Controllers/API/RequirementController.php

@@ -134,6 +134,7 @@ class RequirementController extends Controller
 
         $requirement->delete();
 
+        Approval::query()->where('object_type','requirement')->where('object_id',$id)->delete();
         ActionRepository::createRequirement(
             $requirement, ObjectAction::DELETED
         );

+ 3 - 0
app/Http/Controllers/API/TaskController.php

@@ -13,6 +13,7 @@ use App\Http\Requests\API\Task\LinkContainerRequest;
 use App\Http\Resources\API\TaskDetailResource;
 use App\Http\Resources\API\TaskResource;
 use App\Imports\TaskImport;
+use App\Models\Approval;
 use App\Models\Container;
 use App\Models\Enums\ActionObjectType;
 use App\Models\Enums\FileObjectType;
@@ -336,6 +337,8 @@ class TaskController extends Controller
 
         $task->delete();
 
+        Approval::query()->where('object_type','task')->where('object_id',$id)->delete();
+
         ActionRepository::createByTask($task, ObjectAction::DELETED);
 
         return $this->noContent();

+ 2 - 1
app/Models/Asset.php

@@ -8,6 +8,7 @@ use EloquentFilter\Filterable;
 use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
 use Illuminate\Support\Facades\Auth;
 
 /**
@@ -15,7 +16,7 @@ use Illuminate\Support\Facades\Auth;
  */
 class Asset extends Model
 {
-    use HasFactory, Filterable;
+    use HasFactory, Filterable,SoftDeletes;
 
     protected $fillable = [
         "name", "code", "description", "company_id", "status", "created_by",

+ 3 - 3
app/Models/Project.php

@@ -53,17 +53,17 @@ class Project extends Model
 
     public function plans(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
     {
-        return $this->belongsToMany(Plan::class, 'project_plan');
+        return $this->belongsToMany(Plan::class, 'project_plan')->withTrashed();
     }
 
     public function assets(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
     {
-        return $this->belongsToMany(Asset::class, 'project_asset');
+        return $this->belongsToMany(Asset::class, 'project_asset')->withTrashed();
     }
 
     public function requirements(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
     {
-        return $this->belongsToMany(Requirement::class, 'project_requirement');
+        return $this->belongsToMany(Requirement::class, 'project_requirement')->withTrashed();
     }
 
     public function teamMembers(): \Illuminate\Database\Eloquent\Relations\HasMany

+ 1 - 1
app/Models/Task.php

@@ -63,7 +63,7 @@ class Task extends Model
 
     public function requirement(): \Illuminate\Database\Eloquent\Relations\BelongsTo
     {
-        return $this->belongsTo(Requirement::class);
+        return $this->belongsTo(Requirement::class)->withTrashed();
     }
 
     public function project(): \Illuminate\Database\Eloquent\Relations\BelongsTo

+ 30 - 0
database/migrations/2024_07_19_161055_add_soft_delete.php

@@ -0,0 +1,30 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('assets', function (Blueprint $table) {
+            //
+            $table->softDeletes();;
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('assets', function (Blueprint $table) {
+            //
+            $table->dropColumn('deleted_at');
+        });
+    }
+};