Merge pull request #115 from pelican-dev/feature/mult-egg-upload
Allow importing of multiple eggs at once
This commit is contained in:
commit
6ff9568760
@ -21,11 +21,12 @@ class ListEggs extends ListRecords
|
||||
Actions\CreateAction::make(),
|
||||
|
||||
Actions\Action::make('import')
|
||||
->label('Import Egg')
|
||||
->label('Import')
|
||||
->form([
|
||||
Forms\Components\FileUpload::make('egg')
|
||||
->acceptedFileTypes(['application/json'])
|
||||
->storeFiles(false),
|
||||
->storeFiles(false)
|
||||
->multiple(),
|
||||
])
|
||||
->action(function (array $data): void {
|
||||
/** @var TemporaryUploadedFile $eggFile */
|
||||
@ -34,25 +35,25 @@ class ListEggs extends ListRecords
|
||||
/** @var EggImporterService $eggImportService */
|
||||
$eggImportService = resolve(EggImporterService::class);
|
||||
|
||||
try {
|
||||
$newEgg = $eggImportService->handle($eggFile);
|
||||
} catch (Exception $exception) {
|
||||
Notification::make()
|
||||
->title('Egg Import Failed')
|
||||
->danger()
|
||||
->send();
|
||||
foreach ($eggFile as $file) {
|
||||
try {
|
||||
$eggImportService->handle($file);
|
||||
} catch (Exception $exception) {
|
||||
Notification::make()
|
||||
->title('Import Failed')
|
||||
->danger()
|
||||
->send();
|
||||
|
||||
report($exception);
|
||||
report($exception);
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Notification::make()
|
||||
->title("Egg Import Success: $newEgg->name")
|
||||
->title('Import Success')
|
||||
->success()
|
||||
->send();
|
||||
|
||||
redirect()->route('filament.admin.resources.eggs.edit', [$newEgg]);
|
||||
}),
|
||||
];
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<x-filament::tabs label="Content tabs">
|
||||
<x-filament::tabs.item disabled>Panel's Resources: </x-filament::tabs.item>
|
||||
<x-filament::tabs disabled>
|
||||
<x-filament::tabs.item disabled>Overview: </x-filament::tabs.item>
|
||||
|
||||
<x-filament::tabs.item
|
||||
icon="tabler-server-2"
|
||||
:active="$activeTab === 'nodes'"
|
||||
wire:click="$set('activeTab', 'nodes')"
|
||||
>
|
||||
Nodes
|
||||
<x-slot name="badge">{{ $nodesCount }}</x-slot>
|
||||
@ -14,8 +12,6 @@
|
||||
|
||||
<x-filament::tabs.item
|
||||
icon="tabler-brand-docker"
|
||||
:active="$activeTab === 'servers'"
|
||||
wire:click="$set('activeTab', 'servers')"
|
||||
>
|
||||
Servers
|
||||
<x-slot name="badge">{{ $serversCount }}</x-slot>
|
||||
@ -23,8 +19,6 @@
|
||||
|
||||
<x-filament::tabs.item
|
||||
icon="tabler-eggs"
|
||||
:active="$activeTab === 'eggs'"
|
||||
wire:click="$set('activeTab', 'eggs')"
|
||||
>
|
||||
Eggs
|
||||
<x-slot name="badge">{{ $eggsCount }}</x-slot>
|
||||
@ -32,8 +26,6 @@
|
||||
|
||||
<x-filament::tabs.item
|
||||
icon="tabler-users"
|
||||
:active="$activeTab === 'users'"
|
||||
wire:click="$set('activeTab', 'users')"
|
||||
>
|
||||
Users
|
||||
<x-slot name="badge">{{ $usersCount }}</x-slot>
|
||||
|
Loading…
x
Reference in New Issue
Block a user