more enable/disable

This commit is contained in:
denisdulici 2018-06-11 11:53:45 +03:00
parent f3e54217fc
commit 7f28b00570
11 changed files with 269 additions and 6 deletions

View File

@ -124,6 +124,56 @@ class Accounts extends Controller
} }
} }
/**
* Enable the specified resource.
*
* @param Account $account
*
* @return Response
*/
public function enable(Account $account)
{
$account->enabled = 1;
$account->save();
$message = trans('messages.success.enabled', ['type' => trans_choice('general.accounts', 1)]);
flash($message)->success();
return redirect()->route('accounts.index');
}
/**
* Disable the specified resource.
*
* @param Account $account
*
* @return Response
*/
public function disable(Account $account)
{
if ($account->id == setting('general.default_account')) {
$relationships[] = strtolower(trans_choice('general.companies', 1));
}
if (empty($relationships)) {
$account->enabled = 0;
$account->save();
$message = trans('messages.success.disabled', ['type' => trans_choice('general.accounts', 1)]);
flash($message)->success();
} else {
$message = trans('messages.warning.disabled', ['name' => $account->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('accounts.index');
}
return redirect()->route('accounts.index');
}
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *

View File

@ -174,6 +174,53 @@ class Companies extends Controller
return redirect('common/companies'); return redirect('common/companies');
} }
/**
* Enable the specified resource.
*
* @param Company $company
*
* @return Response
*/
public function enable(Company $company)
{
$company->enabled = 1;
$company->save();
$message = trans('messages.success.enabled', ['type' => trans_choice('general.companies', 1)]);
flash($message)->success();
return redirect()->route('companies.index');
}
/**
* Disable the specified resource.
*
* @param Company $company
*
* @return Response
*/
public function disable(Company $company)
{
// Check if user can update company
if (!$this->isUserCompany($company)) {
$message = trans('companies.error.not_user_company');
flash($message)->error();
return redirect()->route('companies.index');
}
$company->enabled = 0;
$company->save();
$message = trans('messages.success.disabled', ['type' => trans_choice('general.companies', 1)]);
flash($message)->success();
return redirect()->route('companies.index');
}
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *

View File

@ -242,6 +242,44 @@ class Vendors extends Controller
return redirect('expenses/vendors'); return redirect('expenses/vendors');
} }
/**
* Enable the specified resource.
*
* @param Vendor $vendor
*
* @return Response
*/
public function enable(Vendor $vendor)
{
$vendor->enabled = 1;
$vendor->save();
$message = trans('messages.success.enabled', ['type' => trans_choice('general.vendors', 1)]);
flash($message)->success();
return redirect()->route('vendors.index');
}
/**
* Disable the specified resource.
*
* @param Vendor $vendor
*
* @return Response
*/
public function disable(Vendor $vendor)
{
$vendor->enabled = 0;
$vendor->save();
$message = trans('messages.success.disabled', ['type' => trans_choice('general.vendors', 1)]);
flash($message)->success();
return redirect()->route('vendors.index');
}
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *

View File

@ -278,6 +278,44 @@ class Customers extends Controller
return redirect('incomes/customers'); return redirect('incomes/customers');
} }
/**
* Enable the specified resource.
*
* @param Customer $customer
*
* @return Response
*/
public function enable(Customer $customer)
{
$customer->enabled = 1;
$customer->save();
$message = trans('messages.success.enabled', ['type' => trans_choice('general.customers', 1)]);
flash($message)->success();
return redirect()->route('customers.index');
}
/**
* Disable the specified resource.
*
* @param Customer $customer
*
* @return Response
*/
public function disable(Customer $customer)
{
$customer->enabled = 0;
$customer->save();
$message = trans('messages.success.disabled', ['type' => trans_choice('general.customers', 1)]);
flash($message)->success();
return redirect()->route('customers.index');
}
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *

View File

