akaunting/app/Imports/Sales/Customers.php

37 lines
874 B
PHP
Raw Permalink Normal View History

2019-11-16 10:21:14 +03:00
<?php
2019-12-31 15:49:09 +03:00
namespace App\Imports\Sales;
2019-11-16 10:21:14 +03:00
2020-01-20 01:26:35 +03:00
use App\Abstracts\Import;
2023-06-16 17:26:49 +03:00
use App\Models\Auth\User;
2019-11-16 10:21:14 +03:00
use App\Http\Requests\Common\Contact as Request;
use App\Models\Common\Contact as Model;
2019-11-16 10:21:14 +03:00
2020-01-20 01:26:35 +03:00
class Customers extends Import
2019-11-16 10:21:14 +03:00
{
2023-03-07 15:18:14 +03:00
public $request_class = Request::class;
2019-11-16 10:21:14 +03:00
public function model(array $row)
{
return new Model($row);
2019-11-16 10:21:14 +03:00
}
public function map($row): array
{
2020-01-20 11:12:14 +03:00
$row = parent::map($row);
2019-11-16 10:21:14 +03:00
2021-11-08 02:40:40 +03:00
$country = array_search($row['country'], trans('countries'));
2020-01-20 11:12:14 +03:00
$row['type'] = 'customer';
2021-11-08 02:40:40 +03:00
$row['country'] = !empty($country) ? $country : null;
$row['currency_code'] = $this->getCurrencyCode($row);
$row['user_id'] = null;
2019-11-16 10:21:14 +03:00
2023-06-16 17:26:49 +03:00
if (isset($row['can_login']) && isset($row['email'])) {
$row['user_id'] = User::where('email', $row['email'])->first()?->id ?? null;
}
2019-11-16 10:21:14 +03:00
return $row;
}
2020-01-20 01:26:35 +03:00
}