Added Sales & Purchases default category
This commit is contained in:
parent
e5a7f5b15e
commit
e638b7860c
@ -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'
|
||||
));
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -64,8 +64,26 @@ class Categories extends Seeder
|
||||
],
|
||||
];
|
||||
|
||||
$sales_category = $purchases_category = false;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
Category::create($row);
|
||||
$category = Category::create($row);
|
||||
|
||||
switch ($category->type) {
|
||||
case 'income':
|
||||
if (empty($sales_category)) {
|
||||
$sales_category = $category;
|
||||
}
|
||||
break;
|
||||
case 'expense':
|
||||
if (empty($purchases_category)) {
|
||||
$purchases_category = $category;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
setting()->set('default.sales_category', $sales_category->id);
|
||||
setting()->set('default.purchases_category', $purchases_category->id);
|
||||
}
|
||||
}
|
||||
|
@ -68,6 +68,8 @@ return [
|
||||
'description' => 'Default account, currency, language of your company',
|
||||
'list_limit' => 'Records Per Page',
|
||||
'use_gravatar' => 'Use Gravatar',
|
||||
'sales_category' => 'Sales Category',
|
||||
'purchases_category'=> 'Purchases Category',
|
||||
],
|
||||
|
||||
'email' => [
|
||||
|
@ -194,7 +194,7 @@
|
||||
|
||||
{{ Form::textareaGroup('notes', trans_choice('general.notes', 2)) }}
|
||||
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=expense']) }}
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.purchases_category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=expense']) }}
|
||||
|
||||
{{ Form::recurring('create') }}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
||||
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=expense']) }}
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.purchases_category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=expense']) }}
|
||||
|
||||
{{ Form::recurring('create') }}
|
||||
|
||||
|
@ -196,7 +196,7 @@
|
||||
|
||||
{{ Form::textareaGroup('footer', trans('general.footer'), '', setting('invoice.footer'), ['rows' => '3'], 'col-md-6') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('defaults.category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=income']) }}
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.sales_category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=income']) }}
|
||||
|
||||
{{ Form::recurring('create') }}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
||||
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=income']) }}
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, setting('default.sales_category'), ['required' => 'required', 'path' => route('modals.categories.create') . '?type=income']) }}
|
||||
|
||||
{{ Form::recurring('create') }}
|
||||
|
||||
|
@ -22,6 +22,10 @@
|
||||
|
||||
{{ Form::selectGroup('currency', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), []) }}
|
||||
|
||||
{{ Form::selectGroup('sales_category', trans('settings.default.sales_category'), 'folder', $sales_categories, setting('default.sales_category'), []) }}
|
||||
|
||||
{{ Form::selectGroup('purchases_category', trans('settings.default.purchases_category'), 'folder', $purchases_categories, setting('default.purchases_category'), []) }}
|
||||
|
||||
{{ Form::selectGroup('tax', trans_choice('general.taxes', 1), 'percent', $taxes, setting('default.tax'), []) }}
|
||||
|
||||
{{ Form::selectGroup('payment_method', trans_choice('general.payment_methods', 1), 'credit-card', $payment_methods, setting('default.payment_method'), []) }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user