Create a Ladill folder when uploading a local folder and place files inside it.
Deploy Ladill Transfer / deploy (push) Successful in 27s
Deploy Ladill Transfer / deploy (push) Successful in 27s
Folder upload now names and creates the destination folder from the picked directory, uploads all files into it, and redirects to the new folder view. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -317,9 +317,15 @@ class FilesController extends Controller
|
||||
'filenames' => 'required|array|min:1',
|
||||
'filenames.*' => 'required|string|max:255',
|
||||
'folder' => 'nullable|integer|exists:transfers,id',
|
||||
'upload_folder_name' => 'nullable|string|max:120',
|
||||
]);
|
||||
|
||||
$account = ladill_account();
|
||||
|
||||
if (! empty($data['upload_folder_name'])) {
|
||||
return response()->json(['conflicts' => []]);
|
||||
}
|
||||
|
||||
$folder = $this->resolveUploadFolder($account, $data['folder'] ?? null);
|
||||
|
||||
$conflicts = $this->storage->findConflicts(
|
||||
@@ -337,15 +343,23 @@ class FilesController extends Controller
|
||||
'files' => 'required|array|min:1',
|
||||
'files.*' => 'required|file',
|
||||
'folder' => 'nullable|integer|exists:transfers,id',
|
||||
'upload_folder_name' => 'nullable|string|max:120',
|
||||
'resolutions' => 'nullable|array',
|
||||
'resolutions.*' => 'in:replace,keep_both',
|
||||
]);
|
||||
|
||||
$account = ladill_account();
|
||||
$folder = $this->resolveUploadFolder($account, $data['folder'] ?? null);
|
||||
$files = array_values($request->file('files', []) ?? []);
|
||||
$createdFolder = null;
|
||||
|
||||
try {
|
||||
if (! empty($data['upload_folder_name'])) {
|
||||
$createdFolder = $this->storage->createFolderForUpload($account, $data['upload_folder_name']);
|
||||
$folder = $createdFolder;
|
||||
} else {
|
||||
$folder = $this->resolveUploadFolder($account, $data['folder'] ?? null);
|
||||
}
|
||||
|
||||
$uploaded = $this->storage->uploadFiles(
|
||||
$account,
|
||||
$folder,
|
||||
@@ -362,9 +376,22 @@ class FilesController extends Controller
|
||||
|
||||
$count = count($uploaded);
|
||||
$message = $count.' file'.($count === 1 ? '' : 's').' uploaded.';
|
||||
if ($createdFolder) {
|
||||
$message = $count.' file'.($count === 1 ? '' : 's').' uploaded to '.$createdFolder->title.'.';
|
||||
}
|
||||
|
||||
if ($request->expectsJson()) {
|
||||
return response()->json(['message' => $message, 'count' => $count]);
|
||||
return response()->json([
|
||||
'message' => $message,
|
||||
'count' => $count,
|
||||
'folder_id' => $createdFolder?->id,
|
||||
]);
|
||||
}
|
||||
|
||||
if ($createdFolder) {
|
||||
return redirect()
|
||||
->route('transfer.files.index', ['folder' => $createdFolder->id])
|
||||
->with('success', $message);
|
||||
}
|
||||
|
||||
return back()->with('success', $message);
|
||||
|
||||
Reference in New Issue
Block a user