|
@@ -14,8 +14,6 @@ use App\Http\Resources\API\ProjectDetailResource;
|
|
|
use App\Http\Resources\API\SimplePlanResource;
|
|
|
use App\Http\Resources\API\ProjectRequirementResource;
|
|
|
use App\Http\Resources\API\ProjectResource;
|
|
|
-use App\Http\Resources\API\RequirementResource;
|
|
|
-use App\Models\Asset;
|
|
|
use App\Models\Enums\ObjectAction;
|
|
|
use App\Models\Enums\ProjectStatus;
|
|
|
use App\Models\Plan;
|
|
@@ -240,22 +238,23 @@ class ProjectController extends Controller
|
|
|
|
|
|
public function unlinkRequirement(UnlinkRequirementRequest $request, string $id)
|
|
|
{
|
|
|
- $project = Project::findOrFail($id);
|
|
|
|
|
|
- $requirement = Requirement::findOrFail($request->requirement_id);
|
|
|
+ $requirementIds = $request->get("requirement_id",[]);
|
|
|
+ $project = Project::findOrFail($id);
|
|
|
|
|
|
- $exists = ProjectAsset::query()
|
|
|
- ->where('project_id', $project->id)
|
|
|
- ->where('asset_id', $requirement->asset_id)
|
|
|
- ->count();
|
|
|
- if (! $exists) {
|
|
|
+ if (! $requirementIds) {
|
|
|
return $this->forbidden("Please select the correct requirement");
|
|
|
}
|
|
|
|
|
|
- ProjectRequirement::query()->where([
|
|
|
- 'project_id' => $project->id,
|
|
|
- 'requirement_id' => $requirement->id,
|
|
|
- ])->delete();
|
|
|
+ if($project->requirements->isEmpty()){
|
|
|
+ return $this->forbidden("Project has no associated requirements");
|
|
|
+ }
|
|
|
+ foreach($requirementIds as $requirement){
|
|
|
+ ProjectRequirement::query()->where([
|
|
|
+ 'project_id' => $project->id,
|
|
|
+ 'requirement_id' => $requirement,
|
|
|
+ ])->delete();
|
|
|
+ }
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|