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)
{
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);
}