65 lines
1.8 KiB
PHP
65 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Dashboard;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\ReceiveMessageContactRequest;
|
|
use App\Models\Contact;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ContactController extends Controller
|
|
{
|
|
public function index(Request $request){
|
|
return view('dashboard.contacts.index', [
|
|
'title' => 'Pesan Kontak',
|
|
'status' => $request->input('status', null)
|
|
]);
|
|
}
|
|
|
|
public function show($id){
|
|
$contact = Contact::findOrFail(decrypt_id($id));
|
|
|
|
return view('dashboard.contacts.show', [
|
|
'title' => 'Detail Pesan',
|
|
'contact' => $contact
|
|
]);
|
|
}
|
|
|
|
public function reply($id){
|
|
$contact = Contact::findOrFail(decrypt_id($id));
|
|
|
|
return view('dashboard.contacts.reply', [
|
|
'title' => 'Balas Pesan',
|
|
'contact' => $contact
|
|
]);
|
|
}
|
|
|
|
public function replyAction(Request $request, $id){
|
|
$validatedData = $request->validate([
|
|
'reply_message' => ['required'],
|
|
], [
|
|
'reply_message.required' => 'Pesan balasan wajib diisi.',
|
|
]);
|
|
|
|
$contact = Contact::findOrFail(decrypt_id($id));
|
|
|
|
$contact->update([
|
|
'reply_message' => $validatedData['reply_message'],
|
|
'status' => '1'
|
|
]);
|
|
|
|
return redirect()->route('dashboard.contact.messages.show', ['id' => encrypt_id($contact->id)])->with('success-status', 'Berhasil membalas pesan.');
|
|
}
|
|
|
|
public function destroy($id){
|
|
try {
|
|
$contact = Contact::findOrFail(decrypt_id($id));
|
|
$contact->delete();
|
|
|
|
return response()->json(['message' => 'Berhasil menghapus kontak pesan.']);
|
|
} catch (\Exception $e) {
|
|
return response()->json(['message' => 'Gagal menghapus kontak pesan.'], 500);
|
|
}
|
|
}
|
|
}
|