feat: accept and reject media edit
chore: show media UI
This commit is contained in:
parent
7ac3f28dc7
commit
4ffd6df2b9
@ -92,8 +92,8 @@ public function map($company): array
|
||||
$company->name,
|
||||
$company->email,
|
||||
$company->director_name,
|
||||
get_user_status($company->user->status),
|
||||
$company->address,
|
||||
get_user_status($company->user->status),
|
||||
get_edit_status($company->edit_status),
|
||||
Carbon::parse($company->created_at)->locale('id')->translatedFormat('l, d F Y'),
|
||||
Carbon::parse($company->validated_at)->locale('id')->translatedFormat('l, d F Y')
|
||||
@ -104,7 +104,7 @@ public function headings(): array
|
||||
{
|
||||
return [
|
||||
['Data Perusahaan', '', '', '', '', '', '', '', '', ''],
|
||||
['NO', 'Nama Perusahaan', 'Email', 'Direktur', 'Status Akun', 'Alamat', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi']
|
||||
['NO', 'Nama Perusahaan', 'Email', 'Direktur', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi']
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
165
app/Exports/MediaExport.php
Normal file
165
app/Exports/MediaExport.php
Normal file
@ -0,0 +1,165 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports;
|
||||
|
||||
use App\Models\Media;
|
||||
use Carbon\Carbon;
|
||||
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||
use Maatwebsite\Excel\Concerns\WithMapping;
|
||||
use Maatwebsite\Excel\Concerns\WithStyles;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||
|
||||
class MediaExport implements FromCollection, WithHeadings, WithStyles, WithMapping
|
||||
{
|
||||
/**
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
|
||||
protected $no = 1;
|
||||
protected $type;
|
||||
protected $classification;
|
||||
protected $status;
|
||||
protected $edit_status;
|
||||
protected $address;
|
||||
protected $register_year;
|
||||
protected $register_month;
|
||||
protected $register_date;
|
||||
|
||||
public function __construct($type, $classification, $status, $edit_status, $address, $register_year, $register_month, $register_date)
|
||||
{
|
||||
$this->type = $type;
|
||||
$this->classification = $classification;
|
||||
$this->status = $status;
|
||||
$this->edit_status = $edit_status;
|
||||
$this->address = $address;
|
||||
$this->register_year = $register_year;
|
||||
$this->register_month = $register_month;
|
||||
$this->register_date = $register_date;
|
||||
}
|
||||
|
||||
public function collection()
|
||||
{
|
||||
$query = Media::with(['company.user']);
|
||||
|
||||
if($this->type !== 'all'){
|
||||
if($this->type === 'online'){
|
||||
$query->where('type', 'online');
|
||||
}elseif($this->type === 'print'){
|
||||
$query->where('type', 'cetak');
|
||||
}else if($this->type === 'radio'){
|
||||
$query->where('type', 'radio');
|
||||
}else if($this->type === 'television'){
|
||||
$query->where('type', 'televisi');
|
||||
}
|
||||
}
|
||||
|
||||
if($this->classification !== 'all'){
|
||||
if($this->classification === 'local'){
|
||||
$query->where('classification', 'lokal');
|
||||
}elseif($this->classification === 'regional'){
|
||||
$query->where('classification', 'regional');
|
||||
}else if($this->classification === 'national'){
|
||||
$query->where('classification', 'nasional');
|
||||
}
|
||||
}
|
||||
|
||||
if($this->status !== 'all'){
|
||||
if($this->status === 'waiting'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '0');
|
||||
});
|
||||
}else if($this->status === 'accepted'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '1');
|
||||
});
|
||||
}else if($this->status === 'rejected'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '2');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if($this->edit_status !== 'all'){
|
||||
if($this->edit_status === 'no-edit'){
|
||||
$query->where('edit_status', '0');
|
||||
}elseif($this->edit_status === 'waiting'){
|
||||
$query->where('edit_status', '1');
|
||||
}else if($this->edit_status === 'accepted'){
|
||||
$query->where('edit_status', '2');
|
||||
}else if($this->edit_status === 'rejected'){
|
||||
$query->where('edit_status', '3');
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->address) {
|
||||
$query->where('address', 'LIKE', '%'.$this->address.'%');
|
||||
}
|
||||
|
||||
if ($this->register_year) {
|
||||
$query->whereYear('created_at', $this->register_year);
|
||||
}
|
||||
|
||||
if ($this->register_month) {
|
||||
$monthYear = Carbon::parse($this->register_month);
|
||||
$query->whereYear('created_at', $monthYear->year)
|
||||
->whereMonth('created_at', $monthYear->month);
|
||||
}
|
||||
|
||||
if ($this->register_date) {
|
||||
$query->whereDate('created_at', $this->register_date);
|
||||
}
|
||||
|
||||
return $query->get();
|
||||
}
|
||||
|
||||
public function map($media): array
|
||||
{
|
||||
return [
|
||||
$this->no++,
|
||||
$media->name,
|
||||
$media->company->name,
|
||||
$media->company->email,
|
||||
ucfirst($media->type),
|
||||
ucfirst($media->classification),
|
||||
$media->address,
|
||||
get_user_status($media->company->user->status),
|
||||
get_edit_status($media->edit_status),
|
||||
Carbon::parse($media->created_at)->locale('id')->translatedFormat('l, d F Y'),
|
||||
Carbon::parse($media->company->validated_at)->locale('id')->translatedFormat('l, d F Y')
|
||||
];
|
||||
}
|
||||
|
||||
public function headings(): array
|
||||
{
|
||||
return [
|
||||
['Data Media', '', '', '', '', '', '', '', '', '', '', ''],
|
||||
['NO', 'Nama Media', 'Nama Perusahaan', 'Email', 'Tipe', 'Klasifikasi', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi']
|
||||
];
|
||||
}
|
||||
|
||||
public function styles(Worksheet $sheet)
|
||||
{
|
||||
$sheet->mergeCells('A1:K1'); // A1 sampai D1 digabung
|
||||
|
||||
// Set alignment untuk pusat horizontal dan vertikal
|
||||
$sheet->getStyle('A1:K1')->getAlignment()->setHorizontal('center');
|
||||
$sheet->getStyle('A1:K1')->getAlignment()->setVertical('center');
|
||||
|
||||
$sheet->getColumnDimension('A')->setWidth(7); // Set column A width
|
||||
$sheet->getColumnDimension('B')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('C')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('D')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('E')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('F')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('G')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('H')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('I')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('J')->setAutoSize(true);
|
||||
$sheet->getColumnDimension('K')->setAutoSize(true);
|
||||
|
||||
// Menambahkan gaya lain jika diperlukan
|
||||
$sheet->getStyle('A1:K1')->getFont()->setBold(true);
|
||||
$sheet->getStyle('A1:K1')->getFont()->setSize(14);
|
||||
}
|
||||
}
|
||||
@ -297,7 +297,7 @@ function display_file($dir, $filename)
|
||||
|
||||
if (! function_exists('change_status')) {
|
||||
function change_status($status, $category) {
|
||||
if($category === 'company_edit'){
|
||||
if(in_array($category, ['company_edit', 'media_edit'])){
|
||||
switch($status){
|
||||
case '0':
|
||||
return '1';
|
||||
|
||||
@ -762,7 +762,7 @@ public function company(Request $request){
|
||||
case 0:
|
||||
return '<span class="badge bg-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Ada</span>';
|
||||
case 1:
|
||||
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;">Menunggu</span>';
|
||||
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;"><a href="javasciprt: void(0);" onclick="showEditDescription('.htmlspecialchars(json_encode(strip_tags($data->edit_description))).')" class="text-light text-decoration-underline">Menunggu</a></span>';
|
||||
case 2:
|
||||
return '<span class="badge bg-success" style="display:inline-block;font-size:0.8rem;">Diterima</span>';
|
||||
case 3:
|
||||
@ -823,9 +823,90 @@ public function company(Request $request){
|
||||
public function media(Request $request){
|
||||
if ($request->ajax()) {
|
||||
|
||||
$type = $request->input('type', null);
|
||||
$classification = $request->input('classification', null);
|
||||
$status = $request->input('status', null);
|
||||
$edit_status = $request->input('edit_status', null);
|
||||
$address = $request->input('address', null);
|
||||
$register_year = $request->input('register_year', null);
|
||||
$register_month = $request->input('register_month', null);
|
||||
$register_date = $request->input('register_date', null);
|
||||
|
||||
$query = Media::with(['company.user']);
|
||||
|
||||
if($type !== 'all'){
|
||||
if($type === 'online'){
|
||||
$query->where('type', 'online');
|
||||
}elseif($type === 'print'){
|
||||
$query->where('type', 'cetak');
|
||||
}else if($type === 'radio'){
|
||||
$query->where('type', 'radio');
|
||||
}else if($type === 'television'){
|
||||
$query->where('type', 'televisi');
|
||||
}
|
||||
}
|
||||
|
||||
if($classification !== 'all'){
|
||||
if($classification === 'local'){
|
||||
$query->where('classification', 'lokal');
|
||||
}elseif($classification === 'regional'){
|
||||
$query->where('classification', 'regional');
|
||||
}else if($classification === 'national'){
|
||||
$query->where('classification', 'nasional');
|
||||
}
|
||||
}
|
||||
|
||||
if($status !== 'all'){
|
||||
if($status === 'waiting'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '0');
|
||||
});
|
||||
}else if($status === 'accepted'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '1');
|
||||
});
|
||||
}else if($status === 'rejected'){
|
||||
$query->whereHas('user', function ($q){
|
||||
$q->where('status', '2');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if($edit_status !== 'all'){
|
||||
if($edit_status === 'no-edit'){
|
||||
$query->where('edit_status', '0');
|
||||
}elseif($edit_status === 'waiting'){
|
||||
$query->where('edit_status', '1');
|
||||
}else if($edit_status === 'accepted'){
|
||||
$query->where('edit_status', '2');
|
||||
}else if($edit_status === 'rejected'){
|
||||
$query->where('edit_status', '3');
|
||||
}
|
||||
}
|
||||
|
||||
if ($address) {
|
||||
$query->where('address', 'LIKE', '%'.$address.'%');
|
||||
}
|
||||
|
||||
if ($register_year) {
|
||||
$query->whereYear('created_at', $register_year);
|
||||
}
|
||||
|
||||
if ($register_month) {
|
||||
$monthYear = Carbon::parse($register_month);
|
||||
$query->whereYear('created_at', $monthYear->year)
|
||||
->whereMonth('created_at', $monthYear->month);
|
||||
}
|
||||
|
||||
if ($register_date) {
|
||||
$query->whereDate('created_at', $register_date);
|
||||
}
|
||||
|
||||
$data = $query->get();
|
||||
|
||||
|
||||
$data = Media::with(['company.user'])->get();
|
||||
|
||||
// $data = ->get();
|
||||
|
||||
return DataTables::of($data)
|
||||
->addIndexColumn()
|
||||
@ -858,40 +939,46 @@ public function media(Request $request){
|
||||
case 1:
|
||||
return '<span class="badge bg-success" style="display:inline-block;font-size:0.8rem;">Diterima</span>';
|
||||
case 2:
|
||||
return '<span class="badge bg-danger" style="display:inline-block;font-size:0.8rem;">Ditolak</span>';
|
||||
case 3:
|
||||
return '<span class="badge bg-danger" style="display:inline-block;font-size:0.8rem;"><a href="javasciprt: void(0);" onclick="showDetail('.htmlspecialchars(json_encode(strip_tags($data->company->rejection_reason))).')" class="text-light text-decoration-underline">Ditolak</a></span>';
|
||||
default:
|
||||
return '<span class="badge bg-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Diketahui</span>';
|
||||
}
|
||||
})
|
||||
->addColumn('status_edit', function ($data) {
|
||||
switch($data->edit_status){
|
||||
case 0:
|
||||
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;">Menunggu</span>';
|
||||
return '<span class="badge bg-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Ada</span>';
|
||||
case 1:
|
||||
return '<span class="badge bg-success" style="display:inline-block;font-size:0.8rem;">Diterima</span>';
|
||||
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;"><a href="javasciprt: void(0);" onclick="showEditDescription('.htmlspecialchars(json_encode(strip_tags($data->edit_description))).')" class="text-light text-decoration-underline">Menunggu</a></span>';
|
||||
case 2:
|
||||
return '<span class="badge bg-danger" style="display:inline-block;font-size:0.8rem;">Ditolak</span>';
|
||||
return '<span class="badge bg-success" style="display:inline-block;font-size:0.8rem;">Diterima</span>';
|
||||
case 3:
|
||||
return '<span class="badge bg-danger" style="display:inline-block;font-size:0.8rem;"><a href="javasciprt: void(0);" onclick="showDetail('.htmlspecialchars(json_encode(strip_tags($data->edit_rejection_reason))).')" class="text-light text-decoration-underline">Ditolak</a></span>';
|
||||
default:
|
||||
return '<span class="badge bg-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Diketahui</span>';
|
||||
}
|
||||
})
|
||||
->addColumn('action', function ($data) {
|
||||
$showUrl = route('dashboard.media.show', ['id' => encrypt_id($data->id)]);
|
||||
|
||||
$editUrl = route('dashboard.media.edit', ['id' => encrypt_id($data->id)]);
|
||||
$showUrl = route('dashboard.media.show', ['id' => encrypt_id($data->user->id), 'type' => 'media']);
|
||||
|
||||
$deleteUrl = route('dashboard.media.destroy', ['id' => encrypt_id($data->id)]);
|
||||
|
||||
$processEditRequestCompanyUrl = route('dashboard.media.process', ['id' => encrypt_id($data->user->id), 'type' => 'media', 'category' => 'edit-request']);
|
||||
|
||||
$dropdown = '<div class="dropdown" style="display:flex; justify-content:center;">
|
||||
<a class="dropdown-toggle btn btn-icon btn-light" data-bs-toggle="dropdown"><em class="icon ni ni-more-v"></em></a>
|
||||
<div class="dropdown-menu dropdown-menu-datatable-custom dropdown-menu-end">
|
||||
<ul class="link-list-opt">
|
||||
<li><a href="'.$showUrl.'"><em class="icon ni ni-eye"></em><span>Detail</span></a></li>';
|
||||
|
||||
if (is_role([1])) {
|
||||
$dropdown .= '<li><a href="'.$editUrl.'"><em class="icon ni ni-edit"></em><span>Ubah</span></a></li>';
|
||||
if (is_role([1]) && $data->edit_status === '1' && $data->user->status === '1') {
|
||||
$dropdown .= '<li><a href="'.$processEditRequestCompanyUrl.'"><em class="icon ni ni-loader"></em><span>Proses peremohonan Edit</span></a></li>';
|
||||
}
|
||||
|
||||
// if (is_role([1])) {
|
||||
// $dropdown .= '<li><a href="'.$editUrl.'"><em class="icon ni ni-edit"></em><span>Ubah</span></a></li>';
|
||||
// }
|
||||
|
||||
if (is_role([1])) {
|
||||
$dropdown .= '<li><a href="javascript:void(0);" onclick="deleteItem(\''.$deleteUrl.'\', \'Apakah Anda yakin ingin menghapus tema '.$data->name.'? Item ini akan dihapus secara permanen!\')"><em class="icon ni ni-trash"></em><span>Hapus</span></a></li>';
|
||||
|
||||
|
||||
@ -2,34 +2,272 @@
|
||||
|
||||
namespace App\Http\Controllers\Dashboard;
|
||||
|
||||
use App\Exports\MediaExport;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\MediaRequest;
|
||||
use App\Models\LoginHistory;
|
||||
use App\Models\Media;
|
||||
use App\Models\Role;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
|
||||
class MediaController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('dashboard.media.index',[
|
||||
'title' => 'Media'
|
||||
public function index(Request $request){
|
||||
if(is_role(['1'])){
|
||||
return view('dashboard.media.admin.index',[
|
||||
'title' => 'Data Media',
|
||||
'type' => $request->input('type', null),
|
||||
'classification' => $request->input('classification', null),
|
||||
'status' => $request->input('status', null),
|
||||
'edit_status' => $request->input('edit_status', null),
|
||||
'address' => $request->input('address', null),
|
||||
'register_year' => $request->input('register_year', null),
|
||||
'register_month' => $request->input('register_month', null),
|
||||
'register_date' => $request->input('register_date', null),
|
||||
]);
|
||||
}else if(is_role(['3'])){
|
||||
$user = User::with(['role', 'company.media.journalists'])->findOrFail(Auth::id());
|
||||
|
||||
$data = [
|
||||
'title' => 'Data Media',
|
||||
'user' => $user,
|
||||
];
|
||||
|
||||
return view('dashboard.media.index', $data);
|
||||
}
|
||||
}
|
||||
|
||||
public function editRequest(){
|
||||
if(!in_array(Auth::user()->company->media->edit_status, ['0', '2', '3'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
return view('dashboard.media.edit-request', [
|
||||
'title' => 'Permohonan Ubah Data Media'
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(){}
|
||||
public function editRequestAction(Request $request){
|
||||
if(!in_array(Auth::user()->company->media->edit_status, ['0', '2', '3'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
public function store(){}
|
||||
|
||||
public function edit(){}
|
||||
|
||||
public function update(){}
|
||||
|
||||
public function show($id){
|
||||
$media = Media::findOrFail(decrypt_id($id));
|
||||
|
||||
return view('dashboard.media.show', [
|
||||
'title' => 'Detail media',
|
||||
'media' => $media
|
||||
$validatedData = $request->validate([
|
||||
'edit_description' => ['required'],
|
||||
], [
|
||||
'edit_description.required' => 'Deskripsi wajib diisi.',
|
||||
]);
|
||||
|
||||
if(!Auth::check()){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$user = User::with(['company.media'])->findOrFail(Auth::id());
|
||||
$updatedMedia = $user->company->media->update([
|
||||
'edit_status' => '1',
|
||||
'edit_description' => $validatedData['edit_description']
|
||||
]);
|
||||
|
||||
if($updatedMedia){
|
||||
return redirect()->route('dashboard.media.index')->with('success-status', 'Berhasil melakukan permohonan edit data media.');
|
||||
}else{
|
||||
return redirect()->route('dashboard.media.index')->with('failed-status', 'Gagal melakukan permohonan edit data media.');
|
||||
}
|
||||
}
|
||||
|
||||
public function edit(){
|
||||
if(!in_array(Auth::user()->company->media->edit_status, ['2'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$user = User::with(['role', 'company.media.journalists'])->findOrFail(Auth::id());
|
||||
|
||||
return view('dashboard.media.edit', [
|
||||
'title' => 'Ubah Data Media',
|
||||
'user' => $user
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(MediaRequest $request){
|
||||
if(!in_array(Auth::user()->company->media->edit_status, ['2'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$validatedData = $request->validated();
|
||||
|
||||
$media = User::with(['company.media'])->findOrFail(Auth::id())->company->media;
|
||||
|
||||
$fileFieldMap = [
|
||||
'media_journalism_organization_doc' => 'journalism_organization_doc',
|
||||
'media_press_council_certificate_doc' => 'press_council_certificate_doc',
|
||||
];
|
||||
|
||||
$mediaFileNames = [];
|
||||
|
||||
foreach ($fileFieldMap as $requestKey => $dbField) {
|
||||
if ($request->hasFile($requestKey) && filled($validatedData[$requestKey])) {
|
||||
$mediaFileNames[$requestKey] = store_file($validatedData[$requestKey], '/uploads/media', 'public')['randomFileName'];
|
||||
} else {
|
||||
$mediaFileNames[$requestKey] = $media->{$dbField};
|
||||
}
|
||||
}
|
||||
|
||||
$updatedMedia = $media->update([
|
||||
'name' => $validatedData['media_name'],
|
||||
'address' => $validatedData['media_address'],
|
||||
'link' => $validatedData['media_link'],
|
||||
'type' => $validatedData['media_type'],
|
||||
'classification' => $validatedData['media_classification'],
|
||||
'journalism_organization' => $validatedData['media_journalism_organization'],
|
||||
'journalism_organization_doc' => $mediaFileNames['media_journalism_organization_doc'],
|
||||
'press_council_certificate' => $validatedData['media_press_council_certificate'],
|
||||
'press_council_certificate_doc' => $mediaFileNames['media_press_council_certificate_doc'],
|
||||
'edit_description' => null,
|
||||
'edit_status' => '0',
|
||||
]);
|
||||
|
||||
if($updatedMedia){
|
||||
return redirect()->route('dashboard.media.index')->with('success-status', 'Berhasil mengubah data media.');
|
||||
}else{
|
||||
return redirect()->route('dashboard.media.index')->with('failed-status', 'Gagal mengubah data media.');
|
||||
}
|
||||
}
|
||||
|
||||
public function show($id, $type){
|
||||
$user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id));
|
||||
|
||||
$data = [
|
||||
'title' => 'Data Media',
|
||||
'user' => $user,
|
||||
'roles' => Role::all(),
|
||||
'page' => 'media',
|
||||
'purpose' => 'show',
|
||||
'idnPage' => 'media',
|
||||
'route' => 'media',
|
||||
'type' => $type
|
||||
];
|
||||
|
||||
if($type === 'account'){
|
||||
return view('dashboard.users.profiles.account', $data);
|
||||
}elseif($type === 'login-activities'){
|
||||
$data['loginActivities'] = LoginHistory::where('user_id', $user->id)->orderByDesc('id')->simplePaginate(20);
|
||||
return view('dashboard.users.profiles.login-activity', $data);
|
||||
}elseif($type === 'company'){
|
||||
return view('dashboard.users.profiles.company', $data);
|
||||
}elseif($type === 'media'){
|
||||
return view('dashboard.users.profiles.media', $data);
|
||||
}elseif($type === 'journalists'){
|
||||
return view('dashboard.users.profiles.journalists', $data);
|
||||
}
|
||||
}
|
||||
|
||||
public function destroy(){}
|
||||
|
||||
public function process(Request $request, $id, $type){
|
||||
$user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id));
|
||||
|
||||
if($request->query('category') && !in_array($request->query('category'), ['account-status', 'edit-request'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$data = [
|
||||
'title' => 'Data Media',
|
||||
'user' => $user,
|
||||
'roles' => Role::all(),
|
||||
'page' => 'media',
|
||||
'purpose' => 'process',
|
||||
'idnPage' => 'media',
|
||||
'route' => 'media',
|
||||
'type' => $type,
|
||||
'category' => $request->query('category', null)
|
||||
];
|
||||
|
||||
if($type === 'account'){
|
||||
return view('dashboard.users.profiles.account', $data);
|
||||
}elseif($type === 'login-activities'){
|
||||
$data['loginActivities'] = LoginHistory::where('user_id', $user->id)->orderByDesc('id')->simplePaginate(20);
|
||||
return view('dashboard.users.profiles.login-activity', $data);
|
||||
}elseif($type === 'company'){
|
||||
return view('dashboard.users.profiles.company', $data);
|
||||
}elseif($type === 'media'){
|
||||
return view('dashboard.users.profiles.media', $data);
|
||||
}elseif($type === 'journalists'){
|
||||
return view('dashboard.users.profiles.journalists', $data);
|
||||
}
|
||||
}
|
||||
|
||||
public function processAcceptAction(Request $request, $id, $type, $category){
|
||||
$user = User::with(['company'])->findOrFail(decrypt_id($id));
|
||||
|
||||
if(!in_array($category, ['account-status', 'edit-request'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
if(is_role(['1']) && $category === 'edit-request'){
|
||||
$user->company->media->update([
|
||||
'edit_status' => '2'
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Berhasil menyetujui permohonan edit media.'
|
||||
]);
|
||||
}
|
||||
|
||||
public function processRejectAction(Request $request, $id, $type, $category){
|
||||
$user = User::with(['company'])->findOrFail(decrypt_id($id));
|
||||
|
||||
if(!in_array($category, ['account-status', 'edit-request'])){
|
||||
abort(404);
|
||||
}
|
||||
|
||||
if(is_role(['1'])){
|
||||
|
||||
$validatedData = $request->validate([
|
||||
'rejection_reason' => ['required'],
|
||||
], [
|
||||
'rejection_reason.required' => 'Alasan penolakan wajib diisi.',
|
||||
]);
|
||||
|
||||
if($category === 'edit-request' && $user->company->media->edit_status === '1'){
|
||||
$user->company->media->update([
|
||||
'edit_status' => '3',
|
||||
'edit_rejection_reason' => $validatedData['rejection_reason']
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('dashboard.media.index')->with('success-status', 'Berhasil menolak permohonan edit media.');
|
||||
}
|
||||
|
||||
public function export(Request $request)
|
||||
{
|
||||
$type = $request->input('type', null);
|
||||
$classification = $request->input('classification', null);
|
||||
$status = $request->input('status', null);
|
||||
$edit_status = $request->input('edit_status', null);
|
||||
$address = $request->input('address', null);
|
||||
$register_year = $request->input('register_year', null);
|
||||
$register_month = $request->input('register_month', null);
|
||||
$register_date = $request->input('register_date', null);
|
||||
|
||||
$formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y');
|
||||
|
||||
return Excel::download(new MediaExport($type, $classification, $status, $edit_status, $address, $register_year, $register_month, $register_date), 'media-'.$formattedNow.'.xlsx');
|
||||
}
|
||||
|
||||
public function filter(Request $request){
|
||||
|
||||
$filteredRequest = $request->except('_token');
|
||||
|
||||
$filterField = array_filter($filteredRequest, function ($value) {
|
||||
return filled($value);
|
||||
});
|
||||
|
||||
return redirect()->route('dashboard.media.index', $filterField);
|
||||
}
|
||||
}
|
||||
|
||||
69
app/Http/Requests/MediaRequest.php
Normal file
69
app/Http/Requests/MediaRequest.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class MediaRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return Auth::check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'media_name' => ['required', 'max:100'],
|
||||
'media_address' => ['required'],
|
||||
'media_link' => ['required'],
|
||||
'media_type' => ['required', 'in:online,cetak,radio,televisi'],
|
||||
'media_classification' => ['required', 'in:lokal,regional,nasional'],
|
||||
'media_journalism_organization' => ['nullable', 'max:100'],
|
||||
'media_journalism_organization_doc' => ['nullable', 'file', 'mimes:pdf', 'max:2048'],
|
||||
'media_press_council_certificate' => ['nullable', 'max:100'],
|
||||
'media_press_council_certificate_doc' => ['nullable', 'file', 'mimes:pdf', 'max:2048'],
|
||||
];
|
||||
}
|
||||
|
||||
public function messages(): array
|
||||
{
|
||||
return [
|
||||
'media_name.required' => 'Nama media wajib diisi.',
|
||||
'media_name.max' => 'Nama media maksimal 100 karakter.',
|
||||
'media_address.required' => 'Alamat media wajib diisi.',
|
||||
'media_link.required' => 'Link media wajib diisi.',
|
||||
'media_type.required' => 'Tipe media wajib dipilih.',
|
||||
'media_type.in' => 'Tipe media tidak valid.',
|
||||
'media_classification.required' => 'Klasifikasi media wajib dipilih.',
|
||||
'media_classification.in' => 'Klasifikasi media tidak valid.',
|
||||
'media_journalism_organization.max' => 'Organisasi jurnalistik media maksimal 100 karakter.',
|
||||
'media_journalism_organization_doc.file' => 'Dokumen organisasi jurnalistik media harus berupa file.',
|
||||
'media_journalism_organization_doc.mimes' => 'Dokumen organisasi jurnalistik media harus dalam format PDF.',
|
||||
'media_journalism_organization_doc.max' => 'Ukuran dokumen organisasi jurnalistik media maksimal 2 MB.',
|
||||
'media_press_council_certificate.max' => 'Sertifikat Dewan Pers media maksimal 100 karakter.',
|
||||
'media_press_council_certificate_doc.file' => 'Dokumen sertifikat Dewan Pers media harus berupa file.',
|
||||
'media_press_council_certificate_doc.mimes' => 'Dokumen sertifikat Dewan Pers media harus dalam format PDF.',
|
||||
'media_press_council_certificate_doc.max' => 'Ukuran dokumen sertifikat Dewan Pers media maksimal 2 MB.',
|
||||
];
|
||||
}
|
||||
|
||||
protected function prepareForValidation()
|
||||
{
|
||||
$this->merge([
|
||||
'media_journalism_organization' => filled($this->media_journalism_organization) ? $this->media_journalism_organization : null,
|
||||
'media_journalism_organization_doc' => filled($this->media_journalism_organization_doc) ? $this->media_journalism_organization_doc : null,
|
||||
'media_press_council_certificate' => filled($this->media_press_council_certificate) ? $this->media_press_council_certificate : null,
|
||||
'media_press_council_certificate_doc' => filled($this->media_press_council_certificate_doc) ? $this->media_press_council_certificate_doc : null,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -23,9 +23,23 @@ class Media extends Model
|
||||
'press_council_certificate_doc',
|
||||
'edit_description',
|
||||
'edit_status',
|
||||
'edit_rejection_reason',
|
||||
'company_id'
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOneThrough(
|
||||
\App\Models\User::class, // model tujuan
|
||||
\App\Models\Company::class, // model perantara
|
||||
'id', // foreign key di Company (nyambung ke Media)
|
||||
'id', // foreign key di User (nyambung ke Company)
|
||||
'company_id', // foreign key di Media
|
||||
'user_id' // foreign key di Company
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function company(){
|
||||
return $this->belongsTo(Company::class, 'company_id', 'id')->withTrashed();
|
||||
}
|
||||
|
||||
@ -67,6 +67,18 @@ public function company(){
|
||||
return $this->hasOne(Company::class, 'user_id', 'id')->withTrashed();
|
||||
}
|
||||
|
||||
public function media()
|
||||
{
|
||||
return $this->hasOneThrough(
|
||||
Media::class, // Model tujuan
|
||||
Company::class, // Model perantara
|
||||
'user_id', // foreign key di company yang nyambung ke user
|
||||
'company_id', // foreign key di media yang nyambung ke company
|
||||
'id', // local key di user
|
||||
'id' // local key di company
|
||||
);
|
||||
}
|
||||
|
||||
public function loginHistories(){
|
||||
return $this->hasMany(LoginHistory::class, 'user_id', 'id');
|
||||
}
|
||||
|
||||
@ -22,8 +22,9 @@ public function up(): void
|
||||
$table->string('journalism_organization_doc')->nullable();
|
||||
$table->string('press_council_certificate')->nullable();
|
||||
$table->string('press_council_certificate_doc')->nullable();
|
||||
$table->string('edit_desscription')->nullable();
|
||||
$table->string('edit_description')->nullable();
|
||||
$table->enum('edit_status', ['0', '1', '2', '3'])->default('0');
|
||||
$table->text('edit_rejection_reason')->nullable();
|
||||
$table->unsignedBigInteger('company_id');
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
$table->timestamps();
|
||||
|
||||
@ -29,6 +29,8 @@ public function run(): void
|
||||
'journalism_organization_doc' => $item->doc_of_organization,
|
||||
'press_council_certificate' => $item->certificate,
|
||||
'press_council_certificate_doc' => $item->doc_of_certificate,
|
||||
'edit_description' => $item->description_edit,
|
||||
'edit_status' => change_status($item->status_edit, 'media_edit') ?? '0',
|
||||
'company_id' => $item->company,
|
||||
'created_at' => $item->created_at,
|
||||
'updated_at' => $item->updated_at,
|
||||
|
||||
@ -108,19 +108,19 @@
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_year">Tahun Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="number" class="form-control" id="register_year" placeholder="Data perusahaan yang mendaftar pada tahun" name="register_year" value="{{ old('register_year', $register_year ?? '') }}">
|
||||
<input type="number" class="form-control" id="register_year" placeholder="Perusahaan yang mendaftar pada tahun" name="register_year" value="{{ old('register_year', $register_year ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_month">Bulan Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Data perusahaan yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Perusahaan yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_date">Tanggal Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="date" class="form-control" id="register_date" placeholder="Data perusahaan yang mendaftar pada tanggal" name="register_date" value="{{ old('register_date', $register_date ?? '') }}">
|
||||
<input type="date" class="form-control" id="register_date" placeholder="Perusahaan yang mendaftar pada tanggal" name="register_date" value="{{ old('register_date', $register_date ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -183,13 +183,13 @@
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_month">Bulan Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Data perusahaan yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Perusahaan yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="regitser_date">Tanggal Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="date" class="form-control" id="regitser_date" placeholder="Data perusahaan yang mendaftar pada tanggal" name="regitser_date" value="{{ old('regitser_date', $regitser_date ?? '') }}">
|
||||
<input type="date" class="form-control" id="regitser_date" placeholder="Perusahaan yang mendaftar pada tanggal" name="regitser_date" value="{{ old('regitser_date', $regitser_date ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -269,7 +269,7 @@
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="bq-note-text">
|
||||
{!!$company->rejection_reason ?? '-' !!}
|
||||
{!!$user->company->rejection_reason ?? '-' !!}
|
||||
</div>
|
||||
</div><!-- .bq-note-item -->
|
||||
</div><!-- .bq-note -->
|
||||
|
||||
256
resources/views/dashboard/media/admin/index.blade.php
Normal file
256
resources/views/dashboard/media/admin/index.blade.php
Normal file
@ -0,0 +1,256 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'media'])
|
||||
@include('partials.dashboard.header')
|
||||
<!-- content @s -->
|
||||
<div class="nk-content ">
|
||||
<div class="container-fluid">
|
||||
<div class="nk-content-inner">
|
||||
<div class="nk-content-body">
|
||||
<div class="nk-block-head nk-block-head-sm">
|
||||
<div class="nk-block-between">
|
||||
<div class="nk-block-head-content">
|
||||
<h3 class="nk-block-title page-title">{{$title}}</h3>
|
||||
</div><!-- .nk-block-head-content -->
|
||||
<div class="nk-block-head-content">
|
||||
<div class="toggle-wrap nk-block-tools-toggle">
|
||||
<a href="#" class="btn btn-icon btn-trigger toggle-expand me-n1" data-target="pageMenu"><em class="icon ni ni-more-v"></em></a>
|
||||
<div class="toggle-expand-content" data-content="pageMenu">
|
||||
<ul class="nk-block-tools g-3">
|
||||
<li>
|
||||
@if (filled(value: $type) || filled(value: $classification) || filled(value: $status) || filled($edit_status) || filled($address) || filled($register_year) || filled($register_month) || filled($register_date))
|
||||
<span class="mx-1">
|
||||
<a href="{{route('dashboard.media.index')}}" class="text-secondary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-xbox-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10 -10 10s-10 -4.477 -10 -10s4.477 -10 10 -10m3.6 5.2a1 1 0 0 0 -1.4 .2l-2.2 2.933l-2.2 -2.933a1 1 0 1 0 -1.6 1.2l2.55 3.4l-2.55 3.4a1 1 0 1 0 1.6 1.2l2.2 -2.933l2.2 2.933a1 1 0 0 0 1.6 -1.2l-2.55 -3.4l2.55 -3.4a1 1 0 0 0 -.2 -1.4" /></svg>
|
||||
</a>
|
||||
</span>
|
||||
@endif
|
||||
<div class="drodown">
|
||||
<a href="javascript: void(0);" class="btn btn-white btn-dim btn-outline-light" data-bs-toggle="modal" data-bs-target="#modalFilter"><em class="d-none d-sm-inline icon ni ni-filter"></em><span><span class="d-none d-md-inline">Filter</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="drodown">
|
||||
<a href="javascript: void(0);" class="btn btn-info" data-bs-toggle="modal" data-bs-target="#modalExport"><em class="d-none d-sm-inline icon ni ni-upload"></em><span><span class="d-none d-md-inline">Export</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block-head-content -->
|
||||
</div><!-- .nk-block-between -->
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="card card-bordered card-preview">
|
||||
<div class="card-inner">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered nowrap" id="mediaTable" border="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 10% !important;">No</th>
|
||||
<th>Nama Media</th>
|
||||
<th>Perusahaan</th>
|
||||
<th>Jenis</th>
|
||||
<th>Klasifikasi</th>
|
||||
<th>Link</th>
|
||||
<th>Alamat</th>
|
||||
<th>Status</th>
|
||||
<th>Status Edit</th>
|
||||
<th style="width: 10% !important;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="modalFilter">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Filter</h5>
|
||||
<a href="javascript:void(0);" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||
<em class="icon ni ni-cross"></em>
|
||||
</a>
|
||||
</div>
|
||||
<form action="{{route('dashboard.media.filter')}}" class="form-validate is-alter" method="post">
|
||||
@csrf
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Jenis</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="type">
|
||||
<option value="all" @selected(isset($type) && $type == 'all')>Semua</option>
|
||||
<option value="online" @selected(isset($type) && $type == 'online')>Online</option>
|
||||
<option value="print" @selected(isset($type) && $type == 'print')>Cetak</option>
|
||||
<option value="radio" @selected(isset($type) && $type == 'radio')>Radio</option>
|
||||
<option value="tevelision" @selected(isset($type) && $type == 'television')>Televisi</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Klasifikasi</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="classification">
|
||||
<option value="all" @selected(isset($type) && $type == 'all')>Semua</option>
|
||||
<option value="local" @selected(isset($type) && $type == 'local')>Lokal</option>
|
||||
<option value="regional" @selected(isset($type) && $type == 'regional')>Regional</option>
|
||||
<option value="national" @selected(isset($type) && $type == 'national')>Nasional</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="status">
|
||||
<option value="all" @selected(isset($status) && $status == 'all')>Semua</option>
|
||||
<option value="waiting" @selected(isset($status) && $status == 'waiting')>Menunggu</option>
|
||||
<option value="accepted" @selected(isset($status) && $status == 'accepted')>Diterima</option>
|
||||
<option value="rejected" @selected(isset($status) && $status == 'rejected')>Ditolak</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status Edit</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="edit_status">
|
||||
<option value="all" @selected(isset($edit_status) && $edit_status == 'all')>Semua</option>
|
||||
<option value="no-edit" @selected(isset($edit_status) && $edit_status == 'no-edit')>Tidak Ada</option>
|
||||
<option value="waiting" @selected(isset($edit_status) && $edit_status == 'waiting')>Menunggu</option>
|
||||
<option value="accepted" @selected(isset($edit_status) && $edit_status == 'accepted')>Diterima</option>
|
||||
<option value="rejected" @selected(isset($edit_status) && $edit_status == 'rejected')>Ditolak</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="address">Alamat</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="address" placeholder="Media yang beralamat sekitar" name="address" value="{{ old('address', $address ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_year">Tahun Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="number" class="form-control" id="register_year" placeholder="Media yang mendaftar pada tahun" name="register_year" value="{{ old('register_year', $register_year ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_month">Bulan Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Media yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_date">Tanggal Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="date" class="form-control" id="register_date" placeholder="Media yang mendaftar pada tanggal" name="register_date" value="{{ old('register_date', $register_date ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<span class="sub-text">
|
||||
<button type="submit" class="btn btn-sm btn-primary">Filter</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="modalExport">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Export</h5>
|
||||
<a href="javascript:void(0);" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||
<em class="icon ni ni-cross"></em>
|
||||
</a>
|
||||
</div>
|
||||
<form action="{{route('dashboard.media.export')}}" class="form-validate is-alter" method="post">
|
||||
@csrf
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Jenis</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="type">
|
||||
<option value="all">Semua</option>
|
||||
<option value="online">Online</option>
|
||||
<option value="print">Cetak</option>
|
||||
<option value="radio">Radio</option>
|
||||
<option value="television">Televisi</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Klasifikasi</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="classification">
|
||||
<option value="all">Semua</option>
|
||||
<option value="local">Lokal</option>
|
||||
<option value="regional">Regional</option>
|
||||
<option value="national">Nasional</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="status">
|
||||
<option value="all">Semua</option>
|
||||
<option value="waiting">Menunggu</option>
|
||||
<option value="accepted">Diterima</option>
|
||||
<option value="rejected">Ditolak</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label">Status Edit</label>
|
||||
<div class="form-control-wrap">
|
||||
<select class="form-select js-select2" name="edit_status">
|
||||
<option value="all">Semua</option>
|
||||
<option value="no-edit">Tidak Ada</option>
|
||||
<option value="waiting">Menunggu</option>
|
||||
<option value="accepted">Diterima</option>
|
||||
<option value="rejected">Ditolak</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="address">Alamat</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="address" placeholder="Media yang beralamat sekitar" name="address">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_year">Tahun Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="number" class="form-control" id="register_year" placeholder="Media yang mendaftar pada tahun" name="register_year">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="register_month">Bulan Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="month" class="form-control" id="register_month" placeholder="Media yang mendaftar pada bulan dan tahun" name="register_month" value="{{ old('register_month', $register_month ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="regitser_date">Tanggal Daftar</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="date" class="form-control" id="regitser_date" placeholder="Media yang mendaftar pada tanggal" name="regitser_date" value="{{ old('regitser_date', $regitser_date ?? '') }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<span class="sub-text">
|
||||
<button type="submit" class="btn btn-sm btn-primary">Export</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer' ,['datatable' => 'media'])
|
||||
65
resources/views/dashboard/media/edit-request.blade.php
Normal file
65
resources/views/dashboard/media/edit-request.blade.php
Normal file
@ -0,0 +1,65 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'media'])
|
||||
@include('partials.dashboard.header')
|
||||
<!-- content @s -->
|
||||
<div class="nk-content ">
|
||||
<div class="container-fluid">
|
||||
<div class="nk-content-inner">
|
||||
<div class="nk-content-body">
|
||||
<div class="nk-block-head nk-block-head-sm">
|
||||
<div class="nk-block-between g-3">
|
||||
<div class="nk-block-head-content">
|
||||
<h3 class="nk-block-title page-title">Ubah Data Media</h3>
|
||||
<div class="nk-block-des text-soft">
|
||||
<ul class="list-inline">
|
||||
<li>Buat permohonan untuk mengubah data media Anda di sini.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-block-head-content">
|
||||
<a href="{{route('dashboard.media.index')}}" class="btn btn-outline-light bg-white d-none d-sm-inline-flex"><em class="icon ni ni-arrow-left"></em><span>Kembali</span></a>
|
||||
<a href="{{route('dashboard.media.index')}}" class="btn btn-icon btn-outline-light bg-white d-inline-flex d-sm-none"><em class="icon ni ni-arrow-left"></em></a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="example-alert mb-2">
|
||||
<div class="alert alert-warning alert-icon">
|
||||
<em class="icon ni ni-alert-circle"></em> Mohon berikan <strong>deskripsi permohonan yang jelas dan informatif</strong> untuk menjelaskan alasan perubahan data media serta data apa saja yang ingin diubah. Hal ini akan mempercepat proses validasi oleh tim kami.
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-aside-wrap">
|
||||
<div class="card-content">
|
||||
<div class="card-inner">
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
<form action="{{route('dashboard.media.edit.request.action')}}" method="post" id="myForm">
|
||||
@csrf
|
||||
@method('put')
|
||||
<div class="nk-block">
|
||||
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||
<span class="profile-ud-label text-dark">Deskripsi Permohonan<span class="required-input">*</span></span>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="form-control-wrap">
|
||||
<textarea class="form-control form-control-sm" id="cf-default-textarea" placeholder="Alasan Anda ingin mengubah data media dan data apa saja yang akan diubah" required name="edit_description"></textarea>
|
||||
</div>
|
||||
</div><!-- .bq-note-item -->
|
||||
</div><!-- .bq-note -->
|
||||
<div class="mt-2 d-flex justify-content-end p-2 rounded-2" style="background-color: #f4f4f4 !important;">
|
||||
<button type="button" class="btn btn-primary" id="submitButton">Kirim</button>
|
||||
</div>
|
||||
</div><!-- .nk-block -->
|
||||
</form>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .card-content -->
|
||||
</div><!-- .card-aside-wrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||
208
resources/views/dashboard/media/edit.blade.php
Normal file
208
resources/views/dashboard/media/edit.blade.php
Normal file
@ -0,0 +1,208 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'media'])
|
||||
@include('partials.dashboard.header')
|
||||
<!-- content @s -->
|
||||
<div class="nk-content ">
|
||||
<div class="container-fluid">
|
||||
<div class="nk-content-inner">
|
||||
<div class="nk-content-body">
|
||||
<div class="nk-block-head nk-block-head-sm">
|
||||
<div class="nk-block-between g-3">
|
||||
<div class="nk-block-head-content">
|
||||
<h3 class="nk-block-title page-title">Ubah Data Media</h3>
|
||||
<div class="nk-block-des text-soft">
|
||||
<ul class="list-inline">
|
||||
<li>Ubah data media Anda di sini.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-block-head-content">
|
||||
<a href="{{route('dashboard.media.index')}}" class="btn btn-outline-light bg-white d-none d-sm-inline-flex"><em class="icon ni ni-arrow-left"></em><span>Kembali</span></a>
|
||||
<a href="{{route('dashboard.media.index')}}" class="btn btn-icon btn-outline-light bg-white d-inline-flex d-sm-none"><em class="icon ni ni-arrow-left"></em></a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="example-alert mb-2">
|
||||
<div class="alert alert-info alert-icon">
|
||||
<em class="icon ni ni-alert-circle"></em> Mohon lakukan pembaruan data media sesuai dengan informasi yang telah diajukan sebelumnya. Pastikan seluruh data telah diisi dengan lengkap dan benar.
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-aside-wrap">
|
||||
<div class="card-content">
|
||||
<div class="card-inner">
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
<form action="{{route('dashboard.media.update')}}" method="post" id="myForm" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="nk-block">
|
||||
<div class="row gy-4">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="company_name">Nama Perusahaan</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="company_name" placeholder="Nama perusahaan Anda" value="{{$user->company->name}}" name="company_name" disabled>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_name">Nama Media</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="media_name" placeholder="Nama media Anda" value="{{$user->company->media->name}}" name="media_name">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_link">Link Media</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="media_link" placeholder="Nama media Anda" value="{{$user->company->media->link}}" name="media_link">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_address">Alamat</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="media_address" placeholder="Nama media Anda" value="{{$user->company->media->address}}" name="media_address">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<label class="form-label">Jenis</label>
|
||||
<ul class="d-flex flex-wrap g-2">
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_type" id="online" value="online" {{ $user->company->media->type == 'online' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="online">Online</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_type" id="cetak" value="cetak" {{ $user->company->media->type === 'cetak' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="cetak">Cetak</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_type" id="radio" value="radio" {{ $user->company->media->type === 'radio' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="radio">Radio</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_type" id="televisi" value="televisi" {{ $user->company->media->type === 'televisi' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="televisi">Televisi</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@error('media_type')
|
||||
<span class="auth-validation-error">{{$message}}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<label class="form-label">Klasifikasi</label>
|
||||
<ul class="d-flex flex-wrap g-2">
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_classification" id="lokal" value="lokal" {{ $user->company->media->classification === 'lokal' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="lokal">Lokal</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_classification" id="regional" value="regional" {{ $user->company->media->classification === 'regional' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="regional">Regional</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" class="custom-control-input" name="media_classification" id="nasional" value="nasional" {{ $user->company->media->classification === 'nasional' ? 'checked' : '' }}>
|
||||
<label class="custom-control-label" for="nasional">Nasional</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@error('media_classification')
|
||||
<span class="auth-validation-error">{{$message}}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_journalism_organization">Organisasi Kewartawanan</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="media_journalism_organization" placeholder="Alamat perusahaan Anda" value="{{$user->company->media->director_nik ?? '-'}}" name="media_journalism_organization">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_press_council_certificate">Sertifikat Dewan Press</label>
|
||||
<div class="form-control-wrap">
|
||||
<input type="text" class="form-control" id="media_press_council_certificate" placeholder="Alamat perusahaan Anda" value="{{$user->company->media->deed_incorporation ?? '-'}}" name="media_press_council_certificate">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_journalism_organization_doc">
|
||||
Organisasi Kewartawanan
|
||||
@if (filled($user->company->media->journalism_organization_doc))
|
||||
<span>
|
||||
<a href="{{ filled($user->company->media->journalism_organization_doc) ? asset('storage/uploads/media/'.$user->company->media->journalism_organization_doc) : 'javascript:void(0);' }}"
|
||||
target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-eye">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||
<path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
|
||||
</svg>
|
||||
</a>
|
||||
</span>
|
||||
@endif
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<div class="form-file">
|
||||
<input type="file" accept="application/pdf" class="form-file-input" id="media_journalism_organization_doc" name="media_journalism_organization_doc">
|
||||
<label class="form-file-label {{!filled($user->company->media->journalism_organization_doc) ? 'text-danger' : ''}}" for="media_journalism_organization_doc">{{$user->company->media->journalism_organization_doc ?? 'Belum ditambahkan'}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="media_press_council_certificate_doc">Sertifikat Dewan Press
|
||||
@if (filled($user->company->media->press_council_certificate_doc))
|
||||
<span>
|
||||
<a href="{{ filled($user->company->media->press_council_certificate_doc) ? asset('storage/uploads/media/'.$user->company->media->press_council_certificate_doc) : 'javascript:void(0);' }}"
|
||||
target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-eye">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
||||
<path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
|
||||
</svg>
|
||||
</a>
|
||||
</span>
|
||||
@endif
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<div class="form-file">
|
||||
<input type="file" accept="application/pdf" class="form-file-input" id="media_press_council_certificate_doc" name="media_press_council_certificate_doc">
|
||||
<label class="form-file-label {{!filled($user->company->media->press_council_certificate_doc) ? 'text-danger' : ''}}" for="media_press_council_certificate_doc">{{$user->company->media->press_council_certificate_doc ?? 'Belum ditambahkan'}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-5 d-flex justify-content-end p-2 rounded-2" style="background-color: #f4f4f4 !important;">
|
||||
<a href="{{route('dashboard.media.edit')}}" class="btn btn-danger mx-2">Reset Perubahan</a>
|
||||
<button type="button" class="btn btn-primary" id="submitButton">Kirim</button>
|
||||
</div>
|
||||
</div><!-- .nk-block -->
|
||||
</form>
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .card-content -->
|
||||
</div><!-- .card-aside-wrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||
@ -7,56 +7,189 @@
|
||||
<div class="nk-content-inner">
|
||||
<div class="nk-content-body">
|
||||
<div class="nk-block-head nk-block-head-sm">
|
||||
<div class="nk-block-between">
|
||||
<div class="nk-block-between g-3">
|
||||
<div class="nk-block-head-content">
|
||||
<h3 class="nk-block-title page-title">{{$title}}</h3>
|
||||
</div><!-- .nk-block-head-content -->
|
||||
{{-- <div class="nk-block-head-content">
|
||||
<div class="toggle-wrap nk-block-tools-toggle">
|
||||
<a href="#" class="btn btn-icon btn-trigger toggle-expand me-n1" data-target="pageMenu"><em class="icon ni ni-more-v"></em></a>
|
||||
<div class="toggle-expand-content" data-content="pageMenu">
|
||||
<ul class="nk-block-tools g-3">
|
||||
<li>
|
||||
<div class="drodown">
|
||||
<a href="#" class="dropdown-toggle btn btn-white btn-dim btn-outline-light" data-bs-toggle="dropdown"><em class="d-none d-sm-inline icon ni ni-calender-date"></em><span><span class="d-none d-md-inline">Last</span> 30 Days</span><em class="dd-indc icon ni ni-chevron-right"></em></a>
|
||||
<div class="dropdown-menu dropdown-menu-end">
|
||||
<ul class="link-list-opt no-bdr">
|
||||
<li><a href="#"><span>Last 30 Days</span></a></li>
|
||||
<li><a href="#"><span>Last 6 Months</span></a></li>
|
||||
<li><a href="#"><span>Last 1 Years</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nk-block-tools-opt"><a href="{{route('dashboard.users.create')}}" class="btn btn-primary"><em class="icon ni ni-plus"></em><span>Tambah</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block-head-content --> --}}
|
||||
</div><!-- .nk-block-between -->
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="card card-bordered card-preview">
|
||||
<div class="card-inner">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered nowrap" id="mediaTable" border="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 10% !important;">No</th>
|
||||
<th>Nama Media</th>
|
||||
<th>Perusahaan</th>
|
||||
<th>Jenis</th>
|
||||
<th>Klasifikasi</th>
|
||||
<th>Link</th>
|
||||
<th>Alamat</th>
|
||||
<th>Status</th>
|
||||
<th>Status Edit</th>
|
||||
<th style="width: 10% !important;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<h3 class="nk-block-title page-title">Data Media</h3>
|
||||
<div class="nk-block-des text-soft">
|
||||
<ul class="list-inline">
|
||||
<li>Lihat informasi media Anda di sini.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nk-block-head-content">
|
||||
@if (in_array($user->company->media->edit_status,['1']) )
|
||||
<a href="javascript:void(0);" class="btn d-none d-sm-inline-flex" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Menunggu persetujuan Admin" aria-disabled="true" tabindex="-1" style="background-color: #DBDBDB; color: #89A8B2;"><em class="icon ni ni-pen2"></em><span>Ubah Data</span></a>
|
||||
<a href="javascript:void(0);" class="btn btn-icon d-inline-flex d-sm-none" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Menunggu persetujuan Admin" aria-disabled="true" tabindex="-1" style="background-color: #DBDBDB; color: #89A8B2;"><em class="icon ni ni-pen2"></em></a>
|
||||
@elseif(in_array($user->company->media->edit_status, ['0', '3']))
|
||||
<a href="{{route('dashboard.media.edit.request')}}" class="btn btn-warning d-none d-sm-inline-flex"><em class="icon ni ni-pen2"></em><span>Ubah Data</span></a>
|
||||
<a href="{{route('dashboard.media.edit.request')}}" class="btn btn-icon btn-warning d-inline-flex d-sm-none"><em class="icon ni ni-pen2"></em></a>
|
||||
@elseif(in_array($user->company->media->edit_status, ['2']))
|
||||
<a href="{{route('dashboard.media.edit')}}" class="btn btn-info d-none d-sm-inline-flex"><em class="icon ni ni-pen2"></em><span>Ubah Data</span></a>
|
||||
<a href="{{route('dashboard.media.edit')}}" class="btn btn-icon btn-info d-inline-flex d-sm-none"><em class="icon ni ni-pen2"></em></a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="card">
|
||||
<div class="card-aside-wrap">
|
||||
<div class="card-content">
|
||||
<div class="card-inner">
|
||||
<div class="nk-block">
|
||||
<div class="nk-block-head">
|
||||
<h5 class="title">Informasi Media</h5>
|
||||
<p>Informasi umum terkait media Anda</p>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="profile-ud-list">
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Nama Media</span>
|
||||
<span class="profile-ud-value">{{$user->company->media->name ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Jenis</span>
|
||||
<span class="profile-ud-value">{{ucfirst($user->company->media->type) ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Klasifikasi</span>
|
||||
<span class="profile-ud-value">{{ucfirst($user->company->media->classification) ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Link</span>
|
||||
<span class="profile-ud-value">
|
||||
@if (filled($user->company->media->link))
|
||||
<a href="{{$user->company->media->link}}" target="_blank">{{$user->company->media->link}}</a>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Alamat</span>
|
||||
<span class="profile-ud-value">{{$user->company->media->address ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Organisasi Kewartawanan</span>
|
||||
<span class="profile-ud-value">{{$user->company->media->journalism_organization ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Sertifikat Dewan Press</span>
|
||||
<span class="profile-ud-value">{{$user->company->media->press_council_certificate ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status</span>
|
||||
<span class="profile-ud-value">
|
||||
@switch($user->status)
|
||||
@case(0)
|
||||
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||
@break
|
||||
@case(1)
|
||||
<span class="profile-ud-value"><span class="badge bg-success">Diterima</span></span>
|
||||
@break
|
||||
@case(2)
|
||||
<span class="profile-ud-value">
|
||||
<span class="badge bg-danger">
|
||||
<a href="javascript:void(0);" onclick="showDetail({{ json_encode(strip_tags($user->rejection_reason)) }})" class="text-light text-decoration-underline">Ditolak</a>
|
||||
</span>
|
||||
</span>
|
||||
@break
|
||||
@default
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||
@endswitch
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status Edit</span>
|
||||
<span class="profile-ud-value">
|
||||
@switch($user->company->media->edit_status)
|
||||
@case(0)
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Ada</span></span>
|
||||
@break
|
||||
@case(1)
|
||||
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||
@break
|
||||
@case(2)
|
||||
<span class="profile-ud-value"><span class="badge bg-primary">Diterima</span></span>
|
||||
@break
|
||||
@case(3)
|
||||
<span class="profile-ud-value">
|
||||
<span class="badge bg-danger">
|
||||
<a href="javascript:void(0);" onclick="showDetail({{ json_encode(strip_tags($user->company->media->edit_rejection_reason)) }})" class="text-light text-decoration-underline">Ditolak</a>
|
||||
</span>
|
||||
</span>
|
||||
@break
|
||||
@default
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||
@endswitch
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .profile-ud-list -->
|
||||
</div><!-- .nk-block -->
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
<div class="nk-block">
|
||||
{{-- <div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||
<h5 class="title">Admin Note</h5>
|
||||
</div><!-- .nk-block-head --> --}}
|
||||
<div id="accordion" class="accordion">
|
||||
<div class="accordion-item">
|
||||
<a href="#" class="accordion-head collapsed" data-bs-toggle="collapse" data-bs-target="#journalism-organization-doc">
|
||||
<h6 class="title">Dokumen Organisasi Kewartawanan</h6>
|
||||
<span class="accordion-icon"></span>
|
||||
</a>
|
||||
<div class="accordion-body collapse" id="journalism-organization-doc" data-bs-parent="#accordion">
|
||||
<div class="accordion-inner">
|
||||
{!! display_file('media', $user->company->media->journalism_organization_doc) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<a href="#" class="accordion-head collapsed" data-bs-toggle="collapse" data-bs-target="#press-council-certificate-doc">
|
||||
<h6 class="title">Dokumen Sertifikat Dewan Press</h6>
|
||||
<span class="accordion-icon"></span>
|
||||
</a>
|
||||
<div class="accordion-body collapse" id="press-council-certificate-doc" data-bs-parent="#accordion">
|
||||
<div class="accordion-inner">
|
||||
{!! display_file('media', $user->company->press_council_certificate_doc) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .nk-block -->
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
@if (filled($user->company->rejection_reason))
|
||||
<div class="nk-block">
|
||||
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||
<span class="profile-ud-label">Alasan Penolakan</span>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="bq-note-text">
|
||||
{!!$user->company->rejection_reason ?? '-' !!}
|
||||
</div>
|
||||
</div><!-- .bq-note-item -->
|
||||
</div><!-- .bq-note -->
|
||||
</div><!-- .nk-block -->
|
||||
@endif
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .card-content -->
|
||||
</div><!-- .card-aside-wrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -64,4 +197,4 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer' ,['datatable' => 'media'])
|
||||
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||
|
||||
@ -1,136 +0,0 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'media'])
|
||||
@include('partials.dashboard.header')
|
||||
<!-- content @s -->
|
||||
<div class="nk-content ">
|
||||
<div class="container-fluid">
|
||||
<div class="nk-content-inner">
|
||||
<div class="nk-content-body">
|
||||
<div class="nk-block nk-block-lg">
|
||||
<div class="card">
|
||||
<div class="card-aside-wrap">
|
||||
<div class="card-content">
|
||||
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-primary" href="#"><em class="icon ni ni-info"></em><span>Detail Media</span></a>
|
||||
</li>
|
||||
</ul><!-- .nav-tabs -->
|
||||
<div class="card-inner">
|
||||
<div class="nk-block">
|
||||
{{-- <div class="nk-block-head">
|
||||
<h5 class="title">Personal Information</h5>
|
||||
<p>Basic info, like your name and address, that you use on Nio Platform.</p>
|
||||
</div> --}}
|
||||
<div class="profile-ud-list">
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Nama Media</span>
|
||||
<span class="profile-ud-value">{{$media->name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Jenis</span>
|
||||
<span class="profile-ud-value">{{ucfirst($media->type)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Klasifikasi</span>
|
||||
<span class="profile-ud-value">{{ucfirst($media->classification)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Alamat</span>
|
||||
<span class="profile-ud-value">{{$media->address}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Organisasi Kewartawanan</span>
|
||||
<span class="profile-ud-value">
|
||||
@if ($media->journalism_organization_doc)
|
||||
<a href="{{asset('storage/uploads/companies/'. $media->journalism_organization_doc)}}" target="__blank">{{$media->journalism_organization}}</a>
|
||||
@else
|
||||
{{$media->journalism_organization ?? '-'}}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Sertifikat Dewan Press</span>
|
||||
<span class="profile-ud-value">
|
||||
@if ($media->press_council_certificate_doc)
|
||||
<a href="{{asset('storage/uploads/companies/'. $media->press_council_certificate_doc)}}" target="__blank">{{$media->press_council_certificate}}</a>
|
||||
@else
|
||||
{{$media->press_council_certificate ?? '-'}}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status</span>
|
||||
@switch($media->company->user->status)
|
||||
@case(0)
|
||||
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||
@break
|
||||
@case(1)
|
||||
<span class="profile-ud-value"><span class="badge bg-success">Diterima</span></span>
|
||||
@break
|
||||
@case(2)
|
||||
<span class="profile-ud-value"><span class="badge bg-danger">Ditolak</span></span>
|
||||
@break
|
||||
@default
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||
@endswitch
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- .profile-ud-list -->
|
||||
</div><!-- .nk-block -->
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
{{-- @if (filled($media->rejection_reason))
|
||||
<div class="nk-block">
|
||||
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||
<span class="profile-ud-label">Alasan Penolakan</span>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="bq-note-text">
|
||||
{!!$company->rejection_reason ?? '-' !!}
|
||||
</div>
|
||||
</div><!-- .bq-note-item -->
|
||||
</div><!-- .bq-note -->
|
||||
</div><!-- .nk-block -->
|
||||
@endif --}}
|
||||
{{-- <div class="nk-block">
|
||||
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||
<span class="profile-ud-label">Konten</span>
|
||||
</div><!-- .nk-block-head -->
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="bq-note-text">
|
||||
{!!$mediaMonitoring->content!!}
|
||||
</div>
|
||||
</div><!-- .bq-note-item -->
|
||||
</div><!-- .bq-note -->
|
||||
</div><!-- .nk-block --> --}}
|
||||
<hr>
|
||||
<div class="nk-block d-flex justify-content-end">
|
||||
<a href="{{route('dashboard.media.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||
{{-- <a href="{{route('dashboard.content.recaps.edit', ['id' => encrypt_id($mediaMonitoring->id)])}}" class="btn btn-warning"><span>Ubah</span></a> --}}
|
||||
</div><!-- .nk-block -->
|
||||
</div><!-- .card-inner -->
|
||||
</div><!-- .card-content -->
|
||||
</div><!-- .card-aside-wrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||
@ -47,46 +47,46 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (isset($purpose) && $purpose === 'process' && $page === 'company' && filled($category))
|
||||
@if ($category === 'account-status' && $user->status === '0')
|
||||
<div class="mt-2 d-flex justify-content-end p-2 rounded-2" style="background-color: #D4EBF8 !important;">
|
||||
<a href="javascript:void(0);" class="btn btn-danger mx-1" data-bs-toggle="modal" data-bs-target="#modalForm">Tolak</a>
|
||||
<a href="javascript:void(0);" class="btn btn-primary mx-1" onclick="statusAction('{{route('dashboard.companies.process.action.accept', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => 'account-status'])}}', 'Apakah Anda yakin ingin menyetujui perusahaan {{$user->company->name}}?', 'Ya, Setujui')">
|
||||
@if (isset($purpose) && $purpose === 'process' && in_array($page, ['company', 'media']) && filled($category))
|
||||
@if ($category === 'account-status' && $user->status === '0')
|
||||
<div class="mt-2 d-flex justify-content-end p-2 rounded-2" style="background-color: #D4EBF8 !important;">
|
||||
<a href="javascript:void(0);" class="btn btn-danger mx-1" data-bs-toggle="modal" data-bs-target="#modalForm">Tolak</a>
|
||||
<a href="javascript:void(0);" class="btn btn-primary mx-1" onclick="statusAction('{{route('dashboard.'.$route.'.process.action.accept', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => 'account-status'])}}', 'Apakah Anda yakin ingin menyetujui {{$idnPage}} {{$page === 'company' ? $user->company->name : $user->company->media->name}}?', 'Ya, Setujui')">
|
||||
Terima
|
||||
</a>
|
||||
</div>
|
||||
@elseif($category === 'edit-request' && ($page === 'company' ? $user->company->edit_status === '1' : $user->company->media->edit_status === '1'))
|
||||
<div class="mt-2 d-flex justify-content-end p-2 rounded-2" style="background-color: #D4EBF8 !important;">
|
||||
<a href="javascript:void(0);" class="btn btn-danger mx-1" data-bs-toggle="modal" data-bs-target="#modalForm">Tolak</a>
|
||||
<a href="javascript:void(0);" class="btn btn-primary mx-1" onclick="statusAction('{{route('dashboard.'.$route.'.process.action.accept', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => 'edit-request'])}}', 'Apakah Anda yakin ingin menyetujui permohonan edit {{$idnPage}} {{$page === 'company' ? $user->company->name : $user->company->media->name}}?', 'Ya, Setujui')">
|
||||
Terima
|
||||
</a>
|
||||
</div>
|
||||
@elseif($category === 'edit-request' && $user->company->edit_status === '1')
|
||||
<div class="mt-2 d-flex justify-content-end p-2 rounded-2" style="background-color: #D4EBF8 !important;">
|
||||
<a href="javascript:void(0);" class="btn btn-danger mx-1" data-bs-toggle="modal" data-bs-target="#modalForm">Tolak</a>
|
||||
<a href="javascript:void(0);" class="btn btn-primary mx-1" onclick="statusAction('{{route('dashboard.companies.process.action.accept', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => 'edit-request'])}}', 'Apakah Anda yakin ingin menyetujui permohonan edit perusahaan {{$user->company->name}}?', 'Ya, Setujui')">
|
||||
Terima
|
||||
</a>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
<div class="modal fade" id="modalForm">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Tolak {{$category === 'account-status' ? 'Perusahaan' : 'Permohonan Edit'}}</h5>
|
||||
<a href="#" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||
<em class="icon ni ni-cross"></em>
|
||||
</a>
|
||||
</div>
|
||||
<form action="{{route('dashboard.companies.process.action.reject', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => $category])}}" class="form-validate is-alter" id="myForm" method="post">
|
||||
@csrf
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="rejection_reason">Alasan Menolak<span class="required-input">*</span></label>
|
||||
<div class="form-control-wrap">
|
||||
<textarea class="form-control form-control-sm" id="cf-default-textarea" placeholder="Alasan Anda melakukan penolakan" required name="rejection_reason"></textarea>
|
||||
<div class="modal fade" id="modalForm">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Tolak {{$category === 'account-status' ? 'Perusahaan' : 'Permohonan Edit'}}</h5>
|
||||
<a href="#" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||
<em class="icon ni ni-cross"></em>
|
||||
</a>
|
||||
</div>
|
||||
<form action="{{route('dashboard.'.$route.'.process.action.reject', ['id' => encrypt_id($user->id), 'type' => $page, 'category' => $category])}}" class="form-validate is-alter" id="myForm" method="post">
|
||||
@csrf
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="rejection_reason">Alasan Menolak<span class="required-input">*</span></label>
|
||||
<div class="form-control-wrap">
|
||||
<textarea class="form-control form-control-sm" id="cf-default-textarea" placeholder="Alasan Anda melakukan penolakan" required name="rejection_reason"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-sm btn-primary" id="submitButton">Kirim</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-sm btn-primary" id="submitButton">Kirim</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
@include('dashboard.users.profiles.heading')
|
||||
</div>
|
||||
</div><!-- .nk-block-head -->
|
||||
@include('dashboard.users.profiles.request-edit-description')
|
||||
<div class="nk-block">
|
||||
<div class="card">
|
||||
<div class="card-aside-wrap">
|
||||
@ -45,6 +46,18 @@
|
||||
<span class="profile-ud-value">{{ucfirst($user->company->media->classification) ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Link</span>
|
||||
<span class="profile-ud-value">
|
||||
@if (filled($user->company->media->link))
|
||||
<a href="{{$user->company->media->link}}" target="_blank">{{$user->company->media->link}}</a>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Alamat</span>
|
||||
@ -63,6 +76,57 @@
|
||||
<span class="profile-ud-value">{{$user->company->media->press_council_certificate ?? '-'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status</span>
|
||||
<span class="profile-ud-value">
|
||||
@switch($user->status)
|
||||
@case(0)
|
||||
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||
@break
|
||||
@case(1)
|
||||
<span class="profile-ud-value"><span class="badge bg-success">Diterima</span></span>
|
||||
@break
|
||||
@case(2)
|
||||
<span class="profile-ud-value">
|
||||
<span class="badge bg-danger">
|
||||
<a href="javascript:void(0);" onclick="showDetail({{ json_encode(strip_tags($user->rejection_reason)) }})" class="text-light text-decoration-underline">Ditolak</a>
|
||||
</span>
|
||||
</span>
|
||||
@break
|
||||
@default
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||
@endswitch
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status Edit</span>
|
||||
<span class="profile-ud-value">
|
||||
@switch($user->company->media->edit_status)
|
||||
@case(0)
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Ada</span></span>
|
||||
@break
|
||||
@case(1)
|
||||
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||
@break
|
||||
@case(2)
|
||||
<span class="profile-ud-value"><span class="badge bg-primary">Diterima</span></span>
|
||||
@break
|
||||
@case(3)
|
||||
<span class="profile-ud-value">
|
||||
<span class="badge bg-danger">
|
||||
<a href="javascript:void(0);" onclick="showDetail({{ json_encode(strip_tags($user->company->media->edit_rejection_reason)) }})" class="text-light text-decoration-underline">Ditolak</a>
|
||||
</span>
|
||||
</span>
|
||||
@break
|
||||
@default
|
||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||
@endswitch
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- .profile-ud-list -->
|
||||
</div><!-- .nk-block -->
|
||||
{{-- <div class="nk-divider divider md"></div> --}}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@if (isset($purpose) && $purpose === 'process' && isset($category) && $category === 'edit-request' && $user->company->edit_status === '1')
|
||||
@if (isset($purpose) && $purpose === 'process' && isset($category) && $category === 'edit-request' && in_array($page, ['company', 'media']) && ($page === 'company' ? $user->company->edit_status === '1' : $user->company->media->edit_status === '1'))
|
||||
<div class="card card-bordered card-preview mb-2">
|
||||
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||
<li class="nav-item">
|
||||
@ -7,12 +7,12 @@
|
||||
</ul><!-- .nav-tabs -->
|
||||
<div class="card-inner">
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="rejection_reason">Deskripsi Permohonan</label>
|
||||
<label class="form-label" for="description">Deskripsi Permohonan</label>
|
||||
<div class="bq-note">
|
||||
<div class="bq-note-item">
|
||||
<div class="bq-note-text">
|
||||
@if (filled($user->company->edit_description))
|
||||
{{ $user->company->edit_description }}
|
||||
@if ($page === 'company' ? filled($user->company->edit_description) : filled($user->company->media->edit_description))
|
||||
{{ $page === 'company' ? $user->company->edit_description : $user->company->media->edit_description }}
|
||||
@else
|
||||
<div class="d-flex justify-content-center align-items-center">
|
||||
<span class="text-center"><i>Tidak ada deskripsi atau alasan</i></span>
|
||||
|
||||
@ -473,7 +473,20 @@
|
||||
$('#mediaTable').DataTable({
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
ajax: '{{ route('dashboard.media.data') }}',
|
||||
ajax: {
|
||||
url: '{{ route('dashboard.media.data') }}',
|
||||
type: 'GET',
|
||||
data: function(d) {
|
||||
d.type = '{{ $type }}';
|
||||
d.classification = '{{ $classification }}';
|
||||
d.status = '{{ $status }}';
|
||||
d.edit_status = '{{ $edit_status }}';
|
||||
d.address = '{{ $address }}';
|
||||
d.register_year = '{{ $register_year }}';
|
||||
d.register_month = '{{ $register_month }}';
|
||||
d.register_date = '{{ $register_date }}';
|
||||
}
|
||||
},
|
||||
columns: [
|
||||
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
|
||||
{ data: 'media_name', name: 'media_name' },
|
||||
|
||||
@ -224,6 +224,31 @@ function showDetail(reason) {
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function showEditDescription(reason) {
|
||||
Swal.fire({
|
||||
title: 'Alasan Edit', // Judul utama
|
||||
html: `
|
||||
<div class="card" style="border: none; border-radius: 12px; padding: 15px; text-align: left; background-color: #f8f9fa; max-width: 500px; margin: auto; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); margin-top:0.5rem;">
|
||||
<div class="card-body" style="font-size: 14px; color: #555; line-height: 1.6;">
|
||||
<p style="margin: 0; padding: 10px 0; font-style: italic; color: #888;">
|
||||
${reason || "<i>Tidak ada alasan yang diberikan.</i>"}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
icon: 'info',
|
||||
confirmButtonText: 'Tutup',
|
||||
confirmButtonColor: '#3085d6', // Mengubah warna tombol
|
||||
padding: '25px', // Padding sekitar modal
|
||||
backdrop: true, // Mengaktifkan backdrop
|
||||
customClass: {
|
||||
popup: 'custom-popup',
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$.ajaxSetup({
|
||||
|
||||
@ -272,14 +272,23 @@
|
||||
Route::prefix('media')->name('media.')->group(function(){
|
||||
Route::controller(MediaController::class)->group(function(){
|
||||
Route::get('/', 'index')->name('index');
|
||||
Route::get('/{id}/show', 'show')->name('show');
|
||||
Route::get('/{id}/{type}/show', 'show')->name('show');
|
||||
|
||||
|
||||
Route::get('/create', 'create')->name('create');
|
||||
Route::post('/', 'store')->name('store');
|
||||
Route::get('/{id}/edit', 'edit')->name('edit');
|
||||
Route::put('/{id}', 'update')->name('update');
|
||||
Route::get('/edit/request', 'editRequest')->name('edit.request');
|
||||
Route::put('/edit/request', 'editRequestAction')->name('edit.request.action');
|
||||
Route::get('/edit', 'edit')->name('edit');
|
||||
Route::post('/edit', 'update')->name('update');
|
||||
Route::delete('/{id}', 'destroy')->name('destroy');
|
||||
|
||||
Route::get('/{id}/{type}/process', 'process')->name('process');
|
||||
Route::put('/{id}/{type}/process/{category}', 'processAcceptAction')->name('process.action.accept');
|
||||
Route::post('/{id}/{type}/process/{category}', 'processRejectAction')->name('process.action.reject');
|
||||
|
||||
Route::post('/export', 'export')->name('export');
|
||||
Route::post('/filter', 'filter')->name('filter');
|
||||
});
|
||||
|
||||
Route::get('/data', [DatatableController::class, 'media'])->name('data');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user