improved tenant identification
This commit is contained in:
@ -11,7 +11,6 @@ use App\Models\Common\Company;
|
||||
use App\Models\Setting\Currency;
|
||||
use App\Traits\Uploads;
|
||||
use App\Traits\Users;
|
||||
use App\Utilities\Overrider;
|
||||
|
||||
class Companies extends Controller
|
||||
{
|
||||
@ -60,7 +59,7 @@ class Companies extends Controller
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$company_id = session('company_id');
|
||||
$current_company_id = company_id();
|
||||
|
||||
$response = $this->ajaxDispatch(new CreateCompany($request));
|
||||
|
||||
@ -78,9 +77,7 @@ class Companies extends Controller
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
session(['company_id' => $company_id]);
|
||||
|
||||
Overrider::load('settings');
|
||||
company($current_company_id)->makeCurrent();
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
@ -94,7 +91,7 @@ class Companies extends Controller
|
||||
*/
|
||||
public function edit(Company $company)
|
||||
{
|
||||
if (!$this->isUserCompany($company->id)) {
|
||||
if ($this->isNotUserCompany($company->id)) {
|
||||
return redirect()->route('companies.index');
|
||||
}
|
||||
|
||||
@ -113,9 +110,9 @@ class Companies extends Controller
|
||||
*/
|
||||
public function update(Company $company, Request $request)
|
||||
{
|
||||
$company_id = session('company_id');
|
||||
$current_company_id = company_id();
|
||||
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, $request, session('company_id')));
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, $request, company_id()));
|
||||
|
||||
if ($response['success']) {
|
||||
$response['redirect'] = route('companies.index');
|
||||
@ -131,9 +128,7 @@ class Companies extends Controller
|
||||
flash($message)->error()->important();
|
||||
}
|
||||
|
||||
session(['company_id' => $company_id]);
|
||||
|
||||
Overrider::load('settings');
|
||||
company($current_company_id)->makeCurrent();
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
@ -147,7 +142,7 @@ class Companies extends Controller
|
||||
*/
|
||||
public function enable(Company $company)
|
||||
{
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, request()->merge(['enabled' => 1]), session('company_id')));
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, request()->merge(['enabled' => 1])));
|
||||
|
||||
if ($response['success']) {
|
||||
$response['message'] = trans('messages.success.enabled', ['type' => trans_choice('general.companies', 1)]);
|
||||
@ -165,7 +160,7 @@ class Companies extends Controller
|
||||
*/
|
||||
public function disable(Company $company)
|
||||
{
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, request()->merge(['enabled' => 0]), session('company_id')));
|
||||
$response = $this->ajaxDispatch(new UpdateCompany($company, request()->merge(['enabled' => 0])));
|
||||
|
||||
if ($response['success']) {
|
||||
$response['message'] = trans('messages.success.disabled', ['type' => trans_choice('general.companies', 1)]);
|
||||
@ -183,7 +178,7 @@ class Companies extends Controller
|
||||
*/
|
||||
public function destroy(Company $company)
|
||||
{
|
||||
$response = $this->ajaxDispatch(new DeleteCompany($company, session('company_id')));
|
||||
$response = $this->ajaxDispatch(new DeleteCompany($company));
|
||||
|
||||
$response['redirect'] = route('companies.index');
|
||||
|
||||
@ -210,22 +205,21 @@ class Companies extends Controller
|
||||
public function switch(Company $company)
|
||||
{
|
||||
if ($this->isUserCompany($company->id)) {
|
||||
$old_company_id = session('company_id');
|
||||
$old_company_id = company_id();
|
||||
|
||||
$company->makeCurrent();
|
||||
|
||||
session(['company_id' => $company->id]);
|
||||
session(['dashboard_id' => user()->dashboards()->enabled()->pluck('id')->first()]);
|
||||
|
||||
Overrider::load('settings');
|
||||
|
||||
event(new \App\Events\Common\CompanySwitched($company, $old_company_id));
|
||||
|
||||
// Check wizard
|
||||
if (!setting('wizard.completed', false)) {
|
||||
return redirect()->route('wizard.edit');
|
||||
return redirect()->route('wizard.edit', ['company_id' => $company->id]);
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('dashboard');
|
||||
return redirect()->route('dashboard', ['company_id' => $company->id]);
|
||||
}
|
||||
|
||||
public function autocomplete()
|
||||
|
@ -7,7 +7,6 @@ use App\Http\Requests\Common\Dashboard as Request;
|
||||
use App\Jobs\Common\CreateDashboard;
|
||||
use App\Jobs\Common\DeleteDashboard;
|
||||
use App\Jobs\Common\UpdateDashboard;
|
||||
use App\Models\Common\Company;
|
||||
use App\Models\Common\Dashboard;
|
||||
use App\Models\Common\Widget;
|
||||
use App\Traits\DateTime;
|
||||
@ -60,7 +59,7 @@ class Dashboards extends Controller
|
||||
|
||||
if (empty($dashboard)) {
|
||||
$dashboard = $this->dispatch(new CreateDashboard([
|
||||
'company_id' => session('company_id'),
|
||||
'company_id' => company_id(),
|
||||
'name' => trans_choice('general.dashboards', 1),
|
||||
'default_widgets' => 'core',
|
||||
]));
|
||||
@ -89,7 +88,7 @@ class Dashboards extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$users = Company::find(session('company_id'))->users()->get()->sortBy('name');
|
||||
$users = company()->users()->get()->sortBy('name');
|
||||
|
||||
return view('common.dashboards.create', compact('users'));
|
||||
}
|
||||
@ -130,11 +129,11 @@ class Dashboards extends Controller
|
||||
*/
|
||||
public function edit(Dashboard $dashboard)
|
||||
{
|
||||
if (!$this->isUserDashboard($dashboard->id)) {
|
||||
if ($this->isNotUserDashboard($dashboard->id)) {
|
||||
return redirect()->route('dashboards.index');
|
||||
}
|
||||
|
||||
$users = Company::find(session('company_id'))->users()->get()->sortBy('name');
|
||||
$users = company()->users()->get()->sortBy('name');
|
||||
|
||||
return view('common.dashboards.edit', compact('dashboard', 'users'));
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ class Import extends Controller
|
||||
*/
|
||||
public function create($group, $type, $route = null)
|
||||
{
|
||||
$path = $group . '/' . $type;
|
||||
$path = company_id() . '/' . $group . '/' . $type;
|
||||
|
||||
if (module($group) instanceof \Akaunting\Module\Module) {
|
||||
$namespace = $group . '::';
|
||||
|
@ -111,20 +111,16 @@ class Items extends Controller
|
||||
*/
|
||||
public function import(ImportRequest $request)
|
||||
{
|
||||
$response = $this->importExcel(new Import, $request);
|
||||
$response = $this->importExcel(new Import, $request, trans_choice('general.items', 2));
|
||||
|
||||
if ($response['success']) {
|
||||
$response['redirect'] = route('items.index');
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.items', 2)]);
|
||||
|
||||
flash($message)->success();
|
||||
flash($response['message'])->success();
|
||||
} else {
|
||||
$response['redirect'] = route('import.create', ['common', 'items']);
|
||||
|
||||
$message = $response['message'];
|
||||
|
||||
flash($message)->error()->important();
|
||||
flash($response['message'])->error()->important();
|
||||
}
|
||||
|
||||
return response()->json($response);
|
||||
|
@ -182,7 +182,7 @@ class Uploads extends Controller
|
||||
$folders = explode('/', $media->directory);
|
||||
|
||||
// Check if company can access media
|
||||
if ($folders[0] != session('company_id')) {
|
||||
if ($folders[0] != company_id()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user