lk.zachem.info/app/Modules/Admin/Http/Controllers/AdminCompaniesController.php

69 lines
2.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Modules\Admin\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Modules\Main\Models\Company\Company;
use Modules\Main\Models\Company\CompanyStatus;
use Modules\Main\Models\Agent\Agent;
use Modules\Main\Models\Company\CompanyAdmin;
class AdminCompaniesController extends Controller
{
public function index(Request $request)
{
$companies = Company::orderBy('name');
//if ($request->filter) {
if ($request->filter)
{
if ($request->filter == 'trashed') {
$companies->onlyTrashed();
} else {
if ($request->filter != 'all') {
$companies->where('status', $request->filter);
}
}
}
$companies = $companies->get();
return view('admin::companies.index', [
'companies' => $companies,
'statuses' => CompanyStatus::cases(),
'filter' => $request->filter
]);
}
public function edit(Company $company)
{
return view('admin::companies.edit', [
'company' => $company,
'companyAgentsRelation' => Agent::where('company_id', $company->id)->get(),
'companyAdminsRelation' => CompanyAdmin::where('company_id', $company->id)->get(),
]);
}
public function update(Request $request, Company $company)
{
$company->update($request->only('name', 'email', 'phone'));
if ($request->token) {
$company->bitrixy->token = $request->token;
$company->bitrixy->save();
}
return to_route('admin.companies.edit', ['company' => $company]);
}
public function delete(Company $company) {
$company->delete();
return back()->withSuccess('Агентство было перемещено в корзину. Все пользователи, прикрепленные к агентству не смогут войти на портал.');
}
public function restore(Company $company) {
$company->restore();
return to_route('admin.companies.edit', ['company' => $company])->withSuccess('Агентство "' . $company->name . '" было восстановлено из корзины');
}
public function deleteAdmin(CompanyAdmin $companyAdmin) {
$companyAdmin->delete();
return back();
}
}