use jobs in seeds
This commit is contained in:
parent
442b238854
commit
7fd3917d63
@ -5,6 +5,7 @@ namespace App\Jobs\Common;
|
||||
use App\Abstracts\Job;
|
||||
use App\Interfaces\Job\HasOwner;
|
||||
use App\Interfaces\Job\ShouldCreate;
|
||||
use App\Jobs\Common\CreateWidget;
|
||||
use App\Models\Auth\User;
|
||||
use App\Models\Common\Company;
|
||||
use App\Models\Common\Dashboard;
|
||||
@ -110,16 +111,21 @@ class CreateDashboard extends Job implements HasOwner, ShouldCreate
|
||||
$name = (new $class())->getDefaultName();
|
||||
}
|
||||
|
||||
Widget::firstOrCreate([
|
||||
'company_id' => $this->model->company_id,
|
||||
'dashboard_id' => $this->model->id,
|
||||
'class' => $class,
|
||||
], [
|
||||
'name' => $name,
|
||||
'sort' => $sort,
|
||||
'settings' => (new $class())->getDefaultSettings(),
|
||||
'created_by' => $this->model->created_by,
|
||||
]);
|
||||
$widget = Widget::companyId($this->model->company_id)
|
||||
->where('dashboard_id', $this->model->id)
|
||||
->where('class', $class)
|
||||
->first();
|
||||
|
||||
if (! $widget) {
|
||||
$this->dispatch(new CreateWidget([
|
||||
'company_id' => $this->model->company_id,
|
||||
'dashboard_id' => $this->model->id,
|
||||
'class' => $class,
|
||||
'name' => $name,
|
||||
'sort' => $sort,
|
||||
'settings' => (new $class())->getDefaultSettings(),
|
||||
]));
|
||||
}
|
||||
|
||||
$sort++;
|
||||
}
|
||||
|
@ -11,8 +11,6 @@ class CreateWidget extends Job implements HasOwner, ShouldCreate
|
||||
{
|
||||
public function handle(): Widget
|
||||
{
|
||||
$this->request['enabled'] = $this->request['enabled'] ?? 1;
|
||||
|
||||
\DB::transaction(function () {
|
||||
$this->widget = Widget::create($this->request->all());
|
||||
});
|
||||
|
@ -3,11 +3,14 @@
|
||||
namespace Database\Seeds;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use App\Models\Banking\Account;
|
||||
use App\Jobs\Banking\CreateAccount;
|
||||
use App\Traits\Jobs;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class Accounts extends Seeder
|
||||
{
|
||||
use Jobs;
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
@ -26,14 +29,14 @@ class Accounts extends Seeder
|
||||
{
|
||||
$company_id = $this->command->argument('company');
|
||||
|
||||
$account = Account::create([
|
||||
$account = $this->dispatch(new CreateAccount([
|
||||
'company_id' => $company_id,
|
||||
'name' => trans('demo.accounts.cash'),
|
||||
'number' => '1',
|
||||
'currency_code' => 'USD',
|
||||
'bank_name' => trans('demo.accounts.cash'),
|
||||
'enabled' => '1',
|
||||
]);
|
||||
]));
|
||||
|
||||
setting()->set('default.account', $account->id);
|
||||
}
|
||||
|
@ -3,11 +3,14 @@
|
||||
namespace Database\Seeds;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use App\Models\Setting\Category;
|
||||
use App\Jobs\Setting\CreateCategory;
|
||||
use App\Traits\Jobs;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class Categories extends Seeder
|
||||
{
|
||||
use Jobs;
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
@ -67,7 +70,7 @@ class Categories extends Seeder
|
||||
$income_category_id = $expense_category_id = 0;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$category = Category::create($row);
|
||||
$category = $this->dispatch(new CreateCategory($row));
|
||||
|
||||
switch ($category->type) {
|
||||
case 'income':
|
||||
|
@ -3,11 +3,14 @@
|
||||
namespace Database\Seeds;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Jobs\Setting\CreateCurrency;
|
||||
use App\Traits\Jobs;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class Currencies extends Seeder
|
||||
{
|
||||
use Jobs;
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
@ -75,7 +78,7 @@ class Currencies extends Seeder
|
||||
];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
Currency::create($row);
|
||||
$this->dispatch(new CreateCurrency($row));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
namespace Database\Seeds;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use Artisan;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
class Modules extends Seeder
|
||||
{
|
||||
|
@ -3,11 +3,14 @@
|
||||
namespace Database\Seeds;
|
||||
|
||||
use App\Abstracts\Model;
|
||||
use App\Models\Common\Report;
|
||||
use App\Jobs\Common\CreateReport;
|
||||
use App\Traits\Jobs;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class Reports extends Seeder
|
||||
{
|
||||
use Jobs;
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
@ -65,7 +68,7 @@ class Reports extends Seeder
|
||||
];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
Report::create($row);
|
||||
$this->dispatch(new CreateReport($row));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user