akaunting/app/Http/Controllers/Modals/InvoiceTemplates.php

68 lines
1.9 KiB
PHP
Raw Normal View History

2019-12-25 19:09:04 +03:00
<?php
namespace App\Http\Controllers\Modals;
use App\Abstracts\Http\Controller;
use App\Http\Requests\Setting\Setting as Request;
class InvoiceTemplates extends Controller
{
public $skip_keys = ['company_id', '_method', '_token', '_prefix', '_template'];
public function __construct()
{
// Add CRUD permission check
2022-06-01 10:15:55 +03:00
$this->middleware('permission:create-settings-invoice')->only('create', 'store');
$this->middleware('permission:read-settings-invoice')->only('index', 'edit');
$this->middleware('permission:update-settings-invoice')->only('update', 'enable', 'disable');
$this->middleware('permission:delete-settings-invoice')->only('destroy');
2019-12-25 19:09:04 +03:00
}
/**
* Update the specified resource in storage.
*
* @param Request $request
*
* @return Response
*/
public function update(Request $request)
{
$fields = $request->all();
2019-12-25 21:48:05 +03:00
$prefix = $request->get('_prefix', 'invoice');
2019-12-25 19:09:04 +03:00
$company_id = $request->get('company_id');
if (empty($company_id)) {
2021-04-16 00:59:43 +03:00
$company_id = company_id();
2019-12-25 19:09:04 +03:00
}
foreach ($fields as $key => $value) {
$real_key = $prefix . '.' . $key;
// Don't process unwanted keys
if (in_array($key, $this->skip_keys)) {
continue;
}
setting()->set($real_key, $value);
}
// Save all settings
setting()->save();
$message = trans('messages.success.updated', ['type' => trans_choice('general.settings', 2)]);
$response = [
'status' => null,
'success' => true,
'error' => false,
'message' => $message,
'data' => null,
'redirect' => route('settings.invoice.edit'),
];
flash($message)->success();
return response()->json($response);
}
}