Skip to content

Commit 4002213

Browse files
Add function load parent for files
1 parent 4616f61 commit 4002213

5 files changed

Lines changed: 56 additions & 26 deletions

File tree

‎ProcessMaker/Http/Controllers/Api/ProcessRequestFileController.php‎

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
use ProcessMaker\Http\Controllers\Controller;
1818
use ProcessMaker\Http\Resources\ApiCollection;
1919
use ProcessMaker\Http\Resources\ApiResource;
20+
use ProcessMaker\Http\Resources\ProcessRequests;
2021
use ProcessMaker\Models\Media;
2122
use ProcessMaker\Models\ProcessRequest;
22-
use Spatie\MediaLibrary\HasMedia\HasMedia;
23+
//use Spatie\MediaLibrary\HasMedia\HasMedia;
2324
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
2425

2526
class ProcessRequestFileController extends Controller
@@ -85,13 +86,14 @@ class ProcessRequestFileController extends Controller
8586
*/
8687
public function index(Request $laravel_request, ProcessRequest $request)
8788
{
88-
$parentId = $request->parent_request_id;
89+
/*$parentId = $request->parent_request_id;
8990
$parentRequest = $request;
9091
9192
while($parentId != null) {
9293
$parentRequest = ProcessRequest::find($parentId);
9394
$parentId = $parentRequest->parent_request_id;
94-
}
95+
}*/
96+
$parentRequest = Media::getParentRequest($request);
9597

9698
$media = Media::where('model_id', $parentRequest->id)->get();
9799

@@ -165,8 +167,17 @@ public function index(Request $laravel_request, ProcessRequest $request)
165167
* @OA\Response(response=404, ref="#/components/responses/404"),
166168
* )
167169
*/
168-
public function show(Request $laravel_request, ProcessRequest $request, Media $file)
170+
public function show(Request $laravel_request, ProcessRequest $request, $file)
169171
{
172+
dd('-----------------------');
173+
\Log::debug($file);
174+
$parentRequest = Media::getParentRequest($request);
175+
$file = Media::where([
176+
'model_id' => $parentRequest->id,
177+
'model_type' => ProcessRequests::class,
178+
'id' => $file
179+
])->firstOrFail();
180+
170181
$path = Storage::disk('public')->getAdapter()->getPathPrefix() .
171182
$file->id . '/' .
172183
$file->file_name;
@@ -278,7 +289,7 @@ private function saveUploadedFile(UploadedFile $file, ProcessRequest $processReq
278289
$parentId = $processRequest->parent_request_id;
279290
$parentRequest = $processRequest;
280291

281-
while($parentId != null) {
292+
while ($parentId != null) {
282293
$parentRequest = ProcessRequest::find($parentId);
283294
$parentId = $parentRequest->parent_request_id;
284295
}
@@ -295,7 +306,8 @@ private function saveUploadedFile(UploadedFile $file, ProcessRequest $processReq
295306
if (
296307
$mediaItem->getCustomProperty('data_name') == $data_name &&
297308
$mediaItem->getCustomProperty('parent') == $parent &&
298-
$mediaItem->getCustomProperty('row_id') == $rowId) {
309+
$mediaItem->getCustomProperty('row_id') == $rowId
310+
) {
299311
$originalCreatedBy = $mediaItem->getCustomProperty('createdBy');
300312
if (empty($multiple)) {
301313
$mediaItem->delete();

‎ProcessMaker/Http/Controllers/RequestController.php‎

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,25 @@
33
namespace ProcessMaker\Http\Controllers;
44

55
use Illuminate\Http\Request;
6+
use ProcessMaker\Models\Screen;
7+
use ProcessMaker\Models\Comment;
8+
use ProcessMaker\Models\Process;
69
use Illuminate\Support\Facades\Auth;
710
use Illuminate\Support\Facades\Route;
8-
use ProcessMaker\Events\ScreenBuilderStarting;
9-
use ProcessMaker\Http\Controllers\Controller;
11+
use Spatie\MediaLibrary\Models\Media;
1012
use ProcessMaker\Managers\DataManager;
11-
use ProcessMaker\Managers\ScreenBuilderManager;
12-
use ProcessMaker\Models\Comment;
13-
use ProcessMaker\Models\Process;
13+
use ProcessMaker\Models\ScreenVersion;
1414
use ProcessMaker\Models\ProcessRequest;
15+
use Spatie\MediaLibrary\HasMedia\HasMedia;
1516
use ProcessMaker\Models\ProcessRequestToken;
16-
use ProcessMaker\Models\Screen;
17-
use ProcessMaker\Models\ScreenVersion;
18-
use ProcessMaker\Package\PackageComments\PackageServiceProvider;
1917
use ProcessMaker\Traits\HasControllerAddons;
20-
use ProcessMaker\Traits\SearchAutocompleteTrait;
21-
use Spatie\MediaLibrary\HasMedia\HasMedia;
18+
use ProcessMaker\Http\Controllers\Controller;
19+
use ProcessMaker\Models\Media as ModelsMedia;
20+
use ProcessMaker\Events\ScreenBuilderStarting;
21+
use ProcessMaker\Managers\ScreenBuilderManager;
2222
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
23-
use Spatie\MediaLibrary\Models\Media;
23+
use ProcessMaker\Traits\SearchAutocompleteTrait;
24+
use ProcessMaker\Package\PackageComments\PackageServiceProvider;
2425

2526
class RequestController extends Controller
2627
{
@@ -113,7 +114,9 @@ public function show(ProcessRequest $request, Media $mediaItems)
113114
$canViewComments = (Auth::user()->hasPermissionsFor('comments')->count() > 0) || class_exists(PackageServiceProvider::class);
114115
$canManuallyComplete = Auth::user()->is_administrator && $request->status === 'ERROR';
115116

116-
$files = $request->getMedia();
117+
//$files = $request->getMedia();
118+
$parentRequest = \ProcessMaker\Models\Media::getParentRequest($request);
119+
$files = $parentRequest->getMedia();
117120

118121
$canPrintScreens = $this->canUserPrintScreen($request);
119122
$screenRequested = $canPrintScreens ? $request->getScreensRequested() : [];

‎ProcessMaker/Http/Controllers/TaskController.php‎

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@
33
namespace ProcessMaker\Http\Controllers;
44

55
use Carbon\Carbon;
6-
use Illuminate\Support\Facades\Request;
7-
use ProcessMaker\Events\ScreenBuilderStarting;
8-
use ProcessMaker\Managers\DataManager;
9-
use ProcessMaker\Managers\ScreenBuilderManager;
6+
use ProcessMaker\Models\User;
7+
use ProcessMaker\Models\Media;
8+
use ProcessMaker\Models\Screen;
109
use ProcessMaker\Models\Comment;
1110
use ProcessMaker\Models\Notification;
11+
use ProcessMaker\Managers\DataManager;
12+
use Illuminate\Support\Facades\Request;
1213
use ProcessMaker\Models\ProcessRequestToken;
13-
use ProcessMaker\Models\Screen;
14-
use ProcessMaker\Models\User;
15-
use ProcessMaker\Nayra\Contracts\Bpmn\ScriptTaskInterface;
1614
use ProcessMaker\Traits\HasControllerAddons;
15+
use ProcessMaker\Events\ScreenBuilderStarting;
16+
use ProcessMaker\Managers\ScreenBuilderManager;
1717
use ProcessMaker\Traits\SearchAutocompleteTrait;
18+
use ProcessMaker\Nayra\Contracts\Bpmn\ScriptTaskInterface;
1819

1920
class TaskController extends Controller
2021
{
@@ -77,12 +78,13 @@ public function edit(ProcessRequestToken $task)
7778
if ($element instanceof ScriptTaskInterface) {
7879
return redirect(route('requests.show', ['request' => $task->processRequest->getKey()]));
7980
} else {
81+
$parentRequest = Media::getParentRequest($task->processRequest);
8082
return view('tasks.edit', [
8183
'task' => $task,
8284
'dueLabels' => self::$dueLabels,
8385
'manager' => $manager,
8486
'submitUrl' => $submitUrl,
85-
'files' => $task->processRequest->requestFiles(),
87+
'files' => $parentRequest->requestFiles(),
8688
'addons' => $this->getPluginAddons('edit', []),
8789
'assignedToAddons' => $this->getPluginAddons('edit.assignedTo', []),
8890
]);

‎ProcessMaker/Media.php‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Illuminate\Http\File;
66
use Illuminate\Http\UploadedFile;
77
use Illuminate\Support\Facades\Storage;
8+
use ProcessMaker\Models\ProcessRequest;
89
use Spatie\MediaLibrary\FileManipulator;
910
use Spatie\MediaLibrary\Filesystem\Filesystem;
1011
use Spatie\MediaLibrary\Models\Media as BaseMedia;

‎ProcessMaker/Models/Media.php‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,16 @@ public function getManagerUrlAttribute()
170170
]);
171171
}
172172
}
173+
174+
public static function getParentRequest(ProcessRequest $request)
175+
{
176+
$parentId = $request->parent_request_id;
177+
$parentRequest = $request;
178+
179+
if ($parentId) {
180+
$parentRequest = self::getParentRequest(ProcessRequest::find($parentId));
181+
}
182+
183+
return $parentRequest;
184+
}
173185
}

0 commit comments

Comments
 (0)