|
@@ -7,6 +7,7 @@ use App\Http\Requests\API\Container\CreateOrUpdateRequest;
|
|
use App\Http\Resources\API\ContainerDetailResource;
|
|
use App\Http\Resources\API\ContainerDetailResource;
|
|
use App\Http\Resources\API\ContainerReportResource;
|
|
use App\Http\Resources\API\ContainerReportResource;
|
|
use App\Http\Resources\API\ContainerResource;
|
|
use App\Http\Resources\API\ContainerResource;
|
|
|
|
+use App\Http\Resources\API\FileAttachmentResource;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
use App\Http\Resources\API\FileByObjectResource;
|
|
use App\Http\Resources\API\LibraryReportResource;
|
|
use App\Http\Resources\API\LibraryReportResource;
|
|
use App\Models\Approval;
|
|
use App\Models\Approval;
|
|
@@ -230,26 +231,40 @@ class ContainerController extends Controller
|
|
public function attachments(Request $request){
|
|
public function attachments(Request $request){
|
|
$folderObjectType = FileObjectType::from($request->object_type);
|
|
$folderObjectType = FileObjectType::from($request->object_type);
|
|
$object=$folderObjectType->modelBuilderAllowed()->findOrFail($request->object_id);
|
|
$object=$folderObjectType->modelBuilderAllowed()->findOrFail($request->object_id);
|
|
-
|
|
|
|
if($folderObjectType->value==='asset'){
|
|
if($folderObjectType->value==='asset'){
|
|
|
|
+ $object->load('requirements');
|
|
$requirementsId=$object->requirements->pluck('id');
|
|
$requirementsId=$object->requirements->pluck('id');
|
|
if(!$requirementsId->isEmpty()){
|
|
if(!$requirementsId->isEmpty()){
|
|
- $file=File::query()->where('object_type','requirement')
|
|
|
|
|
|
+ $filesWithRequirements = File::query()->where('object_type','requirement')
|
|
->whereIn('object_id',$requirementsId)
|
|
->whereIn('object_id',$requirementsId)
|
|
->where('is_latest_version',1)
|
|
->where('is_latest_version',1)
|
|
->where('source',1)
|
|
->where('source',1)
|
|
- ->get();
|
|
|
|
- return FileByObjectResource::collection($file);
|
|
|
|
|
|
+ ->get()->map(function (File $file) use($object){
|
|
|
|
+ $requirement = $object->requirements->where('id',$file->object_id)->first();
|
|
|
|
+ $file->source_name =$requirement ? $requirement->title : null;
|
|
|
|
+ $file->type='requirement';
|
|
|
|
+ return $file;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return FileAttachmentResource::collection($filesWithRequirements);
|
|
}
|
|
}
|
|
}else if($folderObjectType->value==='project'){
|
|
}else if($folderObjectType->value==='project'){
|
|
|
|
+ $object->load('tasks');
|
|
$tasksId=$object->tasks->pluck('id');
|
|
$tasksId=$object->tasks->pluck('id');
|
|
if(!$tasksId->isEmpty()){
|
|
if(!$tasksId->isEmpty()){
|
|
- $file=File::query()->where('object_type','task')
|
|
|
|
|
|
+ $filesWithTasks=File::query()->where('object_type','task')
|
|
->whereIn('object_id',$tasksId)
|
|
->whereIn('object_id',$tasksId)
|
|
->where('is_latest_version',1)
|
|
->where('is_latest_version',1)
|
|
->where('source',1)
|
|
->where('source',1)
|
|
- ->get();
|
|
|
|
- return FileByObjectResource::collection($file);
|
|
|
|
|
|
+ ->get()->map(function ($file) use($object){
|
|
|
|
+ $task = $object->tasks->where('id',$file->object_id)->first();
|
|
|
|
+ $file->source_name =$task ? $task->name : null;
|
|
|
|
+ $file->type='task';
|
|
|
|
+ return $file;
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+ return FileAttachmentResource::collection($filesWithTasks);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|