Added Sales & Purchases default category

This commit is contained in:
Cüneyt Şentürk
2020-11-07 16:18:44 +03:00
parent e5a7f5b15e
commit e638b7860c
9 changed files with 74 additions and 5 deletions

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers\Settings;
use App\Abstracts\Http\Controller;
use App\Models\Banking\Account;
use App\Models\Setting\Category;
use App\Models\Setting\Currency;
use App\Models\Setting\Tax;
use App\Utilities\Modules;
@ -16,6 +17,9 @@ class Defaults extends Controller
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code');
$sales_categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$purchases_categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');
$payment_methods = Modules::getPaymentMethods();
@ -23,6 +27,8 @@ class Defaults extends Controller
return view('settings.default.edit', compact(
'accounts',
'currencies',
'sales_categories',
'purchases_categories',
'taxes',
'payment_methods'
));

View File

@ -4,6 +4,9 @@ namespace App\Listeners\Update\V21;
use App\Abstracts\Listeners\Update as Listener;
use App\Events\Install\UpdateFinished as Event;
use App\Models\Setting\Category;
use App\Models\Common\Company;
use App\Utilities\Overrider;
use Illuminate\Support\Facades\Artisan;
class Version210 extends Listener
@ -24,6 +27,42 @@ class Version210 extends Listener
return;
}
$this->updateCompanies();
Artisan::call('migrate', ['--force' => true]);
}
protected function updateCompanies()
{
$company_id = session('company_id');
$companies = Company::cursor();
foreach ($companies as $company) {
session(['company_id' => $company->id]);
$this->updateSettings($company);
}
setting()->forgetAll();
session(['company_id' => $company_id]);
Overrider::load('settings');
}
public function updateSettings($company)
{
$sales_category = Category::income()->enabled()->first();
$purchases_category = Category::expense()->enabled()->first();
// Set the active company settings
setting()->setExtraColumns(['company_id' => $company->id]);
setting()->forgetAll();
setting()->load(true);
setting()->set(['default.sales_category' => setting('default.sales_category', $sales_category->id)]);
setting()->set(['default.purchases_category' => setting('default.purchases_category', $purchases_category->id)]);
setting()->save();
}
}