file('import'); if (should_queue()) { $rows = $class->toArray($file); $total_rows = 0; if (!empty($rows[0])) { $total_rows = count($rows[0]); } else if (!empty($sheets = $class->sheets())) { $total_rows = count($rows[array_keys($sheets)[0]]); } $class->queue($file)->onQueue('imports')->chain([ new NotifyUser(user(), new ImportCompleted($translation, $total_rows)), ]); $message = trans('messages.success.import_queued', ['type' => $translation]); } else { $class->import($file); $message = trans('messages.success.imported', ['type' => $translation]); } $response = [ 'success' => true, 'error' => false, 'data' => null, 'message' => $message, ]; } catch (Throwable $e) { if ($e instanceof ValidationException) { foreach ($e->failures() as $failure) { $message = trans('messages.error.import_column', [ 'message' => collect($failure->errors())->first(), 'column' => $failure->attribute(), 'line' => $failure->row(), ]); flash($message)->error()->important(); } $message = ''; } else { $message = $e->getMessage(); } $response = [ 'success' => false, 'error' => true, 'data' => null, 'message' => $message, ]; } return $response; } }