import validation

This commit is contained in:
denisdulici
2018-06-23 15:59:13 +03:00
parent e44934337a
commit 978e8631aa
22 changed files with 417 additions and 174 deletions

View File

@ -27,6 +27,7 @@ use App\Traits\Currencies;
use App\Traits\DateTime;
use App\Traits\Incomes;
use App\Traits\Uploads;
use App\Utilities\Import;
use App\Utilities\ImportFile;
use App\Utilities\Modules;
use Date;
@ -312,45 +313,23 @@ class Invoices extends Controller
*/
public function import(ImportFile $import)
{
$success = true;
// Loop through all sheets
$import->each(function ($sheet) {
$class = '\App\Models\Income\\' . str_singular(studly_case($sheet->getTitle()));
$import->each(function ($sheet) use (&$success) {
$slug = 'Income\\' . str_singular(studly_case($sheet->getTitle()));
if (!class_exists($class)) {
return;
$success = Import::createFromSheet($sheet, $slug);
if (!$success) {
return false;
}
$sheet->each(function ($row) use ($sheet, $class) {
$data = $row->toArray();
$data['company_id'] = session('company_id');
switch ($sheet->getTitle()) {
case 'invoices':
if (empty($data['customer_email'])) {
$data['customer_email'] = '';
}
break;
case 'invoice_items':
if (empty($data['tax_id'])) {
$data['tax_id'] = '0';
}
break;
case 'invoice_histories':
if (empty($data['notify'])) {
$data['notify'] = '0';
}
break;
case 'invoice_totals':
if (empty($data['amount'])) {
$data['amount'] = '0';
}
break;
}
$class::create($data);
});
});
if (!$success) {
return redirect('common/import/incomes/invoices');
}
$message = trans('messages.success.imported', ['type' => trans_choice('general.invoices', 2)]);
flash($message)->success();