@ -104,6 +104,58 @@ class Taxes extends Controller
} }
} }
/**
* Enable the specified resource.
*
* @param Tax $tax
*
* @return Response
*/
public function enable(Tax $tax)
{
$tax->enabled = 1;
$tax->save();
$message = trans('messages.success.enabled', ['type' => trans_choice('general.tax_rates', 1)]);
flash($message)->success();
return redirect()->route('taxes.index');
}
/**
* Disable the specified resource.
*
* @param Tax $tax
*
* @return Response
*/
public function disable(Tax $tax)
{
$relationships = $this->countRelationships($tax, [
'items' => 'items',
'invoice_items' => 'invoices',
'bill_items' => 'bills',
]);
if (empty($relationships)) {
$tax->enabled = 0;
$tax->save();
$message = trans('messages.success.disabled', ['type' => trans_choice('general.tax_rates', 1)]);
flash($message)->success();
} else {
$message = trans('messages.warning.disabled', ['name' => $tax->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('taxes.index');
}
return redirect()->route('taxes.index');
}
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *

View File

@ -58,7 +58,13 @@
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
<li><a href="{{ url('banking/accounts/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li> <li><a href="{{ url('banking/accounts/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>
@if ($item->enabled)
<li><a href="{{ route('accounts.disable', $item->id) }}">{{ trans('general.disable') }}</a></li>
@else
<li><a href="{{ route('accounts.enable', $item->id) }}">{{ trans('general.enable') }}</a></li>
@endif
@permission('delete-banking-accounts') @permission('delete-banking-accounts')
<li class="divider"></li>
<li>{!! Form::deleteLink($item, 'banking/accounts') !!}</li> <li>{!! Form::deleteLink($item, 'banking/accounts') !!}</li>
@endpermission @endpermission
</ul> </ul>

View File

@ -63,10 +63,17 @@
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
@if ($item->enabled) @if ($item->enabled)
<li><a href="{{ url('common/companies/' . $item->id . '/set') }}">{{ trans('general.switch') }}</a></li> <li><a href="{{ route('companies.switch', $item->id) }}">{{ trans('general.switch') }}</a></li>
<li class="divider"></li>
@endif @endif
<li><a href="{{ url('common/companies/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li> <li><a href="{{ url('common/companies/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>
@if ($item->enabled)
<li><a href="{{ route('companies.disable', $item->id) }}">{{ trans('general.disable') }}</a></li>
@else
<li><a href="{{ route('companies.enable', $item->id) }}">{{ trans('general.enable') }}</a></li>
@endif
@permission('delete-common-companies') @permission('delete-common-companies')
<li class="divider"></li>
<li>{!! Form::deleteLink($item, 'common/companies', '', 'company_name') !!}</li> <li>{!! Form::deleteLink($item, 'common/companies', '', 'company_name') !!}</li>
@endpermission @endpermission
</ul> </ul>

View File

@ -60,13 +60,17 @@
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
<li><a href="{{ url('expenses/vendors/' . $item->id) }}">{{ trans('general.show') }}</a></li> <li><a href="{{ url('expenses/vendors/' . $item->id) }}">{{ trans('general.show') }}</a></li>
<li><a href="{{ url('expenses/vendors/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li> <li><a href="{{ url('expenses/vendors/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>@if ($item->enabled)
<li class="divider"></li> <li><a href="{{ route('vendors.disable', $item->id) }}">{{ trans('general.disable') }}</a></li>
@else
<li><a href="{{ route('vendors.enable', $item->id) }}">{{ trans('general.enable') }}</a></li>
@endif
@permission('create-expenses-vendors') @permission('create-expenses-vendors')
<li><a href="{{ url('expenses/vendors/' . $item->id . '/duplicate') }}">{{ trans('general.duplicate') }}</a></li>
<li class="divider"></li> <li class="divider"></li>
<li><a href="{{ url('expenses/vendors/' . $item->id . '/duplicate') }}">{{ trans('general.duplicate') }}</a></li>
@endpermission @endpermission
@permission('delete-expenses-vendors') @permission('delete-expenses-vendors')
<li class="divider"></li>
<li>{!! Form::deleteLink($item, 'expenses/vendors') !!}</li> <li>{!! Form::deleteLink($item, 'expenses/vendors') !!}</li>
@endpermission @endpermission
</ul> </ul>

View File

@ -61,12 +61,17 @@
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
<li><a href="{{ url('incomes/customers/' . $item->id) }}">{{ trans('general.show') }}</a></li> <li><a href="{{ url('incomes/customers/' . $item->id) }}">{{ trans('general.show') }}</a></li>
<li><a href="{{ url('incomes/customers/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li> <li><a href="{{ url('incomes/customers/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>
<li class="divider"></li> @if ($item->enabled)
<li><a href="{{ route('customers.disable', $item->id) }}">{{ trans('general.disable') }}</a></li>
@else
<li><a href="{{ route('customers.enable', $item->id) }}">{{ trans('general.enable') }}</a></li>
@endif
@permission('create-incomes-customers') @permission('create-incomes-customers')
<li><a href="{{ url('incomes/customers/' . $item->id . '/duplicate') }}">{{ trans('general.duplicate') }}</a></li>
<li class="divider"></li> <li class="divider"></li>
<li><a href="{{ url('incomes/customers/' . $item->id . '/duplicate') }}">{{ trans('general.duplicate') }}</a></li>
@endpermission @endpermission
@permission('delete-incomes-customers') @permission('delete-incomes-customers')
<li class="divider"></li>
<li>{!! Form::deleteLink($item, 'incomes/customers') !!}</li> <li>{!! Form::deleteLink($item, 'incomes/customers') !!}</li>
@endpermission @endpermission
</ul> </ul>

View File

@ -56,7 +56,13 @@
</button> </button>
<ul class="dropdown-menu dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-right">
<li><a href="{{ url('settings/taxes/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li> <li><a href="{{ url('settings/taxes/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>
@if ($item->enabled)
<li><a href="{{ route('taxes.disable', $item->id) }}">{{ trans('general.disable') }}</a></li>
@else
<li><a href="{{ route('taxes.enable', $item->id) }}">{{ trans('general.enable') }}</a></li>
@endif
@permission('delete-settings-taxes') @permission('delete-settings-taxes')
<li class="divider"></li>
<li>{!! Form::deleteLink($item, 'settings/taxes', 'tax_rates') !!}</li> <li>{!! Form::deleteLink($item, 'settings/taxes', 'tax_rates') !!}</li>
@endpermission @endpermission
</ul> </ul>

View File

@ -16,6 +16,8 @@ Route::group(['middleware' => 'language'], function () {
Route::group(['prefix' => 'common'], function () { Route::group(['prefix' => 'common'], function () {
Route::get('companies/{company}/set', 'Common\Companies@set')->name('companies.switch'); Route::get('companies/{company}/set', 'Common\Companies@set')->name('companies.switch');
Route::get('companies/{company}/enable', 'Common\Companies@enable')->name('companies.enable');
Route::get('companies/{company}/disable', 'Common\Companies@disable')->name('companies.disable');
Route::resource('companies', 'Common\Companies'); Route::resource('companies', 'Common\Companies');
Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow')->name('dashboard.cashflow'); Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow')->name('dashboard.cashflow');
Route::get('import/{group}/{type}', 'Common\Import@create')->name('import.create'); Route::get('import/{group}/{type}', 'Common\Import@create')->name('import.create');
@ -66,6 +68,8 @@ Route::group(['middleware' => 'language'], function () {
Route::post('customers/field', 'Incomes\Customers@field'); Route::post('customers/field', 'Incomes\Customers@field');
Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import'); Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import');
Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export'); Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export');
Route::get('customers/{customer}/enable', 'Incomes\Customers@enable')->name('customers.enable');
Route::get('customers/{customer}/disable', 'Incomes\Customers@disable')->name('customers.disable');
Route::resource('customers', 'Incomes\Customers'); Route::resource('customers', 'Incomes\Customers');
}); });
@ -88,10 +92,14 @@ Route::group(['middleware' => 'language'], function () {
Route::post('vendors/vendor', 'Expenses\Vendors@vendor'); Route::post('vendors/vendor', 'Expenses\Vendors@vendor');
Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import'); Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import');
Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export'); Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export');
Route::get('vendors/{vendor}/enable', 'Expenses\Vendors@enable')->name('vendors.enable');
Route::get('vendors/{vendor}/disable', 'Expenses\Vendors@disable')->name('vendors.disable');
Route::resource('vendors', 'Expenses\Vendors'); Route::resource('vendors', 'Expenses\Vendors');
}); });
Route::group(['prefix' => 'banking'], function () { Route::group(['prefix' => 'banking'], function () {
Route::get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable');
Route::get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable');
Route::resource('accounts', 'Banking\Accounts'); Route::resource('accounts', 'Banking\Accounts');
Route::resource('transactions', 'Banking\Transactions'); Route::resource('transactions', 'Banking\Transactions');
Route::resource('transfers', 'Banking\Transfers'); Route::resource('transfers', 'Banking\Transfers');
@ -117,6 +125,8 @@ Route::group(['middleware' => 'language'], function () {
Route::resource('currencies', 'Settings\Currencies'); Route::resource('currencies', 'Settings\Currencies');
Route::get('settings', 'Settings\Settings@edit'); Route::get('settings', 'Settings\Settings@edit');
Route::patch('settings', 'Settings\Settings@update'); Route::patch('settings', 'Settings\Settings@update');
Route::get('taxes/{tax}/enable', 'Settings\Taxes@enable')->name('taxes.enable');
Route::get('taxes/{tax}/disable', 'Settings\Taxes@disable')->name('taxes.disable');
Route::resource('taxes', 'Settings\Taxes'); Route::resource('taxes', 'Settings\Taxes');
Route::get('apps/{alias}', 'Settings\Modules@edit'); Route::get('apps/{alias}', 'Settings\Modules@edit');
Route::patch('apps/{alias}', 'Settings\Modules@update'); Route::patch('apps/{alias}', 'Settings\Modules@update');