@ -177,4 +177,4 @@ class Settings extends Controller
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -33,7 +33,7 @@ class Companies extends Controller
|
||||
{
|
||||
$company = Company::find(company_id());
|
||||
|
||||
return view('wizard.companies.edit', compact('company'));
|
||||
return $this->response('wizard.companies.edit', compact('company'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -52,6 +52,7 @@ class Companies extends Controller
|
||||
|
||||
$skip_keys = ['company_id', '_method', '_token'];
|
||||
$file_keys = ['company.logo'];
|
||||
$uploaded_file_keys = ['company.uploaded_logo'];
|
||||
|
||||
foreach ($fields as $key => $value) {
|
||||
// Don't process unwanted keys
|
||||
@ -70,13 +71,18 @@ class Companies extends Controller
|
||||
$real_key = 'company.' . $key;
|
||||
}
|
||||
|
||||
// Process file uploads
|
||||
if (in_array($real_key, $file_keys)) {
|
||||
// change dropzone middleware already uploaded file
|
||||
if (in_array($real_key, $uploaded_file_keys)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Process file uploads
|
||||
if (in_array($real_key, $file_keys)) {
|
||||
// Upload attachment
|
||||
if ($request->file($key)) {
|
||||
$media = $this->getMedia($request->file($key), 'settings');
|
||||
|
||||
$company->attachMedia($media, Str::snake($key));
|
||||
$company->attachMedia($media, Str::snake($real_key));
|
||||
|
||||
$value = $media->id;
|
||||
}
|
||||
@ -87,25 +93,18 @@ class Companies extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
setting()->set($real_key, $value);
|
||||
setting()->set($real_key, $value);
|
||||
}
|
||||
|
||||
// Save all settings
|
||||
setting()->save();
|
||||
|
||||
$message = trans('messages.success.updated', ['type' => trans_choice('general.companies', 2)]);
|
||||
|
||||
$response = [
|
||||
return response()->json([
|
||||
'status' => null,
|
||||
'success' => true,
|
||||
'error' => false,
|
||||
'message' => $message,
|
||||
'message' => trans('messages.success.updated', ['type' => trans_choice('general.companies', 2)]),
|
||||
'data' => null,
|
||||
'redirect' => route('wizard.currencies.index'),
|
||||
];
|
||||
|
||||
flash($message)->success();
|
||||
|
||||
return response()->json($response);
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ class Currencies extends Controller
|
||||
$codes[$key] = $key;
|
||||
}
|
||||
|
||||
return view('wizard.currencies.index', compact('currencies', 'codes'));
|
||||
return $this->response('wizard.currencies.index', compact('currencies', 'codes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -58,19 +58,14 @@ class Currencies extends Controller
|
||||
{
|
||||
$response = $this->ajaxDispatch(new CreateCurrency($request));
|
||||
|
||||
$response['redirect'] = route('wizard.currencies.index');
|
||||
|
||||
if ($response['success']) {
|
||||
|
||||
$message = trans('messages.success.added', ['type' => trans_choice('general.currencies', 1)]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
@ -86,18 +81,14 @@ class Currencies extends Controller
|
||||
{
|
||||
$response = $this->ajaxDispatch(new UpdateCurrency($currency, $request));
|
||||
|
||||
$response['redirect'] = route('wizard.currencies.index');
|
||||
|
||||
if ($response['success']) {
|
||||
$message = trans('messages.success.updated', ['type' => $currency->name]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
@ -110,20 +101,19 @@ class Currencies extends Controller
|
||||
*/
|
||||
public function destroy(Currency $currency)
|
||||
{
|
||||
$response = $this->ajaxDispatch(new DeleteCurrency($currency));
|
||||
$currency_id = $currency->id;
|
||||
|
||||
$response['redirect'] = route('wizard.currencies.index');
|
||||
$response = $this->ajaxDispatch(new DeleteCurrency($currency));
|
||||
|
||||
if ($response['success']) {
|
||||
$message = trans('messages.success.deleted', ['type' => $currency->name]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['currency_id'] = $currency_id;
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
}
|
||||
|
150
app/Http/Controllers/Wizard/Data.php
Normal file
150
app/Http/Controllers/Wizard/Data.php
Normal file
@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Wizard;
|
||||
|
||||
use App\Abstracts\Http\Controller;
|
||||
|
||||
use Akaunting\Money\Currency as MoneyCurrency;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Models\Setting\Tax;
|
||||
use App\Traits\Modules;
|
||||
use App\Models\Common\Company;
|
||||
|
||||
class Data extends Controller
|
||||
{
|
||||
use Modules;
|
||||
|
||||
/**
|
||||
* Instantiate a new controller instance.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// Add CRUD permission check
|
||||
$this->middleware('permission:create-common-companies')->only('create', 'store', 'duplicate', 'import');
|
||||
$this->middleware('permission:read-common-companies')->only('index', 'show', 'edit', 'export');
|
||||
$this->middleware('permission:update-common-companies')->only('update', 'enable', 'disable');
|
||||
$this->middleware('permission:delete-common-companies')->only('destroy');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$translations = [
|
||||
'company' => [
|
||||
'title' => trans_choice('general.companies', 1),
|
||||
'api_key' => trans('modules.api_key'),
|
||||
'form_enter' => trans('general.form.enter'),
|
||||
'get_api_key' => trans('modules.get_api_key'),
|
||||
'tax_number' => trans('general.tax_number'),
|
||||
'financial_start' => trans('settings.localisation.financial_start'),
|
||||
'address' => trans('settings.company.address'),
|
||||
'logo' => trans('settings.company.logo'),
|
||||
'skip' => trans('general.skip'),
|
||||
'save' => trans('general.save'),
|
||||
],
|
||||
|
||||
'currencies' => [
|
||||
'title' => trans_choice('general.currencies', 2),
|
||||
'add_new' => trans('general.add_new'),
|
||||
'name' => trans('general.name'),
|
||||
'code' => trans('currencies.code'),
|
||||
'rate' => trans('currencies.rate'),
|
||||
'enabled' => trans('general.enabled'),
|
||||
'actions' => trans('general.actions') ,
|
||||
'yes' => trans('general.yes'),
|
||||
'no' => trans('general.no'),
|
||||
'edit' => trans('general.edit'),
|
||||
'delete' => trans('general.delete'),
|
||||
'save' => trans('general.save'),
|
||||
'precision' => trans('currencies.precision'),
|
||||
'symbol' => trans('currencies.symbol.symbol'),
|
||||
'position' => trans('currencies.symbol.position'),
|
||||
'decimal_mark' => trans('currencies.decimal_mark'),
|
||||
'thousands_separator' => trans('currencies.thousands_separator'),
|
||||
'previous' => trans('pagination.previous'),
|
||||
'next' => trans('pagination.next'),
|
||||
'delete_confirm' => trans('general.delete_confirm'),
|
||||
'cancel' => trans('general.cancel'),
|
||||
],
|
||||
|
||||
'taxes' => [
|
||||
'title' => trans_choice('general.taxes', 2),
|
||||
'add_new' => trans('general.add_new'),
|
||||
'name' => trans('general.name'),
|
||||
'rate_percent' => trans('taxes.rate_percent'),
|
||||
'enabled' => trans('general.enabled'),
|
||||
'actions' => trans('general.actions'),
|
||||
'yes' => trans('general.yes'),
|
||||
'no' => trans('general.no'),
|
||||
'edit' => trans('general.edit'),
|
||||
'delete' => trans('general.delete'),
|
||||
'name' => trans('general.name'),
|
||||
'rate' => trans('currencies.rate'),
|
||||
'enabled' => trans('general.enabled'),
|
||||
'save' => trans('general.save'),
|
||||
'previous' => trans('pagination.previous'),
|
||||
'next' => trans('pagination.next'),
|
||||
'cancel' => trans('general.cancel'),
|
||||
],
|
||||
|
||||
'finish' => [
|
||||
'title' => trans_choice('general.finish', 1),
|
||||
'recommended_apps' => trans('modules.recommended_apps'),
|
||||
'no_apps' => trans('modules.no_apps'),
|
||||
'developer' => trans('modules.developer'),
|
||||
'previous' => trans('pagination.previous'),
|
||||
'go_to_dashboard' => trans('general.go_to_dashboard'),
|
||||
'error_message' => trans('errors.title.500'),
|
||||
]
|
||||
];
|
||||
|
||||
$currencies = Currency::collect();
|
||||
|
||||
// Prepare codes
|
||||
$codes = [];
|
||||
$money_currencies = MoneyCurrency::getCurrencies();
|
||||
|
||||
foreach ($money_currencies as $key => $item) {
|
||||
$codes[$key] = $key;
|
||||
}
|
||||
|
||||
$taxes = Tax::collect();
|
||||
|
||||
$modules = $this->getFeaturedModules([
|
||||
'query' => [
|
||||
'limit' => 4
|
||||
]
|
||||
]);
|
||||
|
||||
$company = company();
|
||||
|
||||
$company->api_key = setting('apps.api_key');
|
||||
$company->financial_start = setting('localisation.financial_start');
|
||||
|
||||
if ($company->logo) {
|
||||
$logo = \Plank\Mediable\Media::find($company->logo);
|
||||
|
||||
$logo->path = route('uploads.get', $logo->id);
|
||||
|
||||
$company->logo = $logo;
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'errors' => false,
|
||||
'message' => 'Get all data...',
|
||||
'data' => [
|
||||
'translations' => $translations,
|
||||
'company' => $company,
|
||||
'currencies' => $currencies,
|
||||
'currency_codes' => $codes,
|
||||
'taxes' => $taxes,
|
||||
'modules' => $modules,
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Wizard;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use App\Abstracts\Http\Controller;
|
||||
use App\Traits\Modules;
|
||||
|
||||
class Finish extends Controller
|
||||
@ -38,6 +38,21 @@ class Finish extends Controller
|
||||
|
||||
$modules = $this->getFeaturedModules($data);
|
||||
|
||||
return view('wizard.finish.index', compact('modules'));
|
||||
return $this->response('wizard.finish.index', compact('modules'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function update()
|
||||
{
|
||||
setting()->set('wizard.completed', 1);
|
||||
|
||||
// Save all settings
|
||||
setting()->save();
|
||||
|
||||
return response()->json([]);
|
||||
}
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ class Taxes extends Controller
|
||||
{
|
||||
$taxes = Tax::collect();
|
||||
|
||||
return view('wizard.taxes.index', compact('taxes'));
|
||||
return $this->response('wizard.taxes.index', compact('taxes'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -46,18 +46,14 @@ class Taxes extends Controller
|
||||
{
|
||||
$response = $this->ajaxDispatch(new CreateTax($request));
|
||||
|
||||
$response['redirect'] = route('wizard.taxes.index');
|
||||
|
||||
if ($response['success']) {
|
||||
$message = trans('messages.success.added', ['type' => trans_choice('general.taxes', 1)]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
@ -73,18 +69,14 @@ class Taxes extends Controller
|
||||
{
|
||||
$response = $this->ajaxDispatch(new UpdateTax($tax, $request));
|
||||
|
||||
$response['redirect'] = route('wizard.taxes.index');
|
||||
|
||||
if ($response['success']) {
|
||||
$message = trans('messages.success.updated', ['type' => $tax->name]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
@ -97,20 +89,19 @@ class Taxes extends Controller
|
||||
*/
|
||||
public function destroy(Tax $tax)
|
||||
{
|
||||
$response = $this->ajaxDispatch(new DeleteTax($tax));
|
||||
$tax_id = $tax->id;
|
||||
|
||||
$response['redirect'] = route('wizard.taxes.index');
|
||||
$response = $this->ajaxDispatch(new DeleteTax($tax));
|
||||
|
||||
if ($response['success']) {
|
||||
$message = trans('messages.success.deleted', ['type' => $tax->name]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
$response['tax_id'] = $tax_id;
|
||||
$response['message'] = $message;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user