Merge branch 'master' into master

This commit is contained in:
Denis Duliçi
2018-12-24 10:17:40 +03:00
committed by GitHub
176 changed files with 890 additions and 621 deletions

View File

@@ -178,8 +178,6 @@ class Accounts extends Controller
$message = trans('messages.warning.disabled', ['name' => $account->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('accounts.index');
}
return redirect()->route('accounts.index');

View File

@@ -8,6 +8,7 @@ use App\Http\Requests\Common\Company as Request;
use App\Models\Common\Company;
use App\Models\Setting\Currency;
use App\Traits\Uploads;
use App\Utilities\Overrider;
class Companies extends Controller
{
@@ -60,6 +61,8 @@ class Companies extends Controller
*/
public function store(Request $request)
{
$company_id = session('company_id');
setting()->forgetAll();
// Create company
@@ -86,6 +89,12 @@ class Companies extends Controller
setting()->setExtraColumns(['company_id' => $company->id]);
setting()->save();
setting()->forgetAll();
session(['company_id' => $company_id]);
Overrider::load('settings');
// Redirect
$message = trans('messages.success.added', ['type' => trans_choice('general.companies', 1)]);
@@ -129,6 +138,8 @@ class Companies extends Controller
*/
public function update(Company $company, Request $request)
{
$company_id = session('company_id');
// Check if user can update company
if (!$this->isUserCompany($company)) {
$message = trans('companies.error.not_user_company');
@@ -166,6 +177,12 @@ class Companies extends Controller
setting()->save();
setting()->forgetAll();
session(['company_id' => $company_id]);
Overrider::load('settings');
// Redirect
$message = trans('messages.success.updated', ['type' => trans_choice('general.companies', 1)]);
@@ -191,6 +208,7 @@ class Companies extends Controller
flash($message)->success();
return redirect()->route('companies.index');
}
/**

View File

@@ -184,7 +184,9 @@ class Invoices extends Controller
public function link(Invoice $invoice, Request $request)
{
session(['company_id' => $invoice->company_id]);
if (empty($invoice)) {
redirect()->route('login');
}
$paid = 0;

View File

@@ -245,7 +245,7 @@ class Bills extends Controller
*/
public function destroy(Bill $bill)
{
$this->deleteRelationships($bill, ['items', 'histories', 'payments', 'recurring', 'totals']);
$this->deleteRelationships($bill, ['items', 'itemTaxes', 'histories', 'payments', 'recurring', 'totals']);
$bill->delete();
$message = trans('messages.success.deleted', ['type' => trans_choice('general.bills', 1)]);

View File

@@ -257,7 +257,7 @@ class Invoices extends Controller
*/
public function destroy(Invoice $invoice)
{
$this->deleteRelationships($invoice, ['items', 'histories', 'payments', 'recurring', 'totals']);
$this->deleteRelationships($invoice, ['items', 'itemTaxes', 'histories', 'payments', 'recurring', 'totals']);
$invoice->delete();
$message = trans('messages.success.deleted', ['type' => trans_choice('general.invoices', 1)]);

View File

@@ -83,7 +83,7 @@ class Updates extends Controller
public function update($alias, $version)
{
if ($alias == 'core') {
$name = 'Akaunting v' . $version;
$name = 'Akaunting ' . $version;
$installed = version('short');
} else {
@@ -98,33 +98,6 @@ class Updates extends Controller
return view('install.updates.edit', compact('alias', 'name', 'installed', 'version'));
}
/**
* Final actions post update.
*
* @param $alias
* @param $old
* @param $new
* @return Response
*/
public function post($alias, $old, $new)
{
// Check if the file mirror was successful
if (($alias == 'core') && (version('short') != $new)) {
flash(trans('updates.error'))->error()->important();
return redirect('install/updates');
}
// Clear cache after update
Artisan::call('cache:clear');
event(new UpdateFinished($alias, $old, $new));
flash(trans('updates.success'))->success();
return redirect('install/updates');
}
/**
* Show the form for viewing the specified resource.
*

View File

@@ -286,8 +286,6 @@ class Item extends Controller
* Final actions post update.
*
* @param $alias
* @param $old
* @param $new
* @return Response
*/
public function post($alias)

View File

@@ -169,7 +169,7 @@ class ProfitLoss extends Controller
private function setAmount(&$totals, &$compares, $items, $type, $date_field)
{
foreach ($items as $item) {
if ($item['table'] == 'bill_payments' || $item['table'] == 'invoice_payments') {
if (($item['table'] == 'bill_payments') || ($item['table'] == 'invoice_payments')) {
$type_item = $item->$type;
$item->category_id = $type_item->category_id;
@@ -183,7 +183,7 @@ class ProfitLoss extends Controller
continue;
}
$amount = $item->getConvertedAmount();
$amount = $item->getConvertedAmount(false, false);
// Forecasting
if ((($type == 'invoice') || ($type == 'bill')) && ($date_field == 'due_at')) {

View File

@@ -178,8 +178,6 @@ class Categories extends Controller
$message = trans('messages.warning.disabled', ['name' => $category->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('categories.index');
}
return redirect()->route('categories.index');

View File

@@ -222,8 +222,6 @@ class Currencies extends Controller
$message = trans('messages.warning.disabled', ['name' => $currency->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('currencies.index');
}
return redirect()->route('currencies.index');

View File

@@ -167,8 +167,6 @@ class Taxes extends Controller
$message = trans('messages.warning.disabled', ['name' => $tax->name, 'text' => implode(', ', $relationships)]);
flash($message)->warning();
return redirect()->route('taxes.index');
}
return redirect()->route('taxes.index');

View File

@@ -73,6 +73,11 @@ class Kernel extends HttpKernel
'company.settings',
'company.currencies',
],
'signed' => [
'signed-url',
'signed-url.company',
]
];
/**
@@ -100,5 +105,6 @@ class Kernel extends HttpKernel
'company.currencies' => \App\Http\Middleware\LoadCurrencies::class,
'dateformat' => \App\Http\Middleware\DateFormat::class,
'money' => \App\Http\Middleware\Money::class,
'signed-url.company' => \App\Http\Middleware\SignedUrlCompany::class,
];
}

View File

@@ -36,5 +36,4 @@ class ApiCompany
return $next($request);
}
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Http\Middleware;
use Closure;
class SignedUrlCompany
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$company_id = $request->get('company_id');
if (empty($company_id)) {
return $next($request);
}
// Set company id
session(['company_id' => $company_id]);
// Set the company settings
setting()->setExtraColumns(['company_id' => $company_id]);
setting()->load(true);
return $next($request);
}
}

View File

@@ -2,10 +2,25 @@
namespace App\Http\Requests\Wizard;
use Illuminate\Foundation\Http\FormRequest;
use App\Http\Requests\Request;
use App\Traits\Modules as RemoteModules;
use Illuminate\Validation\Factory as ValidationFactory;
class Company extends FormRequest
class Company extends Request
{
use RemoteModules;
public function __construct(ValidationFactory $validation)
{
$validation->extend(
'check',
function ($attribute, $value, $parameters) {
return $this->checkToken($value);
},
trans('messages.error.invalid_token')
);
}
/**
* Determine if the user is authorized to make this request.
*
@@ -23,8 +38,14 @@ class Company extends FormRequest
*/
public function rules()
{
return [
$rules = [
'company_logo' => 'mimes:' . setting('general.file_types') . '|between:0,' . setting('general.file_size') * 1024,
];
if (!setting('general.api_token', false)) {
$rules['api_token'] = 'required|string|check';
}
return $rules;
}
}

View File

@@ -20,7 +20,7 @@ class Modules
public function compose(View $view)
{
if (setting('general.api_token')) {
$categories = Cache::remember('modules.categories', Date::now()->addHour(6), function () {
$categories = Cache::remember('modules.categories.' . language()->getShortCode(), Date::now()->addHour(6), function () {
return collect($this->getCategories())->pluck('name', 'slug')
->prepend(trans('general.all_type', ['type' => trans_choice('general.categories', 2)]), '');
});