]> _ Git - cubist_cms-back.git/commitdiff
wip #5045
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jan 2022 18:02:44 +0000 (19:02 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jan 2022 18:02:44 +0000 (19:02 +0100)
src/app/Http/Controllers/Operations/Base/ImportOperation.php

index 4351b4cb6e9a4c9d964eb9df19ace04695aa289b..fe13887e3dfb871be58ebc6024599eb47715b713 100644 (file)
@@ -2,12 +2,12 @@
 
 namespace Cubist\Backpack\Http\Controllers\Operations\Base;
 
+use Cubist\Backpack\CubistBackpackServiceProvider;
 use Illuminate\Support\Facades\Route;
 use Symfony\Component\HttpFoundation\File\UploadedFile;
 
 trait ImportOperation
 {
-    protected $_importAccept = null;
 
     protected function setupImportRoutes($segment, $routeName, $controller)
     {
@@ -16,19 +16,24 @@ trait ImportOperation
 
     protected function setupImportDefaults()
     {
-        if (null !== $this->_importAccept) {
+        if (property_exists($this, '_importAccept') && null !== $this->_importAccept) {
             $this->crud->importAccept = $this->_importAccept;
         }
-        $this->crud->addButtonFromView('top', 'import', 'import', 'end');
+        $this->crud->addButton('top', 'import','view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.import', 'end');
     }
 
     protected function importAction()
     {
         /** @var UploadedFile[] $files */
         $files = request()->files->get('file');
+        $okFiles = [];
+        foreach ($files as $file) {
+            if ($file->getError() === 0 && $file->getSize()) {
+                $okFiles[] = $file;
+            }
+        }
 
-        $this->importFromFiles($files);
-
+        $this->importFromFiles($okFiles);
         return redirect($this->crud->route);
     }