feat: journalist display and detail
This commit is contained in:
parent
0f88017a2a
commit
55dea5a35a
@ -9,6 +9,7 @@
|
||||
use App\Models\ContentRecap;
|
||||
use App\Models\GovernmentAgency;
|
||||
use App\Models\IssueManagement;
|
||||
use App\Models\Journalist;
|
||||
use App\Models\Location;
|
||||
use App\Models\Media;
|
||||
use App\Models\MediaMonitoring;
|
||||
@ -603,6 +604,91 @@ public function media(Request $request){
|
||||
|
||||
}
|
||||
|
||||
public function journalist(Request $request){
|
||||
if ($request->ajax()) {
|
||||
|
||||
$data = Journalist::with(['media' => function($query) {
|
||||
$query->withTrashed();
|
||||
}, 'media.company' => function($query) {
|
||||
$query->withTrashed();
|
||||
}, 'media.company.user' => function($query) {
|
||||
$query->withTrashed();
|
||||
}])->get();
|
||||
|
||||
|
||||
return DataTables::of($data)
|
||||
->addIndexColumn()
|
||||
->addColumn('journalist_name', function ($data) {
|
||||
return $data->name;
|
||||
})
|
||||
->addColumn('company_name', function ($data) {
|
||||
return $data->media->company->name;
|
||||
})
|
||||
->addColumn('status', function ($data) {
|
||||
switch($data->media->company->user->status){
|
||||
case 0:
|
||||
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;">Menunggu</span>';
|
||||
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-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Diketahui</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>';
|
||||
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-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Diketahui</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.journalists.show', ['id' => encrypt_id($data->id)]);
|
||||
|
||||
$editUrl = route('dashboard.journalists.edit', ['id' => encrypt_id($data->id)]);
|
||||
|
||||
$deleteUrl = route('dashboard.journalists.destroy', ['id' => encrypt_id($data->id)]);
|
||||
|
||||
$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-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])) {
|
||||
$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>';
|
||||
|
||||
}
|
||||
|
||||
$dropdown .= '</ul>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
return $dropdown;
|
||||
})
|
||||
|
||||
->rawColumns(['status', 'status_edit', 'action'])
|
||||
->make(true);
|
||||
}
|
||||
|
||||
return response()->json(['error' => 'Unauthorized'], 401);
|
||||
|
||||
}
|
||||
|
||||
public function contentRecap(Request $request){
|
||||
if ($request->ajax()) {
|
||||
|
||||
|
||||
35
app/Http/Controllers/Dashboard/JournalistController.php
Normal file
35
app/Http/Controllers/Dashboard/JournalistController.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Dashboard;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Journalist;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class JournalistController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('dashboard.journalists.index',[
|
||||
'title' => 'Jurnalis'
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(){}
|
||||
|
||||
public function store(){}
|
||||
|
||||
public function edit(){}
|
||||
|
||||
public function update(){}
|
||||
|
||||
public function show($id){
|
||||
$journalist = Journalist::findOrFail(decrypt_id($id));
|
||||
|
||||
return view('dashboard.journalists.show', [
|
||||
'title' => 'Detail Jurnalis',
|
||||
'journalist' => $journalist
|
||||
]);
|
||||
}
|
||||
|
||||
public function destroy(){}
|
||||
}
|
||||
@ -19,12 +19,12 @@ class Company extends Model
|
||||
'director_nik_doc',
|
||||
'deed_incorporation',
|
||||
'deed_incorporation_doc',
|
||||
'siup_nib',
|
||||
'siup_nib_doc',
|
||||
'npwp',
|
||||
'npwp_doc',
|
||||
'pkp',
|
||||
'pkp_doc',
|
||||
'trade_license',
|
||||
'trade_license_doc',
|
||||
'tax_id_number',
|
||||
'tax_id_number_doc',
|
||||
'taxable_enterprise',
|
||||
'taxable_enterprise_doc',
|
||||
'annual_tax_return',
|
||||
'annual_tax_return_doc',
|
||||
'domicile_certificate',
|
||||
@ -33,6 +33,10 @@ class Company extends Model
|
||||
'profile_doc',
|
||||
'cooperation_request',
|
||||
'cooperation_request_doc',
|
||||
'edit_description',
|
||||
'edit_status',
|
||||
'validated_at',
|
||||
'rejection_reason',
|
||||
'user_id'
|
||||
];
|
||||
|
||||
|
||||
@ -3,9 +3,12 @@
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Journalist extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'journalists';
|
||||
|
||||
protected $fillable = [
|
||||
@ -14,9 +17,11 @@ class Journalist extends Model
|
||||
'phone_number',
|
||||
'press_card',
|
||||
'press_card_doc',
|
||||
'ukw_sertificate',
|
||||
'ukw_sertificate_doc',
|
||||
'media_id',
|
||||
'ukw_certificate',
|
||||
'ukw_certificate_doc',
|
||||
'edit_description',
|
||||
'edit_status',
|
||||
'media_id'
|
||||
];
|
||||
|
||||
public function media(){
|
||||
|
||||
12
app/Models/Legacy/OldJournalist.php
Normal file
12
app/Models/Legacy/OldJournalist.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Legacy;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class OldJournalist extends Model
|
||||
{
|
||||
protected $connection = 'legacy';
|
||||
|
||||
protected $table = 'journalists';
|
||||
}
|
||||
@ -21,7 +21,9 @@ class Media extends Model
|
||||
'journalism_organization_doc',
|
||||
'press_council_certificate',
|
||||
'press_council_certificate_doc',
|
||||
'company_id',
|
||||
'edit_description',
|
||||
'edit_status',
|
||||
'company_id'
|
||||
];
|
||||
|
||||
public function company(){
|
||||
|
||||
@ -16,13 +16,16 @@ public function up(): void
|
||||
$table->string('name');
|
||||
$table->string('email');
|
||||
$table->string('phone_number');
|
||||
$table->string('press_card');
|
||||
$table->string('press_card')->nullable();
|
||||
$table->string('press_card_doc')->nullable();
|
||||
$table->string('ukw_sertificate');
|
||||
$table->string('ukw_sertificate_doc')->nullable();
|
||||
$table->string('ukw_certificate')->nullable();
|
||||
$table->string('ukw_certificate_doc')->nullable();
|
||||
$table->text('edit_description')->nullable();
|
||||
$table->enum('edit_status', ['0', '1', '2', '3'])->default('0');
|
||||
$table->unsignedBigInteger('media_id');
|
||||
$table->foreign('media_id')->references('id')->on('media');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ public function run(): void
|
||||
$this->call(UserSeeder::class);
|
||||
$this->call(CompanySeeder::class);
|
||||
$this->call(MediaSeeder::class);
|
||||
$this->call(JournalistSeeder::class);
|
||||
$this->call(ClassificationSeeder::class);
|
||||
$this->call(SubClassificationSeeder::class);
|
||||
$this->call(GovernmentAgencySeeder::class);
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Journalist;
|
||||
use App\Models\Legacy\OldJournalist;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
@ -12,6 +14,25 @@ class JournalistSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
//
|
||||
$legacyJournalists = OldJournalist::all();
|
||||
|
||||
foreach($legacyJournalists as $legacyJournalist){
|
||||
Journalist::create([
|
||||
'id' => $legacyJournalist->id,
|
||||
'name' => $legacyJournalist->name,
|
||||
'email' => $legacyJournalist->email,
|
||||
'phone_number' => $legacyJournalist->phone,
|
||||
'press_card' => $legacyJournalist->press_card,
|
||||
'press_card_doc' => $legacyJournalist->doc_of_press_card,
|
||||
'ukw_certificate' => $legacyJournalist->certificate,
|
||||
'ukw_certificate_doc' => $legacyJournalist->doc_of_certificate,
|
||||
'edit_description' => $legacyJournalist->description_edit,
|
||||
'edit_status' => $legacyJournalist->status_edit,
|
||||
'created_at' => $legacyJournalist->created_at,
|
||||
'updated_at' => $legacyJournalist->updated_at,
|
||||
'deleted_at' => $legacyJournalist->deleted_at,
|
||||
'media_id' => $legacyJournalist->media,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
65
resources/views/dashboard/journalists/index.blade.php
Normal file
65
resources/views/dashboard/journalists/index.blade.php
Normal file
@ -0,0 +1,65 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'journalists'])
|
||||
@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>
|
||||
<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="journalistsTable" border="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 10% !important;">No</th>
|
||||
<th>Nama Jurnalis</th>
|
||||
<th>Perusahaan</th>
|
||||
<th>Email</th>
|
||||
<th>No Telepon</th>
|
||||
<th>Status</th>
|
||||
<th>Status Edit</th>
|
||||
<th style="width: 10% !important;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content @e -->
|
||||
@include('partials.dashboard.footer' ,['datatable' => 'journalist'])
|
||||
130
resources/views/dashboard/journalists/show.blade.php
Normal file
130
resources/views/dashboard/journalists/show.blade.php
Normal file
@ -0,0 +1,130 @@
|
||||
@include('partials.dashboard.head')
|
||||
@include('partials.dashboard.sidebar', ['page' => 'journalists'])
|
||||
@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 Jurnalis</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 Jurnalis</span>
|
||||
<span class="profile-ud-value">{{$journalist->name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Email</span>
|
||||
<span class="profile-ud-value">{{$journalist->email}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Nomor Telepon</span>
|
||||
<span class="profile-ud-value">{{$journalist->email}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Kartu Pers</span>
|
||||
<span class="profile-ud-value">
|
||||
@if ($journalist->press_card_doc)
|
||||
<a href="{{asset('storage/uploads/companies/'. $journalist->press_card_doc)}}" target="__blank">{{$journalist->press_card}}</a>
|
||||
@else
|
||||
{{$journalist->press_card ?? '-'}}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Sertifikat UKW</span>
|
||||
<span class="profile-ud-value">
|
||||
@if ($journalist->ukw_sertificate_doc)
|
||||
<a href="{{asset('storage/uploads/companies/'. $journalist->ukw_sertificate_doc)}}" target="__blank">{{$journalist->ukw_sertificate}}</a>
|
||||
@else
|
||||
{{$journalist->ukw_sertificate ?? '-'}}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-ud-item">
|
||||
<div class="profile-ud wider">
|
||||
<span class="profile-ud-label">Status</span>
|
||||
@switch($journalist->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($journalist->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">
|
||||
{!!$journalistMonitoring->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.journalists.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($journalistMonitoring->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])
|
||||
@ -41,7 +41,8 @@
|
||||
autoWidth: false,
|
||||
order: [[5, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -68,7 +69,8 @@
|
||||
autoWidth: false,
|
||||
order: [[5, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -94,7 +96,8 @@
|
||||
autoWidth: false,
|
||||
order: [[5, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -121,7 +124,8 @@
|
||||
autoWidth: false,
|
||||
order: [[5, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -145,7 +149,8 @@
|
||||
autoWidth: false,
|
||||
order: [[3, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -172,7 +177,8 @@
|
||||
autoWidth: false,
|
||||
order: [[6, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -196,7 +202,8 @@
|
||||
autoWidth: false,
|
||||
order: [[3, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -227,7 +234,8 @@
|
||||
autoWidth: false,
|
||||
order: [[10, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -258,7 +266,39 @@
|
||||
autoWidth: false,
|
||||
order: [[10, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
@if ($datatable === 'journalist')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#journalistsTable').DataTable({
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
ajax: '{{ route('dashboard.journalists.data') }}',
|
||||
columns: [
|
||||
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
|
||||
{ data: 'journalist_name', name: 'journalist_name' },
|
||||
{ data: 'company_name', name: 'company_name' },
|
||||
{ data: 'email', name: 'email' },
|
||||
{ data: 'phone_number', name: 'phone_number' },
|
||||
{ data: 'status', name: 'status' },
|
||||
{ data: 'status_edit', name: 'status_edit' },
|
||||
{ data: 'action', name: 'action', orderable: false, searchable: false },
|
||||
{ data: 'created_at', name: 'created_at', visible: false },
|
||||
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
|
||||
],
|
||||
language: datatableLanguage,
|
||||
autoWidth: false,
|
||||
order: [[8, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
// dom: '<"top d-flex justify-content-between"l f>rt<"bottom d-flex justify-content-between"ip>',
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -286,7 +326,8 @@
|
||||
autoWidth: false,
|
||||
order: [[7, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -316,7 +357,8 @@
|
||||
autoWidth: false,
|
||||
order: [[9, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -349,7 +391,8 @@
|
||||
autoWidth: false,
|
||||
order: [[12, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -376,7 +419,8 @@
|
||||
autoWidth: false,
|
||||
order: [[6, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -399,7 +443,8 @@
|
||||
autoWidth: false,
|
||||
order: [[1, 'desc']],
|
||||
pagingType: "simple",
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']]
|
||||
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||
scrollX: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -106,11 +106,14 @@
|
||||
</a>
|
||||
</li><!-- .nk-menu-item -->
|
||||
<li class="nk-menu-item">
|
||||
<a href="javascript:void(0);" class="nk-menu-link">
|
||||
<a href="{{route('dashboard.journalists.index')}}" class="nk-menu-link {{$page === 'journalists' ? 'active-page' : ''}}">
|
||||
<span class="nk-menu-icon"><em class="icon ni ni-user-list"></em></span>
|
||||
<span class="nk-menu-text">Jurnalis</span>
|
||||
</a>
|
||||
</li><!-- .nk-menu-item -->
|
||||
<li class="nk-menu-heading">
|
||||
<h6 class="overline-title text-primary-alt">Kerjasama Eksternal</h6>
|
||||
</li><!-- .nk-menu-item -->
|
||||
<li class="nk-menu-item">
|
||||
<a href="javascript:void(0);" class="nk-menu-link">
|
||||
<span class="nk-menu-icon"><em class="icon ni ni-globe"></em></span>
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
use App\Http\Controllers\Dashboard\DatatableController;
|
||||
use App\Http\Controllers\Dashboard\GovernmentAgencyController;
|
||||
use App\Http\Controllers\Dashboard\IssueManagementController;
|
||||
use App\Http\Controllers\Dashboard\JournalistController;
|
||||
use App\Http\Controllers\Dashboard\LocationController;
|
||||
use App\Http\Controllers\Dashboard\MediaController;
|
||||
use App\Http\Controllers\Dashboard\MediaMonitoringController;
|
||||
@ -177,6 +178,20 @@
|
||||
Route::get('/data', [DatatableController::class, 'media'])->name('data');
|
||||
});
|
||||
|
||||
Route::prefix('journalists')->name('journalists.')->group(function(){
|
||||
Route::controller(JournalistController::class)->group(function(){
|
||||
Route::get('/', 'index')->name('index');
|
||||
Route::get('/create', 'create')->name('create');
|
||||
Route::post('/', 'store')->name('store');
|
||||
Route::get('/{id}/show', 'show')->name('show');
|
||||
Route::get('/{id}/edit', 'edit')->name('edit');
|
||||
Route::put('/{id}', 'update')->name('update');
|
||||
Route::delete('/{id}', 'destroy')->name('destroy');
|
||||
});
|
||||
|
||||
Route::get('/data', [DatatableController::class, 'journalist'])->name('data');
|
||||
});
|
||||
|
||||
Route::prefix('content-recaps')->name('content.recaps.')->group(function(){
|
||||
Route::controller(ContentRecapController::class)->group(function(){
|
||||
Route::get('/', 'index')->name('index');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user