File: /home/armgroup/libs/app/Http/Controllers/Admin/ContactController.php
<?php
namespace App\Http\Controllers\Admin;
use App\DataTables\ContactsDataTable;
use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Contact;
use Illuminate\Support\Facades\DB;
class ContactController extends Controller
{
public function __construct()
{
$this->middleware('permission:manage contacts');
}
public function index(ContactsDataTable $dataTable)
{
$categories = Category::where('type', Contact::class)->select('id', 'name')->get();
return $dataTable->render('admin.contacts.index', compact('categories'));
}
public function show(Contact $contact)
{
if (! $contact->checked) {
$contact->update(['checked' => true]);
}
$contact->load('categories');
return view('admin.contacts.show', compact('contact'));
}
public function destroy(Contact $contact)
{
DB::transaction(function () use ($contact) {
$contact->categories()->detach();
$contact->delete();
saveActivity("پیام {$contact->name} حذف شد", $contact);
});
$this->doneMessage("پیام {$contact->name} با موفقیت حذف شد.");
return back();
}
}