Merge pull request #1655 from cuneytsenturk/default-category
Added Sales & Purchases default category
This commit is contained in:
commit
3ab38682fc
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Settings;
|
|||||||
|
|
||||||
use App\Abstracts\Http\Controller;
|
use App\Abstracts\Http\Controller;
|
||||||
use App\Models\Banking\Account;
|
use App\Models\Banking\Account;
|
||||||
|
use App\Models\Setting\Category;
|
||||||
use App\Models\Setting\Currency;
|
use App\Models\Setting\Currency;
|
||||||
use App\Models\Setting\Tax;
|
use App\Models\Setting\Tax;
|
||||||
use App\Utilities\Modules;
|
use App\Utilities\Modules;
|
||||||
@ -16,6 +17,9 @@ class Defaults extends Controller
|
|||||||
|
|
||||||
$currencies = Currency::enabled()->orderBy('name')->pluck('name', 'code');
|
$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');
|
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');
|
||||||
|
|
||||||
$payment_methods = Modules::getPaymentMethods();
|
$payment_methods = Modules::getPaymentMethods();
|
||||||
@ -23,6 +27,8 @@ class Defaults extends Controller
|
|||||||
return view('settings.default.edit', compact(
|
return view('settings.default.edit', compact(
|
||||||
'accounts',
|
'accounts',
|
||||||
'currencies',
|
'currencies',
|
||||||
|
'sales_categories',
|
||||||
|
'purchases_categories',
|
||||||
'taxes',
|
'taxes',
|
||||||
'payment_methods'
|
'payment_methods'
|
||||||
));
|
));
|
||||||
|
@ -4,6 +4,9 @@ namespace App\Listeners\Update\V21;
|
|||||||
|
|
||||||
use App\Abstracts\Listeners\Update as Listener;
|
use App\Abstracts\Listeners\Update as Listener;
|
||||||
use App\Events\Install\UpdateFinished as Event;
|
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;
|
use Illuminate\Support\Facades\Artisan;
|
||||||
|
|
||||||
class Version210 extends Listener
|
class Version210 extends Listener
|
||||||
@ -24,6 +27,42 @@ class Version210 extends Listener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->updateCompanies();
|
||||||
|
|
||||||
Artisan::call('migrate', ['--force' => true]);
|
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) {
|
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',
|
'description' => 'Default account, currency, language of your company',
|
||||||
'list_limit' => 'Records Per Page',
|
'list_limit' => 'Records Per Page',
|
||||||
'use_gravatar' => 'Use Gravatar',
|
'use_gravatar' => 'Use Gravatar',
|
||||||
|
'sales_category' => 'Sales Category',
|
||||||
|
'purchases_category'=> 'Purchases Category',
|
||||||
],
|
],
|
||||||
|
|
||||||
'email' => [
|
'email' => [
|
||||||
|
@ -194,7 +194,7 @@
|
|||||||
|
|
||||||
{{ Form::textareaGroup('notes', trans_choice('general.notes', 2)) }}
|
{{ 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') }}
|
{{ Form::recurring('create') }}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
{{ 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') }}
|
{{ Form::recurring('create') }}
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@
|
|||||||
|
|
||||||
{{ Form::textareaGroup('footer', trans('general.footer'), '', setting('invoice.footer'), ['rows' => '3'], 'col-md-6') }}
|
{{ 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') }}
|
{{ Form::recurring('create') }}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
{{ 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') }}
|
{{ Form::recurring('create') }}
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
{{ Form::selectGroup('currency', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), []) }}
|
{{ 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('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'), []) }}
|
{{ 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