. */ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use App\Account; class AccountContactController extends Controller { public function create(Account $account) { return view('admin.account.contact.create', [ 'account' => $account ]); } public function store(Request $request, Account $account) { $contact = Account::sip($request->get('sip'))->first(); if (!$contact) { $request->session()->flash('error', 'The contact SIP address doesn\'t exists'); return redirect()->route('admin.account.contact.create', $account); } $account->contacts()->detach($contact->id); $account->contacts()->attach($contact->id); $request->session()->flash('success', 'Contact successfully added'); Log::channel('events')->info('Web Admin: Account contact added', ['id' => $account->identifier, 'contact' => $contact->identifier]); return redirect()->route('admin.account.show', $account); } public function delete(Account $account, int $contactId) { $contact = $account->contacts()->where('id', $contactId)->firstOrFail(); return view('admin.account.contact.delete', [ 'account' => $account, 'contact' => $contact ]); } public function destroy(Request $request, Account $account) { $contact = $account->contacts()->where('id', $request->get('contact_id'))->firstOrFail(); $account->contacts()->detach($contact->id); $request->session()->flash('success', 'Type successfully removed'); Log::channel('events')->info('Web Admin: Account contact removed', ['id' => $account->identifier, 'contact' => $contact->identifier]); return redirect()->route('admin.account.show', $account); } }