Przeglądaj źródła

approval status

lsm12139 3 tygodni temu
rodzic
commit
c8a976b350

+ 1 - 1
app/Http/Requests/API/Approval/CreateOrUpdateRequest.php

@@ -56,7 +56,7 @@ class CreateOrUpdateRequest extends FormRequest
                             ->whereIn('id', $value)
                             ->where("object_type", FileObjectType::CONTAINER)
                             ->where("object_id", $this->get("object_id"))
-                            ->where("approval_status", ObjectApprovalStatus::WAIT)
+                            ->whereIn("approval_status", [ObjectApprovalStatus::WAIT, ObjectApprovalStatus::REJECTED])
                             ->count();
                         if ($count != count($value)) {
                             $fail('Please select the file to be approved.');

+ 12 - 5
app/Services/Approval/StoreService.php

@@ -20,7 +20,6 @@ class StoreService
     {
         $request = request();
         $approvalObjectType = ApprovalObjectType::from($request->object_type);
-
         $approvalObject = $approvalObjectType->modelBuilderAllowed($request->object_id)->findOrFail($request->object_id);
 
 
@@ -94,10 +93,18 @@ class StoreService
     ): void
     {
         if ($approvalObjectType == ApprovalObjectType::CONTAINER_FILE) {
-            File::query()->whereIn("id", $containerFileIds)->update([
-                'approval_status' => ObjectApprovalStatus::DOING,
-                'latest_approval_id' => $approval->id,
-            ]);
+
+
+            $list = File::query()->whereIn("id", $containerFileIds)->get();
+
+            foreach ($list as $value){
+                $approval_status = $value->approval_status == ObjectApprovalStatus::REJECTED->value ? ObjectApprovalStatus::RESUBMISSION->value : ObjectApprovalStatus::DOING->value;
+                File::query()->where("id", $value->id)->update([
+                    'approval_status' => $approval_status,
+                    'latest_approval_id' => $approval->id,
+                ]);
+            }
+
             return;
         }