2017-09-14 22:21:00 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Database\Seeds;
|
|
|
|
|
2019-11-16 10:21:14 +03:00
|
|
|
use App\Abstracts\Model;
|
2021-09-06 14:46:42 +03:00
|
|
|
use App\Jobs\Setting\CreateCategory;
|
|
|
|
use App\Traits\Jobs;
|
2017-09-14 22:21:00 +03:00
|
|
|
use Illuminate\Database\Seeder;
|
|
|
|
|
|
|
|
class Categories extends Seeder
|
|
|
|
{
|
2021-09-06 14:46:42 +03:00
|
|
|
use Jobs;
|
|
|
|
|
2017-09-14 22:21:00 +03:00
|
|
|
/**
|
|
|
|
* Run the database seeds.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function run()
|
|
|
|
{
|
|
|
|
Model::unguard();
|
|
|
|
|
|
|
|
$this->create();
|
|
|
|
|
|
|
|
Model::reguard();
|
|
|
|
}
|
|
|
|
|
|
|
|
private function create()
|
|
|
|
{
|
2018-07-26 23:00:45 +03:00
|
|
|
$company_id = $this->command->argument('company');
|
2017-09-14 22:21:00 +03:00
|
|
|
|
|
|
|
$rows = [
|
|
|
|
[
|
|
|
|
'company_id' => $company_id,
|
|
|
|
'name' => trans_choice('general.transfers', 1),
|
|
|
|
'type' => 'other',
|
2019-11-16 10:21:14 +03:00
|
|
|
'color' => '#3c3f72',
|
2019-12-25 23:48:13 +03:00
|
|
|
'enabled' => '1',
|
2017-09-14 22:21:00 +03:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'company_id' => $company_id,
|
2019-12-25 23:48:13 +03:00
|
|
|
'name' => trans('demo.categories.deposit'),
|
2017-09-14 22:21:00 +03:00
|
|
|
'type' => 'income',
|
2019-11-16 10:21:14 +03:00
|
|
|
'color' => '#efad32',
|
2019-12-25 23:48:13 +03:00
|
|
|
'enabled' => '1',
|
2017-09-14 22:21:00 +03:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'company_id' => $company_id,
|
2019-12-25 23:48:13 +03:00
|
|
|
'name' => trans('demo.categories.sales'),
|
2017-09-14 22:21:00 +03:00
|
|
|
'type' => 'income',
|
|
|
|
'color' => '#6da252',
|
2019-12-25 23:48:13 +03:00
|
|
|
'enabled' => '1',
|
2017-09-14 22:21:00 +03:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'company_id' => $company_id,
|
2018-05-05 11:59:21 +03:00
|
|
|
'name' => trans_choice('general.others', 1),
|
2017-09-14 22:21:00 +03:00
|
|
|
'type' => 'expense',
|
2019-11-16 10:21:14 +03:00
|
|
|
'color' => '#e5e5e5',
|
2019-12-25 23:48:13 +03:00
|
|
|
'enabled' => '1',
|
2017-09-14 22:21:00 +03:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'company_id' => $company_id,
|
|
|
|
'name' => trans('general.general'),
|
|
|
|
'type' => 'item',
|
2019-11-16 10:21:14 +03:00
|
|
|
'color' => '#328aef',
|
2019-12-25 23:48:13 +03:00
|
|
|
'enabled' => '1',
|
2017-09-14 22:21:00 +03:00
|
|
|
],
|
|
|
|
];
|
|
|
|
|
2021-04-23 17:12:38 +03:00
|
|
|
$income_category_id = $expense_category_id = 0;
|
2020-11-07 16:18:44 +03:00
|
|
|
|
2017-09-14 22:21:00 +03:00
|
|
|
foreach ($rows as $row) {
|
2021-09-10 00:31:39 +03:00
|
|
|
$row['created_from'] = 'core::seed';
|
2021-09-07 10:33:34 +03:00
|
|
|
|
2021-09-06 14:46:42 +03:00
|
|
|
$category = $this->dispatch(new CreateCategory($row));
|
2020-11-07 16:18:44 +03:00
|
|
|
|
|
|
|
switch ($category->type) {
|
|
|
|
case 'income':
|
2021-04-23 17:12:38 +03:00
|
|
|
if (empty($income_category_id)) {
|
|
|
|
$income_category_id = $category->id;
|
2020-11-07 16:18:44 +03:00
|
|
|
}
|
2021-04-23 17:12:38 +03:00
|
|
|
|
2020-11-07 16:18:44 +03:00
|
|
|
break;
|
|
|
|
case 'expense':
|
2021-04-23 17:12:38 +03:00
|
|
|
if (empty($expense_category_id)) {
|
|
|
|
$expense_category_id = $category->id;
|
2020-11-07 16:18:44 +03:00
|
|
|
}
|
2021-04-23 17:12:38 +03:00
|
|
|
|
2020-11-07 16:18:44 +03:00
|
|
|
break;
|
|
|
|
}
|
2017-09-14 22:21:00 +03:00
|
|
|
}
|
2020-11-07 16:18:44 +03:00
|
|
|
|
2021-04-23 17:12:38 +03:00
|
|
|
setting()->set('default.income_category', $income_category_id);
|
|
|
|
setting()->set('default.expense_category', $expense_category_id);
|
2017-09-14 22:21:00 +03:00
|
|
|
}
|
|
|
|
}
|