diff --git a/app/Exports/CompanyExport.php b/app/Exports/CompanyExport.php index 80b7649..34947c6 100644 --- a/app/Exports/CompanyExport.php +++ b/app/Exports/CompanyExport.php @@ -10,17 +10,23 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class CompanyExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class CompanyExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $status; + protected $edit_status; + protected $address; + protected $register_year; + protected $register_month; + protected $register_date; public function __construct($status, $edit_status, $address, $register_year, $register_month, $register_date) @@ -32,34 +38,35 @@ public function __construct($status, $edit_status, $address, $register_year, $re $this->register_month = $register_month; $this->register_date = $register_date; } + public function collection() { $query = Company::with(['user']); - if($this->status !== 'all'){ - if($this->status === 'waiting'){ - $query->whereHas('user', function ($q){ + 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){ + } elseif ($this->status === 'accepted') { + $query->whereHas('user', function ($q) { $q->where('status', '1'); }); - }else if($this->status === 'rejected'){ - $query->whereHas('user', function ($q){ + } elseif ($this->status === 'rejected') { + $query->whereHas('user', function ($q) { $q->where('status', '2'); }); } } - if($this->edit_status !== 'all'){ - if($this->edit_status === 'no-edit'){ + if ($this->edit_status !== 'all') { + if ($this->edit_status === 'no-edit') { $query->where('edit_status', '0'); - }elseif($this->edit_status === 'waiting'){ + } elseif ($this->edit_status === 'waiting') { $query->where('edit_status', '1'); - }else if($this->edit_status === 'accepted'){ + } elseif ($this->edit_status === 'accepted') { $query->where('edit_status', '2'); - }else if($this->edit_status === 'rejected'){ + } elseif ($this->edit_status === 'rejected') { $query->where('edit_status', '3'); } } @@ -96,7 +103,7 @@ public function map($company): array 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') + Carbon::parse($company->validated_at)->locale('id')->translatedFormat('l, d F Y'), ]; } @@ -104,7 +111,7 @@ public function headings(): array { return [ ['Data Perusahaan', '', '', '', '', '', '', '', '', ''], - ['NO', 'Nama Perusahaan', 'Email', 'Direktur', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi'] + ['NO', 'Nama Perusahaan', 'Email', 'Direktur', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi'], ]; } diff --git a/app/Exports/ContentRecapExport.php b/app/Exports/ContentRecapExport.php index a661588..76aaef4 100644 --- a/app/Exports/ContentRecapExport.php +++ b/app/Exports/ContentRecapExport.php @@ -10,19 +10,25 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; - -class ContentRecapExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class ContentRecapExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $classification; + protected $channel; + protected $social_media; + protected $content_type; + protected $posted_year; + protected $posted_month; + protected $posted_date; public function __construct($classification, $channel, $social_media, $content_type, $posted_year, $posted_month, $posted_date) @@ -40,19 +46,19 @@ public function collection() { $query = ContentRecap::with(['enhancer', 'classification']); - if($this->classification && $this->classification !== 'all'){ + if ($this->classification && $this->classification !== 'all') { $query->where('classification_id', decrypt_id($this->classification)); } - if($this->channel && $this->channel !== 'all'){ + if ($this->channel && $this->channel !== 'all') { $query->where('channel', $this->channel); } - if($this->social_media && $this->social_media !== 'all'){ + if ($this->social_media && $this->social_media !== 'all') { $query->where('social_media', $this->social_media); } - if($this->content_type && $this->content_type !== 'all'){ + if ($this->content_type && $this->content_type !== 'all') { $query->where('content_type', 'LIKE', '%'.$this->content_type.'%'); } @@ -93,7 +99,7 @@ public function headings(): array { return [ ['Data Rekap Konten', '', '', '', '', '', '', '', '', ''], - ['NO', 'Tema Konten', 'Link', 'Klasifikasi', 'Media Sosial', 'Jenis Konten', 'Tanggal Posting', 'Channel', 'Deskripsi', 'Dibuat Pada'] + ['NO', 'Tema Konten', 'Link', 'Klasifikasi', 'Media Sosial', 'Jenis Konten', 'Tanggal Posting', 'Channel', 'Deskripsi', 'Dibuat Pada'], ]; } diff --git a/app/Exports/CooperationArchiveExport.php b/app/Exports/CooperationArchiveExport.php index b20cfc6..da71330 100644 --- a/app/Exports/CooperationArchiveExport.php +++ b/app/Exports/CooperationArchiveExport.php @@ -11,15 +11,17 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class CooperationArchiveExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class CooperationArchiveExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $year; + protected $month; + protected $date; public function __construct($year, $month, $date) @@ -35,17 +37,17 @@ public function collection() if (is_role(['1'])) { // Hanya untuk role 1: filter kerja sama lebih dari 1 tahun - if (!$this->year && !$this->month && !$this->date) { + if (! $this->year && ! $this->month && ! $this->date) { $query->where('created_at', '<=', Carbon::now()->subYear()); } - } else if (is_role(['3'])) { + } elseif (is_role(['3'])) { $mediaId = Auth::user()->company->media->id; $query->whereHas('proposals', function ($query) use ($mediaId) { - $query->where('status', 1)->where('media_id', $mediaId); - }); + $query->where('status', 1)->where('media_id', $mediaId); + }); - if (!$this->year && !$this->month && !$this->date) { + if (! $this->year && ! $this->month && ! $this->date) { $query->where('created_at', '<=', Carbon::now()->subYear()); } } @@ -83,7 +85,7 @@ public function headings(): array { return [ ['Data Rekap Konten', '', '', '', '', ''], - ['NO', 'Nama Kerja Sama', 'Taanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Dibuat Pada'] + ['NO', 'Nama Kerja Sama', 'Taanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Dibuat Pada'], ]; } diff --git a/app/Exports/CooperationCompletionExport.php b/app/Exports/CooperationCompletionExport.php index d8219ef..7723e22 100644 --- a/app/Exports/CooperationCompletionExport.php +++ b/app/Exports/CooperationCompletionExport.php @@ -3,25 +3,31 @@ namespace App\Exports; use App\Models\CooperationCompletion; -use Maatwebsite\Excel\Concerns\FromCollection; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; +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 CooperationCompletionExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class CooperationCompletionExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $media; + protected $status; + protected $year; + protected $from_month; + protected $to_month; + protected $date; public function __construct($media, $status, $year, $from_month, $to_month, $date) @@ -36,19 +42,19 @@ public function __construct($media, $status, $year, $from_month, $to_month, $dat public function collection() { - if(is_role(['1', '5'])){ + if (is_role(['1', '5'])) { $query = CooperationCompletion::with(['media.company']); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $mediaId = Auth::user()->company->media->id; $query = CooperationCompletion::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId); } - if (!empty($this->media[0])) { + if (! empty($this->media[0])) { $query->whereIn('media_id', $this->media); } if ($this->status) { - switch($this->status){ + switch ($this->status) { case 'waiting': $query->where('status', '0'); break; @@ -95,7 +101,7 @@ public function headings(): array { return [ ['Penyelesaian Kerja Sama', '', '', '', '', ''], - ['NO', 'Nama Kerja Sama', 'Media', 'Perusahaan', 'Tanggal Upload', 'Status'] + ['NO', 'Nama Kerja Sama', 'Media', 'Perusahaan', 'Tanggal Upload', 'Status'], ]; } diff --git a/app/Exports/CooperationExport.php b/app/Exports/CooperationExport.php index ade99a5..2380a25 100644 --- a/app/Exports/CooperationExport.php +++ b/app/Exports/CooperationExport.php @@ -3,7 +3,6 @@ namespace App\Exports; use App\Models\Cooperation; -use App\Models\Media; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Concerns\FromCollection; @@ -12,15 +11,17 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class CooperationExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class CooperationExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $year; + protected $month; + protected $date; public function __construct($year, $month, $date) @@ -39,7 +40,7 @@ public function collection() $query->whereHas('proposals', function ($q) use ($mediaId) { $q->where('status', 1) - ->where('media_id', $mediaId); + ->where('media_id', $mediaId); }); } @@ -77,7 +78,7 @@ public function headings(): array { return [ ['Data Rekap Konten', '', '', '', '', '', ''], - ['NO', 'Nama Kerja Sama', 'Tanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Media', 'Dibuat Pada'] + ['NO', 'Nama Kerja Sama', 'Tanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Media', 'Dibuat Pada'], ]; } diff --git a/app/Exports/JournalistExport.php b/app/Exports/JournalistExport.php index d6ce346..ecdc19a 100644 --- a/app/Exports/JournalistExport.php +++ b/app/Exports/JournalistExport.php @@ -10,18 +10,23 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class JournalistExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class JournalistExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $media_ids; + protected $status; + protected $edit_status; + protected $register_year; + protected $register_month; + protected $register_date; public function __construct($media_ids, $status, $edit_status, $register_year, $register_month, $register_date) @@ -36,17 +41,17 @@ public function __construct($media_ids, $status, $edit_status, $register_year, $ public function collection() { - $query = Journalist::with(['media' => function($q) { + $query = Journalist::with(['media' => function ($q) { $q->withTrashed(); - }, 'media.company' => function($q) { + }, 'media.company' => function ($q) { $q->withTrashed(); - }, 'media.company.user' => function($q) { + }, 'media.company.user' => function ($q) { $q->withTrashed(); }]) - ->where('approved_status', '1') - ->whereNull('deleted_at'); + ->where('approved_status', '1') + ->whereNull('deleted_at'); - if (is_array($this->media_ids) && !in_array('all', $this->media_ids)) { + if (is_array($this->media_ids) && ! in_array('all', $this->media_ids)) { $query->whereIn('media_id', array_map('decrypt_id', $this->media_ids)); } @@ -66,14 +71,14 @@ public function collection() } } - if($this->edit_status !== 'all'){ - if($this->edit_status === 'no-edit'){ + if ($this->edit_status !== 'all') { + if ($this->edit_status === 'no-edit') { $query->where('edit_status', '0'); - }elseif($this->edit_status === 'waiting'){ + } elseif ($this->edit_status === 'waiting') { $query->where('edit_status', '1'); - }else if($this->edit_status === 'accepted'){ + } elseif ($this->edit_status === 'accepted') { $query->where('edit_status', '2'); - }else if($this->edit_status === 'rejected'){ + } elseif ($this->edit_status === 'rejected') { $query->where('edit_status', '3'); } } @@ -113,7 +118,7 @@ public function headings(): array { return [ ['Data Jurnalis', '', '', '', '', '', '', ''], - ['NO', 'Nama Jurnalis', 'Nama Media', 'Nama Perusahaan', 'Email', 'Status', 'Status Edit', 'Tanggal Daftar'] + ['NO', 'Nama Jurnalis', 'Nama Media', 'Nama Perusahaan', 'Email', 'Status', 'Status Edit', 'Tanggal Daftar'], ]; } diff --git a/app/Exports/MediaExport.php b/app/Exports/MediaExport.php index 8e135f0..0777822 100644 --- a/app/Exports/MediaExport.php +++ b/app/Exports/MediaExport.php @@ -10,20 +10,27 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class MediaExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class MediaExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @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) @@ -42,52 +49,52 @@ public function collection() { $query = Media::with(['company.user']); - if($this->type !== 'all'){ - if($this->type === 'online'){ + if ($this->type !== 'all') { + if ($this->type === 'online') { $query->where('type', 'online'); - }elseif($this->type === 'print'){ + } elseif ($this->type === 'print') { $query->where('type', 'cetak'); - }else if($this->type === 'radio'){ + } elseif ($this->type === 'radio') { $query->where('type', 'radio'); - }else if($this->type === 'television'){ + } elseif ($this->type === 'television') { $query->where('type', 'televisi'); } } - if($this->classification !== 'all'){ - if($this->classification === 'local'){ + if ($this->classification !== 'all') { + if ($this->classification === 'local') { $query->where('classification', 'lokal'); - }elseif($this->classification === 'regional'){ + } elseif ($this->classification === 'regional') { $query->where('classification', 'regional'); - }else if($this->classification === 'national'){ + } elseif ($this->classification === 'national') { $query->where('classification', 'nasional'); } } - if($this->status !== 'all'){ - if($this->status === 'waiting'){ - $query->whereHas('user', function ($q){ + 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){ + } elseif ($this->status === 'accepted') { + $query->whereHas('user', function ($q) { $q->where('status', '1'); }); - }else if($this->status === 'rejected'){ - $query->whereHas('user', function ($q){ + } elseif ($this->status === 'rejected') { + $query->whereHas('user', function ($q) { $q->where('status', '2'); }); } } - if($this->edit_status !== 'all'){ - if($this->edit_status === 'no-edit'){ + if ($this->edit_status !== 'all') { + if ($this->edit_status === 'no-edit') { $query->where('edit_status', '0'); - }elseif($this->edit_status === 'waiting'){ + } elseif ($this->edit_status === 'waiting') { $query->where('edit_status', '1'); - }else if($this->edit_status === 'accepted'){ + } elseif ($this->edit_status === 'accepted') { $query->where('edit_status', '2'); - }else if($this->edit_status === 'rejected'){ + } elseif ($this->edit_status === 'rejected') { $query->where('edit_status', '3'); } } @@ -126,7 +133,7 @@ public function map($media): array 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') + Carbon::parse($media->company->validated_at)->locale('id')->translatedFormat('l, d F Y'), ]; } @@ -134,7 +141,7 @@ public function headings(): array { return [ ['Data Media', '', '', '', '', '', '', '', '', '', '', ''], - ['NO', 'Nama Media', 'Nama Perusahaan', 'Email', 'Tipe', 'Klasifikasi', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi'] + ['NO', 'Nama Media', 'Nama Perusahaan', 'Email', 'Tipe', 'Klasifikasi', 'Alamat', 'Status', 'Status Edit', 'Tanggal Daftar', 'Tanggal Validasi'], ]; } diff --git a/app/Exports/MediaMonitoringExport.php b/app/Exports/MediaMonitoringExport.php index 8f3352e..9f22011 100644 --- a/app/Exports/MediaMonitoringExport.php +++ b/app/Exports/MediaMonitoringExport.php @@ -10,22 +10,31 @@ use Maatwebsite\Excel\Concerns\WithStyles; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; -class MediaMonitoringExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class MediaMonitoringExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $news_title; + protected $channel; + protected $issue_status; + protected $keyword; + protected $input_year; + protected $input_month; + protected $input_date; + protected $release_year; + protected $release_month; + protected $release_date; public function __construct($news_title, $channel, $issue_status, $keyword, $input_year, $input_month, $input_date, $release_year, $release_month, $release_date) @@ -46,55 +55,55 @@ public function collection() { $query = MediaMonitoring::with(['enhancer', 'issue']); - if($this->news_title){ - $query->where('title', 'LIKE', '%'. $this->news_title.'%'); - } + if ($this->news_title) { + $query->where('title', 'LIKE', '%'.$this->news_title.'%'); + } - if($this->channel && $this->channel !== 'all'){ - $query->where('channel', $this->channel); - } + if ($this->channel && $this->channel !== 'all') { + $query->where('channel', $this->channel); + } - if ($this->issue_status && $this->issue_status !== 'all') { - if ($this->issue_status === 'added') { - $query->whereHas('issue'); - } elseif ($this->issue_status === 'not_added') { - $query->whereDoesntHave('issue'); - } + if ($this->issue_status && $this->issue_status !== 'all') { + if ($this->issue_status === 'added') { + $query->whereHas('issue'); + } elseif ($this->issue_status === 'not_added') { + $query->whereDoesntHave('issue'); } + } - if($this->keyword){ - $query->where('keyword', 'LIKE', '%'. $this->keyword.'%'); - } + if ($this->keyword) { + $query->where('keyword', 'LIKE', '%'.$this->keyword.'%'); + } - if ($this->input_year) { - $query->whereYear('created_at', $this->input_year); - } + if ($this->input_year) { + $query->whereYear('created_at', $this->input_year); + } - if ($this->input_month) { - $monthYear = Carbon::parse($this->input_month); - $query->whereYear('created_at', $monthYear->year) - ->whereMonth('created_at', $monthYear->month); - } + if ($this->input_month) { + $monthYear = Carbon::parse($this->input_month); + $query->whereYear('created_at', $monthYear->year) + ->whereMonth('created_at', $monthYear->month); + } - if ($this->input_date) { - $query->whereDate('created_at', $this->input_date); - } + if ($this->input_date) { + $query->whereDate('created_at', $this->input_date); + } - if ($this->release_year) { - $query->whereYear('release_date', $this->release_year); - } + if ($this->release_year) { + $query->whereYear('release_date', $this->release_year); + } - if ($this->release_month) { - $monthYear = Carbon::parse($this->release_month); - $query->whereYear('release_date', $monthYear->year) - ->whereMonth('release_date', $monthYear->month); - } + if ($this->release_month) { + $monthYear = Carbon::parse($this->release_month); + $query->whereYear('release_date', $monthYear->year) + ->whereMonth('release_date', $monthYear->month); + } - if ($this->release_date) { - $query->whereDate('release_date', $this->release_date); - } + if ($this->release_date) { + $query->whereDate('release_date', $this->release_date); + } - return $query->get(); + return $query->get(); } public function map($mediaMonitoring): array @@ -123,7 +132,7 @@ public function headings(): array return [ ['Data Monitoring Media', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['NO', 'Kode', 'Judul Berita', 'Media', 'Tema', 'Penulis', 'Channel', 'Kata Kunci', 'Influencer', 'Link', 'Halaman Berita', 'Tanggal Rilis', 'Status Isu', 'Oleh', - 'Tanggal Input'] + 'Tanggal Input'], ]; } diff --git a/app/Exports/NewsExport.php b/app/Exports/NewsExport.php index 1c24cd7..49fdee6 100644 --- a/app/Exports/NewsExport.php +++ b/app/Exports/NewsExport.php @@ -4,23 +4,25 @@ use App\Models\News; use Carbon\Carbon; -use Illuminate\Support\Facades\Log; 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 NewsExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class NewsExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $category; + protected $year; + protected $month; + protected $date; public function __construct($category, $year, $month, $date) @@ -30,14 +32,15 @@ public function __construct($category, $year, $month, $date) $this->month = $month; $this->date = $date; } + public function collection() { $query = News::query(); - if($this->category !== 'all'){ - if($this->category === 'news'){ + if ($this->category !== 'all') { + if ($this->category === 'news') { $query->where('category', '0'); - }else if($this->category === 'announcement'){ + } elseif ($this->category === 'announcement') { $query->where('category', '1'); } } @@ -67,7 +70,7 @@ public function map($news): array $news->link ?? 'Tidak ada', $news->tag ?? 'Tidak ada', $news->category === '0' ? 'Berita' : 'Pengumuman', - $news->views == '0'? '0' : $news->views, + $news->views == '0' ? '0' : $news->views, Carbon::parse($news->created_at)->locale('id')->translatedFormat('l, d F Y'), $news->author->name, ]; @@ -77,7 +80,7 @@ public function headings(): array { return [ ['Data Berita', '', '', '', '', '', '', ''], - ['NO', 'Judul', 'Link', 'Tag', 'Kategori', 'Dilihat', 'Dibuat Pada', 'Dibuat Oleh'] + ['NO', 'Judul', 'Link', 'Tag', 'Kategori', 'Dilihat', 'Dibuat Pada', 'Dibuat Oleh'], ]; } diff --git a/app/Exports/ReportExport.php b/app/Exports/ReportExport.php index 768de4a..5bd5ebd 100644 --- a/app/Exports/ReportExport.php +++ b/app/Exports/ReportExport.php @@ -3,26 +3,31 @@ namespace App\Exports; use App\Models\Report; -use Maatwebsite\Excel\Concerns\FromCollection; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; +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 ReportExport implements FromCollection, WithHeadings, WithStyles, WithMapping +class ReportExport implements FromCollection, WithHeadings, WithMapping, WithStyles { /** - * @return \Illuminate\Support\Collection - */ - + * @return \Illuminate\Support\Collection + */ protected $no = 1; + protected $media; + protected $status; + protected $year; + protected $from_month; + protected $to_month; + protected $date; public function __construct($media, $status, $year, $from_month, $to_month, $date) @@ -37,19 +42,19 @@ public function __construct($media, $status, $year, $from_month, $to_month, $dat public function collection() { - if(is_role(['1', '5'])){ + if (is_role(['1', '5'])) { $query = Report::with(['media.company', 'order.cooperation']); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $mediaId = Auth::user()->company->media->id; $query = Report::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId); } - if (!empty($this->media) && is_array($this->media)) { + if (! empty($this->media) && is_array($this->media)) { $query->whereIn('media_id', $this->media); } if ($this->status) { - switch($this->status){ + switch ($this->status) { case 'waiting': $query->where('status', '0'); break; @@ -97,7 +102,7 @@ public function headings(): array { return [ ['Laporan Bukti Tayang', '', '', '', '', '', '', ''], - ['NO', 'Nama Kerja Sama', 'Media', 'Perusahaan', 'Tanggal Upload', 'Tanggal Melaporkan', 'Status'] + ['NO', 'Nama Kerja Sama', 'Media', 'Perusahaan', 'Tanggal Upload', 'Tanggal Melaporkan', 'Status'], ]; } diff --git a/app/Helpers/CustomHelper.php b/app/Helpers/CustomHelper.php index 1afc6a2..9bf3698 100644 --- a/app/Helpers/CustomHelper.php +++ b/app/Helpers/CustomHelper.php @@ -2,12 +2,10 @@ use App\Models\Media; use App\Models\User; -use App\Settings\AppSettings; use Carbon\Carbon; use Hashids\Hashids; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\File; -use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; @@ -129,8 +127,8 @@ function store_file($file = null, $path = null, $disk = 'public') { if (filled($file) && $file && $file instanceof \Illuminate\Http\UploadedFile) { - $randomFilename = Str::random(35) . time() . '.' . $file->getClientOriginalExtension(); - $originalFileName = Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME)) . '.' . $file->getClientOriginalExtension(); + $randomFilename = Str::random(35).time().'.'.$file->getClientOriginalExtension(); + $originalFileName = Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME)).'.'.$file->getClientOriginalExtension(); $file->storeAs($path, $randomFilename, $disk); @@ -149,16 +147,16 @@ function store_file($file = null, $path = null, $disk = 'public') } } -if (!function_exists('display_file')) { +if (! function_exists('display_file')) { function display_file($dir, $filename) { $path = storage_path("app/public/uploads/{$dir}/{$filename}"); - if (!filled($filename)) { + if (! filled($filename)) { return '

Belum ditambahkan.

'; } - if (!file_exists($path)) { + if (! file_exists($path)) { return '

File tidak ditemukan.

'; } @@ -179,10 +177,11 @@ function display_file($dir, $filename) function delete_file($path) { // Menggunakan public_path untuk file yang berada di dalam storage/public - $fullPath = public_path('storage/' . $path); + $fullPath = public_path('storage/'.$path); if (File::exists($fullPath)) { File::delete($fullPath); + return true; } @@ -193,11 +192,11 @@ function delete_file($path) if (! function_exists('is_file_exists')) { function is_file_exists($path) { - return File::exists(public_path('storage/' . $path)); + return File::exists(public_path('storage/'.$path)); } } -if (!function_exists('get_role_name')) { +if (! function_exists('get_role_name')) { function get_role_name($role = null) { @@ -207,26 +206,26 @@ function get_role_name($role = null) switch ($role) { case '1': - return "Administrator"; + return 'Administrator'; case '2': - return "Admin Monitoring"; + return 'Admin Monitoring'; case '3': - return "Perusahaan"; + return 'Perusahaan'; case '4': - return "Admin Konten"; + return 'Admin Konten'; case '5': - return "Admin Keuangan"; + return 'Admin Keuangan'; default: - return "Role Tidak Dikenal"; + return 'Role Tidak Dikenal'; } } } -if (!function_exists('shorten_text')) { +if (! function_exists('shorten_text')) { function shorten_text($text, $maxLength = 100) { if (strlen($text) > $maxLength) { - return substr($text, 0, $maxLength) . '...'; + return substr($text, 0, $maxLength).'...'; } return $text; @@ -239,6 +238,7 @@ function is_role($roles) if (Auth::check()) { return in_array(Auth::user()->role_id, (array) $roles) || Auth::user()->role_id === '4'; } + return false; } } @@ -247,6 +247,7 @@ function is_role($roles) function encrypt_id($id) { $hashids = new Hashids('alwayssaybismillahirrahmanirrahim', 15); + return $hashids->encode($id); } } @@ -256,18 +257,19 @@ function decrypt_id($hash) { $hashids = new Hashids('alwayssaybismillahirrahmanirrahim', 15); $result = $hashids->decode($hash); + return $result ? $result[0] : null; } } -if (!function_exists('idn_date')) { +if (! function_exists('idn_date')) { function idn_date($tanggal, $format = 'd F Y') { return Carbon::parse($tanggal)->locale('id')->translatedFormat($format); } } -if (!function_exists('get_user_status')) { +if (! function_exists('get_user_status')) { function get_user_status($status) { switch ($status) { @@ -278,12 +280,12 @@ function get_user_status($status) case '2': return 'Ditolak'; default: - return "Tidak Diketahui"; + return 'Tidak Diketahui'; } } } -if (!function_exists('get_edit_status')) { +if (! function_exists('get_edit_status')) { function get_edit_status($status) { switch ($status) { @@ -296,7 +298,7 @@ function get_edit_status($status) case '3': return 'Ditolak'; default: - return "Tidak Diketahui"; + return 'Tidak Diketahui'; } } } @@ -309,6 +311,7 @@ function get_cooperation_notif() $mediaId = $user->company->media->id; $media = Media::with('cooperations')->findOrFail($mediaId); + return $media->cooperations() ->where('start_date', '<=', Carbon::now()->locale('id')->toDateString()) ->where('end_date', '>=', Carbon::now()->locale('id')->toDateString()) @@ -334,6 +337,7 @@ function get_unread_announcements() $userId = $user->id; $user = User::with('announcements')->findOrFail($userId); + return $user->announcements() ->wherePivot('status', '=', '0') ->count(); @@ -365,7 +369,7 @@ function display_image($name, $dir = 'defaults', $default = 'default.jpg') } } -if (!function_exists('get_user_agent')) { +if (! function_exists('get_user_agent')) { function get_user_agent($userAgentParam): array { $userAgent = $userAgentParam; @@ -442,7 +446,7 @@ function titlefy($text) } } -if (!function_exists('get_activity_log_name')) { +if (! function_exists('get_activity_log_name')) { function get_activity_log_name($name) { @@ -450,97 +454,97 @@ function get_activity_log_name($name) case 'airing_proof_theme': return [ 'name' => 'Tema Bukti Tayang', - 'route' => 'dashboard.airing.proof.themes.show' + 'route' => 'dashboard.airing.proof.themes.show', ]; case 'announcement': return [ 'name' => 'Pengumuman', - 'route' => 'dashboard.announcements.show' + 'route' => 'dashboard.announcements.show', ]; case 'classification': return [ 'name' => 'Klasifikasi', - 'route' => 'dashboard.classifications.show' + 'route' => 'dashboard.classifications.show', ]; case 'content_recap': return [ 'name' => 'Rekap Konten', - 'route' => 'dashboard.content.recaps.show' + 'route' => 'dashboard.content.recaps.show', ]; case 'content_recap_classification': return [ 'name' => 'Klasifikasi Rekap Konten', - 'route' => 'dashboard.content.recap.classifications.show' + 'route' => 'dashboard.content.recap.classifications.show', ]; case 'cooperation': return [ 'name' => 'Kerja Sama', - 'route' => 'dashboard.cooperations.show' + 'route' => 'dashboard.cooperations.show', ]; case 'cooperation_completion': return [ 'name' => 'Penyelesaian Kerja Sama', - 'route' => 'dashboard.cooperation.completions.show' + 'route' => 'dashboard.cooperation.completions.show', ]; case 'cooperation_proposal': return [ 'name' => 'Pengajuan Kerja Sama', - 'route' => 'dashboard.cooperations.media.proposal.show' + 'route' => 'dashboard.cooperations.media.proposal.show', ]; case 'government_agency': return [ 'name' => 'OPD', - 'route' => 'dashboard.government.agencies.show' + 'route' => 'dashboard.government.agencies.show', ]; case 'issue_management': return [ 'name' => 'Manajemen Isu', - 'route' => 'dashboard.issue.managements.show' + 'route' => 'dashboard.issue.managements.show', ]; case 'location': return [ 'name' => 'Location', - 'route' => 'dashboard.locations.show' + 'route' => 'dashboard.locations.show', ]; case 'media_monitoring': return [ 'name' => 'Monitoring Media', - 'route' => 'dashboard.media.monitorings.show' + 'route' => 'dashboard.media.monitorings.show', ]; case 'news': return [ 'name' => 'Berita', - 'route' => 'dashboard.news.show' + 'route' => 'dashboard.news.show', ]; case 'order': return [ 'name' => 'Media Order', - 'route' => 'dashboard.media.orders.show' + 'route' => 'dashboard.media.orders.show', ]; case 'airing_proof_report': return [ 'name' => 'Laporan Bukti Tayang', - 'route' => 'dashboard.reports.show' + 'route' => 'dashboard.reports.show', ]; case 'user_role': return [ 'name' => 'Hak Akses', - 'route' => 'dashboard.role.index' + 'route' => 'dashboard.role.index', ]; case 'sub_classification': return [ 'name' => 'Sub Klasifikasi', - 'route' => 'dashboard.sub.classifications.show' + 'route' => 'dashboard.sub.classifications.show', ]; case 'sub_location': return [ 'name' => 'Sub Lokasi', - 'route' => 'dashboard.sub.locations.show' + 'route' => 'dashboard.sub.locations.show', ]; default: return [ 'name' => 'Tidak Valid', - 'route' => null + 'route' => null, ]; } } diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 03fd950..527ddbe 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -17,7 +17,7 @@ class AuthController extends Controller public function login() { return view('auth.login', [ - 'title' => 'Masuk' + 'title' => 'Masuk', ]); } @@ -27,6 +27,7 @@ public function loginAction(LoginRequest $request) if (Auth::attempt(['email' => $validatedData['email'], 'password' => $validatedData['password']])) { $request->session()->regenerate(); + return redirect()->intended('/dashboard/overview'); } else { return redirect()->back()->with('failed-status', 'Pastikan data dan akun sudah terdaftar.'); @@ -37,7 +38,7 @@ public function register() { return view('auth.register', [ 'title' => 'Daftar', - 'sample' => "Hai" + 'sample' => 'Hai', ]); } @@ -103,7 +104,7 @@ public function registerAction(RegisterRequest $request) $mediaFiles = [ 'media_journalism_organization_doc', - 'media_press_council_certificate_doc' + 'media_press_council_certificate_doc', ]; $mediaFileNames = []; @@ -130,7 +131,7 @@ public function registerAction(RegisterRequest $request) $journalistFiles = [ 'journalist_press_card_doc', - 'journalist_ukw_sertificate_doc' + 'journalist_ukw_sertificate_doc', ]; $journalistFileNames = []; @@ -148,12 +149,13 @@ public function registerAction(RegisterRequest $request) 'phone_number' => $validatedData['journalist_phone_number'], 'press_card' => $validatedData['journalist_press_card'], 'press_card_doc' => $journalistFileNames['journalist_press_card_doc'], - 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], + 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], 'ukw_sertificate_doc' => $journalistFileNames['journalist_ukw_sertificate_doc'], 'media_id' => $createdMedia->id, ]); DB::commit(); + return redirect()->route('auth.register.success'); } catch (\Exception $e) { DB::rollBack(); @@ -165,7 +167,7 @@ public function registerAction(RegisterRequest $request) public function registerSuccess() { return view('auth.register-success', [ - 'title' => 'Daftar Berhasil' + 'title' => 'Daftar Berhasil', ]); } diff --git a/app/Http/Controllers/Dashboard/AiringProofThemeController.php b/app/Http/Controllers/Dashboard/AiringProofThemeController.php index a08c452..b6ac1fc 100644 --- a/app/Http/Controllers/Dashboard/AiringProofThemeController.php +++ b/app/Http/Controllers/Dashboard/AiringProofThemeController.php @@ -9,82 +9,91 @@ class AiringProofThemeController extends Controller { - public function index(){ + public function index() + { return view('dashboard.airing-proof-themes.index', [ - 'title' => "Data Tema Bukti Tayang" + 'title' => 'Data Tema Bukti Tayang', ]); } - public function create(){ + public function create() + { return view('dashboard.airing-proof-themes.create', [ - 'title' => "Buat Tema Bukti Tayang Baru" + 'title' => 'Buat Tema Bukti Tayang Baru', ]); } - public function store(AiringProofThemeRequest $request){ + public function store(AiringProofThemeRequest $request) + { $validatedData = $request->validated(); - - try{ + try { $slug = $validatedData['slug']; $existing = AiringProofTheme::withTrashed() - ->where('slug', $slug) - ->first(); + ->where('slug', $slug) + ->first(); if ($existing?->trashed()) { return redirect()->back()->with('data-exists', $slug); } elseif ($existing) { return redirect()->back() - ->with('failed-status', 'Tema dengan nama dan tahun tersebut sudah ada.'); + ->with('failed-status', 'Tema dengan nama dan tahun tersebut sudah ada.'); } $createdAiringProofTheme = AiringProofTheme::create($validatedData); - }catch(\Exception $e){ - Log::error("Airing Proof Themes (store): ". $e); + } catch (\Exception $e) { + Log::error('Airing Proof Themes (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal membuat tema bukti tayang baru.'); } return redirect()->route('dashboard.airing.proof.themes.index')->with('success-status', 'Berhasil membuat tema bukti tayang baru.')->with('new_data', encrypt_id($createdAiringProofTheme->id)); } - public function edit($id){ + public function edit($id) + { $airingProofTheme = AiringProofTheme::findOrFail(decrypt_id($id)); return view('dashboard.airing-proof-themes.edit', [ - 'title' => "Ubah Tema Bukti Tayang", - 'airingProofTheme' => $airingProofTheme + 'title' => 'Ubah Tema Bukti Tayang', + 'airingProofTheme' => $airingProofTheme, ]); } - public function update(AiringProofThemeRequest $request, $id){ + public function update(AiringProofThemeRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $airingProofTheme = AiringProofTheme::findOrFail(decrypt_id($id)); $airingProofTheme->update($validatedData); - }catch(\Exception $e){ - Log::error("Airing Proof Themes (update): ". $e); + } catch (\Exception $e) { + Log::error('Airing Proof Themes (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah tema bukti tayang.'); } return redirect()->route('dashboard.airing.proof.themes.show', ['id' => encrypt_id($airingProofTheme->id)])->with('success-status', 'Berhasil mengubah tema bukti tayang.'); } - public function show($id){ + public function show($id) + { $airingProofTheme = AiringProofTheme::findOrFail(decrypt_id($id)); return view('dashboard.airing-proof-themes.show', [ - 'title' => "Detail Tema Bukti Tayang", - 'airingProofTheme' => $airingProofTheme + 'title' => 'Detail Tema Bukti Tayang', + 'airingProofTheme' => $airingProofTheme, ]); } - public function destroy($id){ + public function destroy($id) + { try { $airingProofTheme = AiringProofTheme::findOrFail(decrypt_id($id)); $airingProofTheme->delete(); } catch (\Exception $e) { - Log::error("Airing Proof Themes (destroy): ". $e); + Log::error('Airing Proof Themes (destroy): '.$e); + return response()->json(['message' => 'Gagal menghapus tema bukti tayang.'], 500); } @@ -93,25 +102,26 @@ public function destroy($id){ public function restore($slug) { - try{ + try { $airingProofTheme = AiringProofTheme::withTrashed() - ->where('slug', $slug) - ->first(); + ->where('slug', $slug) + ->first(); - if (!$airingProofTheme) { + if (! $airingProofTheme) { return redirect()->back()->with('failed-status', 'Tema tidak ditemukan.'); } if (filled($airingProofTheme->deleted_at)) { $airingProofTheme->restore(); + return redirect()->route('dashboard.airing.proof.themes.index')->with('success-status', 'Tema berhasil dipulihkan.'); } - }catch(\Exception $e){ - Log::error("Airing Proof Themes (restore): ". $e); + } catch (\Exception $e) { + Log::error('Airing Proof Themes (restore): '.$e); + return redirect()->back()->with('failed-status', 'Proses pemulihan gagal.'); } return redirect()->back()->with('info-status', 'Tema sudah aktif.'); } - } diff --git a/app/Http/Controllers/Dashboard/AnnouncementController.php b/app/Http/Controllers/Dashboard/AnnouncementController.php index a9136ef..c04ddf3 100644 --- a/app/Http/Controllers/Dashboard/AnnouncementController.php +++ b/app/Http/Controllers/Dashboard/AnnouncementController.php @@ -5,7 +5,6 @@ use App\Http\Controllers\Controller; use App\Http\Requests\AnnouncementRequest; use App\Models\Announcement; -use App\Models\Media; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -14,75 +13,81 @@ class AnnouncementController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { $data = [ 'title' => 'Pengumuman', - 'category' => $request->input('category', 'general') + 'category' => $request->input('category', 'general'), ]; - if(is_role(['1'])){ + if (is_role(['1'])) { return view('dashboard.announcements.index', $data); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { return view('dashboard.announcements.media.index', $data); } } - public function create(){ + public function create() + { return view('dashboard.announcements.create', [ 'title' => 'Buat Pengumuman Baru', - 'users' => User::all() + 'users' => User::all(), ]); } - public function store(AnnouncementRequest $request){ + public function store(AnnouncementRequest $request) + { $validatedData = $request->validated(); - try{ - if($request->hasFile('attachment')){ + try { + if ($request->hasFile('attachment')) { $validatedData['attachment'] = store_file($validatedData['attachment'], '/uploads/announcements')['randomFileName']; } - $announcement = DB::transaction(function() use ($validatedData){ + $announcement = DB::transaction(function () use ($validatedData) { $announcement = Announcement::create($validatedData); $announcement->users()->attach($validatedData['user_ids']); - if($announcement->users()->count() < 1){ - throw new \Exception("Data tidak valid."); + if ($announcement->users()->count() < 1) { + throw new \Exception('Data tidak valid.'); } return $announcement; }); - }catch(\Exception $e){ - Log::error("Announcements (store): ". $e); + } catch (\Exception $e) { + Log::error('Announcements (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal membuat pengumuman baru'); } return redirect()->route('dashboard.announcements.index')->with('success-status', 'Berhasil membuat pengumuman baru.')->with('new_data', encrypt_id($announcement->id)); } - public function edit($id){ + public function edit($id) + { $announcement = Announcement::with(['users'])->findOrFail(decrypt_id($id)); return view('dashboard.announcements.edit', [ 'title' => 'Ubah Pengumuman', 'announcement' => $announcement, 'users' => User::all(), - 'selectedUsersIds' => $announcement->users->pluck('id')->toArray() + 'selectedUsersIds' => $announcement->users->pluck('id')->toArray(), ]); } - public function update(AnnouncementRequest $request, $id){ + public function update(AnnouncementRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $announcement = Announcement::with(['users'])->findOrFail(decrypt_id($id)); - DB::transaction(function () use($request, $validatedData, $announcement){ - if($request->hasFile('attachment')){ + DB::transaction(function () use ($request, $validatedData, $announcement) { + if ($request->hasFile('attachment')) { $validatedData['attachment'] = store_file($validatedData['attachment'], 'uploads/announcements')['randomFileName']; delete_file('uploads/announcements/'.$announcement->attachment); - }else{ + } else { $validatedData['attachment'] = $announcement->attachment; } @@ -96,16 +101,18 @@ public function update(AnnouncementRequest $request, $id){ $announcement->users()->sync($mediaData); } }); - }catch(\Exception $e){ - Log::error("Announcements (update): ". $e); + } catch (\Exception $e) { + Log::error('Announcements (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah pengumuman.'); } return redirect()->route('dashboard.announcements.show', ['id' => encrypt_id($announcement->id)])->with('success-status', 'Berhasil mengubah pengumuman.'); } - public function show($id){ - $announcement = Announcement::with(['users' => function($query) { + public function show($id) + { + $announcement = Announcement::with(['users' => function ($query) { $query->withPivot('category'); }])->findOrFail(decrypt_id($id)); @@ -115,33 +122,37 @@ public function show($id){ ]); } - public function destroy($id){ + public function destroy($id) + { try { $announcement = Announcement::with(['users'])->findOrFail(decrypt_id($id)); $announcement->users()->detach(); $announcement->delete(); } catch (\Exception $e) { - Log::error("Announcements (destroy): ". $e); + Log::error('Announcements (destroy): '.$e); + return response()->json(['message' => 'Gagal menghapus pengumuman.'], 500); } return response()->json(['message' => 'Berhasil menghapus pengumuman.']); } - public function read($id){ + public function read($id) + { $announcement = Announcement::with(['users'])->findOrFail(decrypt_id($id)); - if(!in_array(Auth::id(), $announcement->users->pluck('id')->toArray())){ + if (! in_array(Auth::id(), $announcement->users->pluck('id')->toArray())) { abort(404); } - try{ + try { $announcement->users()->updateExistingPivot(Auth::id(), [ 'status' => '1', ]); - }catch(\Exception $e){ - Log::error("Announcements (read): ". $e); - return redirect()->back()->with('failed-status', 'Gagal membaca pengumuman.'); + } catch (\Exception $e) { + Log::error('Announcements (read): '.$e); + + return redirect()->back()->with('failed-status', 'Gagal membaca pengumuman.'); } return view('dashboard.announcements.read', [ diff --git a/app/Http/Controllers/Dashboard/ClassificationController.php b/app/Http/Controllers/Dashboard/ClassificationController.php index 30ba003..395965c 100644 --- a/app/Http/Controllers/Dashboard/ClassificationController.php +++ b/app/Http/Controllers/Dashboard/ClassificationController.php @@ -5,15 +5,13 @@ use App\Http\Controllers\Controller; use App\Http\Requests\ClassificationRequest; use App\Models\Classification; -use Exception; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; -use Illuminate\Support\Str; class ClassificationController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.classifications.index', [ 'title' => 'Data Klasifikasi', 'filter' => $request->input('filter', null), @@ -21,55 +19,62 @@ public function index(Request $request){ ]); } - public function create(){ + public function create() + { return view('dashboard.classifications.create', [ - 'title' => 'Buat Klasifikasi Baru' + 'title' => 'Buat Klasifikasi Baru', ]); } - public function store(ClassificationRequest $request){ + public function store(ClassificationRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdClassification = Classification::create($validatedData); - }catch (\Exception $e){ - Log::error("Classifications (store): ". $e); + } catch (\Exception $e) { + Log::error('Classifications (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal membuat klasifikasi baru.'); } return redirect()->route('dashboard.classifications.index')->with('success-status', 'Berhasil membuat klasifikasi baru.') - ->with('new_data', encrypt_id($createdClassification->id)); + ->with('new_data', encrypt_id($createdClassification->id)); } - public function edit($id){ + public function edit($id) + { $classification = Classification::findOrFail(decrypt_id($id)); return view('dashboard.classifications.edit', [ 'title' => 'Ubah Klasifikasi', - 'classification' => $classification + 'classification' => $classification, ]); } - public function update(ClassificationRequest $request, $id){ + public function update(ClassificationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $classification = Classification::findOrFail(decrypt_id($id)); $classification->update($validatedData); - }catch(\Exception $e){ - Log::error("Classifications (update): ". $e); + } catch (\Exception $e) { + Log::error('Classifications (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah klasifikasi.'); } return redirect()->route('dashboard.classifications.show', ['id' => encrypt_id($classification->id)])->with('success-status', 'Berhasil mengubah klasifikasi.'); } - public function show($id){ + public function show($id) + { $classification = Classification::withTrashed()->findOrFail(decrypt_id($id)); return view('dashboard.classifications.show', [ 'title' => 'Detail Klasifikasi', - 'classification' => $classification + 'classification' => $classification, ]); } @@ -79,7 +84,8 @@ public function destroy($id) $classification = Classification::findOrFail(decrypt_id($id)); $classification->delete(); } catch (\Exception $e) { - Log::error("Classifications (destroy): ". $e); + Log::error('Classifications (destroy): '.$e); + return response()->json([ 'status' => 'failed', 'message' => 'Gagal menghapus klasifikasi.', @@ -98,7 +104,7 @@ public function restore($id) try { $classification = Classification::withTrashed()->findOrFail(decrypt_id($id)); - if (!$classification->trashed()) { + if (! $classification->trashed()) { return response()->json([ 'status' => 'failed', 'message' => 'Klasifikasi belum dihapus.', @@ -107,7 +113,8 @@ public function restore($id) $classification->restore(); } catch (\Exception $e) { - Log::error("Classifications (restore): ". $e); + Log::error('Classifications (restore): '.$e); + return response()->json([ 'status' => 'failed', 'message' => 'Gagal mengembalikan klasifikasi.', @@ -119,6 +126,4 @@ public function restore($id) 'message' => 'Klasifikasi berhasil dikembalikan.', ]); } - - } diff --git a/app/Http/Controllers/Dashboard/CompanyController.php b/app/Http/Controllers/Dashboard/CompanyController.php index 0cf375a..1cbcec7 100644 --- a/app/Http/Controllers/Dashboard/CompanyController.php +++ b/app/Http/Controllers/Dashboard/CompanyController.php @@ -21,9 +21,10 @@ class CompanyController extends Controller { - public function index(Request $request){ - if(is_role(['1', '5'])){ - return view('dashboard.companies.admin.index',[ + public function index(Request $request) + { + if (is_role(['1', '5'])) { + return view('dashboard.companies.admin.index', [ 'title' => 'Data Perusahaan', 'status' => $request->input('status', null), 'edit_status' => $request->input('edit_status', null), @@ -32,7 +33,7 @@ public function index(Request $request){ 'register_month' => $request->input('register_month', null), 'register_date' => $request->input('register_date', null), ]); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $user = User::with(['role', 'company.media.journalists'])->findOrFail(Auth::id()); $data = [ @@ -44,20 +45,22 @@ public function index(Request $request){ } } - public function editRequest(){ - if(!in_array(Auth::user()->company->edit_status, ['0', '2', '3'])){ + public function editRequest() + { + if (! in_array(Auth::user()->company->edit_status, ['0', '2', '3'])) { abort(404); } return view('dashboard.companies.edit-request', [ - 'title' => 'Permohonan Ubah Data Perusahaan' + 'title' => 'Permohonan Ubah Data Perusahaan', ]); } - public function editRequestAction(Request $request){ + public function editRequestAction(Request $request) + { - try{ - if(!in_array(Auth::user()->company->edit_status, ['0', '2', '3'])){ + try { + if (! in_array(Auth::user()->company->edit_status, ['0', '2', '3'])) { abort(404); } @@ -70,19 +73,21 @@ public function editRequestAction(Request $request){ $user = User::with(['company'])->findOrFail(Auth::id()); $user->company->update([ 'edit_status' => '1', - 'edit_description' => $validatedData['edit_description'] + 'edit_description' => $validatedData['edit_description'], ]); - }catch(\Exception $e){ - Log::error("Company (editRequestAction): ". $e); + } catch (\Exception $e) { + Log::error('Company (editRequestAction): '.$e); + return redirect()->route('dashboard.companies.index')->with('failed-status', 'Gagal melakukan permohonan edit data perusahaan.'); } return redirect()->route('dashboard.companies.index')->with('success-status', 'Berhasil melakukan permohonan edit data perusahaan.'); } - public function edit(){ - if(Auth::user()->company->edit_status !== '2'){ + public function edit() + { + if (Auth::user()->company->edit_status !== '2') { abort(404); } @@ -90,16 +95,17 @@ public function edit(){ return view('dashboard.companies.edit', [ 'title' => 'Ubah Data Perusahaan', - 'user' => $user + 'user' => $user, ]); } - public function update(CompanyRequest $request){ + public function update(CompanyRequest $request) + { $validatedData = $request->validated(); - try{ - if(Auth::user()->company->edit_status !== '2'){ + try { + if (Auth::user()->company->edit_status !== '2') { abort(404); } @@ -126,7 +132,7 @@ public function update(CompanyRequest $request){ } } - DB::transaction(function()use($company, $validatedData, $companyFileNames){ + DB::transaction(function () use ($company, $validatedData, $companyFileNames) { $company->update([ 'name' => $validatedData['company_name'], 'email' => $validatedData['company_email'], @@ -154,15 +160,17 @@ public function update(CompanyRequest $request){ ]); }); - }catch(\Exception $e){ - Log::error("Company (update): ". $e); + } catch (\Exception $e) { + Log::error('Company (update): '.$e); + return redirect()->route('dashboard.companies.index')->with('failed-status', 'Gagal mengubah data perusahaan.'); } return redirect()->route('dashboard.companies.index')->with('success-status', 'Berhasil mengubah data perusahaan.'); } - public function show($id, $type){ + public function show($id, $type) + { $user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id)); $data = [ @@ -173,15 +181,16 @@ public function show($id, $type){ 'purpose' => 'show', 'idnPage' => 'perusahaan', 'route' => 'companies', - 'type' => $type + 'type' => $type, ]; - switch($type){ + switch ($type) { case 'account': return view('dashboard.users.profiles.account', $data); case 'login-activities': $data['loginActivities'] = LoginHistory::where('user_id', $user->id)->orderByDesc('id')->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -199,11 +208,12 @@ public function show($id, $type){ } } - public function destroy($id){ + public function destroy($id) + { return response()->json([ 'status' => 'warning', - 'message' => 'Aksi belum tersedia.' + 'message' => 'Aksi belum tersedia.', ]); // try{ @@ -217,10 +227,11 @@ public function destroy($id){ // } } - public function process(Request $request, $id, $type){ + 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'])){ + if ($request->query('category') && ! in_array($request->query('category'), ['account-status', 'edit-request'])) { abort(404); } @@ -233,7 +244,7 @@ public function process(Request $request, $id, $type){ 'idnPage' => 'perusahaan', 'route' => 'companies', 'type' => $type, - 'category' => $request->query('category', null) + 'category' => $request->query('category', null), ]; switch ($type) { @@ -244,6 +255,7 @@ public function process(Request $request, $id, $type){ $data['loginActivities'] = LoginHistory::where('user_id', $user->id) ->orderByDesc('id') ->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -260,46 +272,49 @@ public function process(Request $request, $id, $type){ } } - public function processAcceptAction(Request $request, $id, $type, $category){ + public function processAcceptAction(Request $request, $id, $type, $category) + { - try{ + try { $user = User::with(['company'])->findOrFail(decrypt_id($id)); - if(!in_array($category, ['account-status', 'edit-request'])){ + if (! in_array($category, ['account-status', 'edit-request'])) { abort(404); } - if(is_role(['1']) && in_array($category, ['account-status', 'edit-request'])){ - if($category === 'account-status' && $user->status === '0'){ + if (is_role(['1']) && in_array($category, ['account-status', 'edit-request'])) { + if ($category === 'account-status' && $user->status === '0') { $user->update([ - 'status' => '1' + 'status' => '1', ]); Mail::to($user->email)->send(new AccountVerification($user, 'accepted')); - }else if($category === 'edit-request' && $user->company->edit_status === '1'){ + } elseif ($category === 'edit-request' && $user->company->edit_status === '1') { $user->company->update([ - 'edit_status' => '2' + 'edit_status' => '2', ]); } } - }catch(\Exception $e){ - Log::error("Company (processAcceptAction): ". $e); + } catch (\Exception $e) { + Log::error('Company (processAcceptAction): '.$e); + return response()->json([ - 'failed-status' => 'Gagal menyetujui'.($category === 'edit-request' ? ' permohonan edit' : '').' perusahaan.' + 'failed-status' => 'Gagal menyetujui'.($category === 'edit-request' ? ' permohonan edit' : '').' perusahaan.', ]); } } - public function processRejectAction(Request $request, $id, $type, $category){ + public function processRejectAction(Request $request, $id, $type, $category) + { - try{ + try { $user = User::with(['company'])->findOrFail(decrypt_id($id)); - if(!in_array($category, ['account-status', 'edit-request'])){ + if (! in_array($category, ['account-status', 'edit-request'])) { abort(404); } - if(is_role(['1']) && in_array($category, ['account-status', 'edit-request'])){ + if (is_role(['1']) && in_array($category, ['account-status', 'edit-request'])) { $validatedData = $request->validate([ 'rejection_reason' => ['required'], @@ -307,25 +322,26 @@ public function processRejectAction(Request $request, $id, $type, $category){ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - if($category === 'account-status' && $user->status === '0'){ + if ($category === 'account-status' && $user->status === '0') { $user->update([ - 'status' => '2' + 'status' => '2', ]); $user->company->update([ - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); Mail::to($user->email)->send(new AccountVerification($user, 'rejected', $validatedData['rejection_reason'])); - }else if($category === 'edit-request' && $user->company->edit_status === '1'){ + } elseif ($category === 'edit-request' && $user->company->edit_status === '1') { $user->company->update([ 'edit_status' => '3', - 'edit_rejection_reason' => $validatedData['rejection_reason'] + 'edit_rejection_reason' => $validatedData['rejection_reason'], ]); } } - }catch(\Exception $e){ - Log::error("Company (processRejectAction): ". $e); + } catch (\Exception $e) { + Log::error('Company (processRejectAction): '.$e); + return redirect()->back()->with('faileds-status', 'Gagal melakukan proses.'); } @@ -335,7 +351,7 @@ public function processRejectAction(Request $request, $id, $type, $category){ public function export(Request $request) { - try{ + try { $status = $request->input('status', null); $edit_status = $request->input('edit_status', null); $address = $request->input('address', null); @@ -346,38 +362,44 @@ public function export(Request $request) $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); return Excel::download(new CompanyExport($status, $edit_status, $address, $register_year, $register_month, $register_date), 'companies-'.$formattedNow.'.xlsx'); - }catch(\Exception $e){ - Log::error("Company (export): ". $e); - return redirect()->back()->with('failed-status', 'Gagal melakukan export data.'); + } catch (\Exception $e) { + Log::error('Company (export): '.$e); + + return redirect()->back()->with('failed-status', 'Gagal melakukan export data.'); } } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { return filled($value); }); + return redirect()->route('dashboard.companies.index', $filterField); - }catch(\Exception $e){ - Log::error("Company (filter): ". $e); - return redirect()->back()->with('failed-status', 'Gagal melakukan filter data.'); + } catch (\Exception $e) { + Log::error('Company (filter): '.$e); + + return redirect()->back()->with('failed-status', 'Gagal melakukan filter data.'); } } - public function printData($id){ + public function printData($id) + { - try{ + try { $company = Company::with(['user.role'])->findOrFail(decrypt_id($id)); $pdf = Pdf::loadView('dashboard.companies.print', compact('company')); return $pdf->stream('perusahaan-'.slugify($company->name).'.pdf'); - }catch(\Exception $e){ - Log::error("Company (printData): ". $e); + } catch (\Exception $e) { + Log::error('Company (printData): '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan print data.'); } } diff --git a/app/Http/Controllers/Dashboard/ContactController.php b/app/Http/Controllers/Dashboard/ContactController.php index c05a967..15c751a 100644 --- a/app/Http/Controllers/Dashboard/ContactController.php +++ b/app/Http/Controllers/Dashboard/ContactController.php @@ -3,38 +3,41 @@ namespace App\Http\Controllers\Dashboard; use App\Http\Controllers\Controller; -use App\Http\Requests\ReceiveMessageContactRequest; use App\Models\Contact; use Illuminate\Http\Request; class ContactController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.contacts.index', [ 'title' => 'Pesan Kontak', - 'status' => $request->input('status', null) + 'status' => $request->input('status', null), ]); } - public function show($id){ + public function show($id) + { $contact = Contact::findOrFail(decrypt_id($id)); return view('dashboard.contacts.show', [ 'title' => 'Detail Pesan', - 'contact' => $contact + 'contact' => $contact, ]); } - public function reply($id){ + public function reply($id) + { $contact = Contact::findOrFail(decrypt_id($id)); return view('dashboard.contacts.reply', [ 'title' => 'Balas Pesan', - 'contact' => $contact + 'contact' => $contact, ]); } - public function replyAction(Request $request, $id){ + public function replyAction(Request $request, $id) + { $validatedData = $request->validate([ 'reply_message' => ['required'], ], [ @@ -45,13 +48,14 @@ public function replyAction(Request $request, $id){ $contact->update([ 'reply_message' => $validatedData['reply_message'], - 'status' => '1' + 'status' => '1', ]); return redirect()->route('dashboard.contact.messages.show', ['id' => encrypt_id($contact->id)])->with('success-status', 'Berhasil membalas pesan.'); } - public function destroy($id){ + public function destroy($id) + { try { $contact = Contact::findOrFail(decrypt_id($id)); $contact->delete(); diff --git a/app/Http/Controllers/Dashboard/ContentRecapClassificationController.php b/app/Http/Controllers/Dashboard/ContentRecapClassificationController.php index f6355e9..a472ac2 100644 --- a/app/Http/Controllers/Dashboard/ContentRecapClassificationController.php +++ b/app/Http/Controllers/Dashboard/ContentRecapClassificationController.php @@ -4,88 +4,95 @@ use App\Http\Controllers\Controller; use App\Http\Requests\ContentRecapClassificationRequest; -use App\Models\ContentRecap; use App\Models\ContentRecapClassification; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; -use Illuminate\Support\Str; class ContentRecapClassificationController extends Controller { - public function index(){ + public function index() + { return view('dashboard.content-recaps.classifications.index', [ - 'title' => "Klasifikasi Rekap Konten" + 'title' => 'Klasifikasi Rekap Konten', ]); } - public function create(){ + public function create() + { return view('dashboard.content-recaps.classifications.create', [ - 'title' => "Buat Klasifikasi Rekap Konten Baru" + 'title' => 'Buat Klasifikasi Rekap Konten Baru', ]); } - public function store(ContentRecapClassificationRequest $request){ + public function store(ContentRecapClassificationRequest $request) + { $validatedData = $request->validated(); - try{ + try { $existedData = ContentRecapClassification::withTrashed()->where('slug', $validatedData['slug'])->first(); - if($existedData && filled($existedData->deleted_at)){ + if ($existedData && filled($existedData->deleted_at)) { return redirect()->back()->with('data-exists', $validatedData['slug']); - }elseif($existedData){ + } elseif ($existedData) { return redirect()->back()->with('failed-status', 'Tema dengan nama tersebut sudah ada.'); } $createdClassification = ContentRecapClassification::create($validatedData); - }catch(\Exception $e){ - Log::error("ContentRecapClassifications (store): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecapClassifications (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menambahkan klasifikasi rekap konten.'); } return redirect()->route('dashboard.content.recap.classifications.index')->with('success-status', 'Berhasil menambahkan klasifikasi rekap konten.') - ->with('new_data', encrypt_id($createdClassification->id)); + ->with('new_data', encrypt_id($createdClassification->id)); } - public function edit($id){ + public function edit($id) + { $contentRecapClassification = ContentRecapClassification::findOrFail(decrypt_id($id)); return view('dashboard.content-recaps.classifications.edit', [ - 'title' => "Ubah Klasifikasi Rekap Konten", - 'contentRecapClassification' => $contentRecapClassification + 'title' => 'Ubah Klasifikasi Rekap Konten', + 'contentRecapClassification' => $contentRecapClassification, ]); } - public function update(ContentRecapClassificationRequest $request, $id){ + public function update(ContentRecapClassificationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $contentRecapClassification = ContentRecapClassification::findOrFail(decrypt_id($id)); $contentRecapClassification->update($validatedData); - }catch(\Exception $e){ - Log::error("ContentRecapClassifications (update): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecapClassifications (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah klasifikasi rekap konten.'); } return redirect()->route('dashboard.content.recap.classifications.show', ['id' => encrypt_id($contentRecapClassification->id)])->with('success-status', 'Berhasil mengubah klasifikasi rekap konten.'); } - public function show($id){ + public function show($id) + { $contentRecapClassification = ContentRecapClassification::findOrFail(decrypt_id($id)); return view('dashboard.content-recaps.classifications.show', [ - 'title' => "Detail Klasifikasi Rekap Konten", - 'contentRecapClassification' => $contentRecapClassification + 'title' => 'Detail Klasifikasi Rekap Konten', + 'contentRecapClassification' => $contentRecapClassification, ]); } - public function destroy($id){ + public function destroy($id) + { try { $contentRecapClassification = ContentRecapClassification::findOrFail(decrypt_id($id)); $contentRecapClassification->delete(); + return response()->json(['message' => 'Berhasil menghapus klasifikasi rekap konten.']); } catch (\Exception $e) { - Log::error("ContentRecapClassifications (destroy): ". $e); + Log::error('ContentRecapClassifications (destroy): '.$e); + return response()->json(['message' => 'Gagal menghapus klasifikasi rekap konten.'], 500); } } @@ -93,23 +100,25 @@ public function destroy($id){ public function restore($slug) { - try{ + try { $recapContentClassification = ContentRecapClassification::withTrashed() - ->where('slug', $slug) - ->first(); + ->where('slug', $slug) + ->first(); - if (!$recapContentClassification) { + if (! $recapContentClassification) { return redirect()->back()->with('failed-status', 'Klasifikasi tidak ditemukan.'); } if (filled($recapContentClassification->deleted_at)) { $recapContentClassification->restore(); + return redirect()->back()->with('success-status', 'Klasifikasi berhasil dipulihkan.'); } return redirect()->back()->with('info-status', 'Klasifikasi sudah aktif.'); - }catch(\Exception $e){ - Log::error("ContentRecapClassifications (restore): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecapClassifications (restore): '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan proses pemulihan.'); } } diff --git a/app/Http/Controllers/Dashboard/ContentRecapController.php b/app/Http/Controllers/Dashboard/ContentRecapController.php index a110345..68f7a42 100644 --- a/app/Http/Controllers/Dashboard/ContentRecapController.php +++ b/app/Http/Controllers/Dashboard/ContentRecapController.php @@ -10,13 +10,13 @@ use Barryvdh\DomPDF\Facade\Pdf; use Carbon\Carbon; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; use Maatwebsite\Excel\Facades\Excel; class ContentRecapController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.content-recaps.index', [ 'title' => 'Rekap Konten', 'classifications' => ContentRecapClassification::all(), @@ -30,26 +30,29 @@ public function index(Request $request){ ]); } - public function create(){ + public function create() + { return view('dashboard.content-recaps.create', [ 'title' => 'Tambah Rekap Konten', - 'classifications' => ContentRecapClassification::all() + 'classifications' => ContentRecapClassification::all(), ]); } - public function store(ContentRecapRequest $request){ + public function store(ContentRecapRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdContentRecap = ContentRecap::create($validatedData); - if($request->has('image') && filled($validatedData['image'])){ + if ($request->has('image') && filled($validatedData['image'])) { $validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps')['randomFileName']; - }else{ + } else { $validatedData['image'] = null; } - }catch(\Exception $e){ - Log::error("ContentRecaps (store): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecaps (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menambahkan rekap konten.'); } @@ -57,31 +60,34 @@ public function store(ContentRecapRequest $request){ ->with('new_data', encrypt_id($createdContentRecap->id)); } - public function edit($id){ + public function edit($id) + { $contentRecap = ContentRecap::findOrFail(decrypt_id($id)); return view('dashboard.content-recaps.edit', [ 'title' => 'Ubah Rekap Konten', 'contentRecap' => $contentRecap, - 'classifications' => ContentRecapClassification::all() + 'classifications' => ContentRecapClassification::all(), ]); } - public function update(ContentRecapRequest $request, $id){ + public function update(ContentRecapRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $contentRecap = ContentRecap::findOrFail(decrypt_id($id)); - if($request->has('image') && filled($validatedData['image'])){ + if ($request->has('image') && filled($validatedData['image'])) { delete_file('app/public/uploads/content-recaps/'.$contentRecap->image); $validatedData['image'] = store_file($validatedData['image'], '/uploads/content-recaps')['randomFileName']; - }else{ + } else { $validatedData['image'] = $contentRecap->image; } $contentRecap->update($validatedData); - }catch(\Exception $e){ - Log::error("ContentRecaps (update): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecaps (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah rekap konten.'); } @@ -89,22 +95,25 @@ public function update(ContentRecapRequest $request, $id){ } - public function show($id){ + public function show($id) + { $contentRecap = ContentRecap::findOrFail(decrypt_id($id)); return view('dashboard.content-recaps.show', [ 'title' => 'Detail Rekap Konten', - 'contentRecap' => $contentRecap + 'contentRecap' => $contentRecap, ]); } - public function destroy($id){ + public function destroy($id) + { try { $contentRecap = ContentRecap::findOrFail(decrypt_id($id)); $contentRecap->delete(); } catch (\Exception $e) { - Log::error("ContentRecaps (destroy): ". $e); + Log::error('ContentRecaps (destroy): '.$e); + return response()->json(['message' => 'Gagal menghapus rekap konten.'], 500); } @@ -116,20 +125,22 @@ public function checkLink(Request $request) $linkExists = ContentRecap::where('link', $request->link)->exists(); return response()->json([ - 'exists' => $linkExists + 'exists' => $linkExists, ]); } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { return filled($value); }); - }catch(\Exception $e){ - Log::error("ContentRecaps (filter): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecaps (filter): '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan filter data.'); } @@ -139,7 +150,7 @@ public function filter(Request $request){ public function export(Request $request) { - try{ + try { $classification = $request->input('classification', 'all'); $channel = $request->input('channel', 'all'); $social_media = $request->input('social_media', 'all'); @@ -151,22 +162,25 @@ public function export(Request $request) $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); return Excel::download(new ContentRecapExport($classification, $channel, $social_media, $content_type, $posted_year, $posted_month, $posted_date), 'content-recaps-'.$formattedNow.'.xlsx'); - }catch(\Exception $e){ - Log::error("ContentRecaps (export): ". $e); + } catch (\Exception $e) { + Log::error('ContentRecaps (export): '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan export data.'); } } - public function printData($id){ + public function printData($id) + { - try{ + try { $contentRecap = ContentRecap::with(['enhancer', 'classification'])->findOrFail(decrypt_id($id)); $pdf = Pdf::loadView('dashboard.content-recaps.print', compact('contentRecap')); - return $pdf->stream(slugify('rekap konten '. $contentRecap->content_theme).'.pdf'); - }catch(\Exception $e){ - Log::error("ContentRecaps (printData): ". $e); + return $pdf->stream(slugify('rekap konten '.$contentRecap->content_theme).'.pdf'); + } catch (\Exception $e) { + Log::error('ContentRecaps (printData): '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan print data.'); } } diff --git a/app/Http/Controllers/Dashboard/CooperationArchiveController.php b/app/Http/Controllers/Dashboard/CooperationArchiveController.php index 9a43dd1..8cdee00 100644 --- a/app/Http/Controllers/Dashboard/CooperationArchiveController.php +++ b/app/Http/Controllers/Dashboard/CooperationArchiveController.php @@ -9,7 +9,8 @@ class CooperationArchiveController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.cooperation-archives.index', [ 'title' => 'Arsip Kerja Sama', 'date' => $request->input('date', null), @@ -21,21 +22,22 @@ public function index(Request $request){ public function export(Request $request) { - try{ + try { $year = $request->input('year', null); $month = $request->input('month', null); $date = $request->input('date', null); return Excel::download(new CooperationArchiveExport($year, $month, $date), 'cooperation-archives.xlsx'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -43,10 +45,9 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.cooperation.archives.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('status-failed', 'Gagal melakukan proses filtering data.'); } - } } diff --git a/app/Http/Controllers/Dashboard/CooperationCompletionController.php b/app/Http/Controllers/Dashboard/CooperationCompletionController.php index d99441a..011e0df 100644 --- a/app/Http/Controllers/Dashboard/CooperationCompletionController.php +++ b/app/Http/Controllers/Dashboard/CooperationCompletionController.php @@ -6,7 +6,6 @@ use App\Http\Controllers\Controller; use App\Http\Requests\CooperationCompletionRequest; use App\Models\Announcement; -use App\Models\Cooperation; use App\Models\CooperationCompletion; use App\Models\Media; use Barryvdh\DomPDF\Facade\Pdf; @@ -19,7 +18,8 @@ class CooperationCompletionController extends Controller { // Main page: Penyelesaian Kerja Sama - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.cooperation-completions.index', [ 'title' => 'Penyelesaian Kerja Sama', 'mediaCollection' => Media::all(), @@ -32,10 +32,11 @@ public function index(Request $request){ ]); } - public function store(CooperationCompletionRequest $request, $id){ + public function store(CooperationCompletionRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $validatedData['payment_request_letter'] = store_file($validatedData['payment_request_letter'], 'uploads/cooperation-completions')['randomFileName']; $validatedData['invoice'] = store_file($validatedData['invoice'], 'uploads/cooperation-completions')['randomFileName']; @@ -44,75 +45,80 @@ public function store(CooperationCompletionRequest $request, $id){ $validatedData['electronic_tax_invoice'] = store_file($validatedData['electronic_tax_invoice'], 'uploads/cooperation-completions')['randomFileName']; - if(isset($validatedData['other_document'])){ + if (isset($validatedData['other_document'])) { $validatedData['other_document'] = store_file($validatedData['other_document'], 'uploads/cooperation-completions')['randomFileName']; - }else{ - $validatedData['other_document'] = null; + } else { + $validatedData['other_document'] = null; } - $validatedData['order_id'] = decrypt_id($id); $validatedData['media_id'] = Auth::user()->company->media->id; CooperationCompletion::create($validatedData); - }catch(\Exception $e){ - Log::error("CooperationCompletions (store): ". $e); + } catch (\Exception $e) { + Log::error('CooperationCompletions (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengirim formulir.'); } return redirect()->back()->with('success-status', 'Berhasil mengirim formulir.'); } - public function show($mediaOrderId, $id){ + public function show($mediaOrderId, $id) + { $cooperationCompletion = CooperationCompletion::findOrFail(decrypt_id($id)); return view('dashboard.cooperation-completions.show', [ 'title' => 'Detail Penyelesaian Kerja Sama', 'cooperationCompletion' => $cooperationCompletion, - 'mediaOrderId' => $mediaOrderId + 'mediaOrderId' => $mediaOrderId, ]); } - public function showIndex($id){ + public function showIndex($id) + { $cooperationCompletion = CooperationCompletion::findOrFail(decrypt_id($id)); return view('dashboard.cooperation-completions.index.show', [ 'title' => 'Detail Penyelesaian Kerja Sama', - 'cooperationCompletion' => $cooperationCompletion + 'cooperationCompletion' => $cooperationCompletion, ]); } - public function processIndex($id){ + public function processIndex($id) + { $cooperationCompletion = CooperationCompletion::findOrFail(decrypt_id($id)); return view('dashboard.cooperation-completions.index.process', [ 'title' => 'Detail Penyelesaian Kerja Sama', - 'cooperationCompletion' => $cooperationCompletion + 'cooperationCompletion' => $cooperationCompletion, ]); } - public function accept($id){ + public function accept($id) + { - try{ + try { $completion = CooperationCompletion::with(['order', 'media'])->findOrFail(decrypt_id($id)); $completion->update([ - 'status' => '1' + 'status' => '1', ]); // Announcements $announcementData = [ - 'headline' => 'Formulir penyelesaian kerja sama '. $completion->order->cooperation->name .' telah disetujui', + 'headline' => 'Formulir penyelesaian kerja sama '.$completion->order->cooperation->name.' telah disetujui', 'content' => '

Admin telah menyetujui laporan formulir penyelesaian kerja sama Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($completion->media->company->user->id, ['category' => 'system']); // End Announcements - }catch(\Exception $e){ - Log::error("CooperationCompletions (accept): ". $e); + } catch (\Exception $e) { + Log::error('CooperationCompletions (accept): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menyetujui penyelesaian kerja sama'); } @@ -120,19 +126,21 @@ public function accept($id){ } - public function reject($mediaOrderId, $id){ + public function reject($mediaOrderId, $id) + { $cooperationCompletion = CooperationCompletion::findOrFail(decrypt_id($id)); return view('dashboard.cooperation-completions.reject', [ 'title' => 'Tolak Penyelesaian Kerja Sama', 'cooperationCompletion' => $cooperationCompletion, - 'mediaOrderId' => $mediaOrderId + 'mediaOrderId' => $mediaOrderId, ]); } - public function rejectAction(Request $request, $mediaOrderId, $id){ + public function rejectAction(Request $request, $mediaOrderId, $id) + { - try{ + try { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ @@ -143,21 +151,22 @@ public function rejectAction(Request $request, $mediaOrderId, $id){ $completion->update([ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Formulir penyelesaian kerja sama '. $completion->order->cooperation->name .' telah ditolak', + 'headline' => 'Formulir penyelesaian kerja sama '.$completion->order->cooperation->name.' telah ditolak', 'content' => '

Admin telah menolak laporan formulir penyelesaian kerja sama Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($completion->media->company->user->id, ['category' => 'system']); // End Announcements - }catch(\Exception $e){ - Log::error("CooperationCompletions (rejectAction): ". $e); + } catch (\Exception $e) { + Log::error('CooperationCompletions (rejectAction): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menolak penyelesaian kerja sama'); } @@ -165,9 +174,10 @@ public function rejectAction(Request $request, $mediaOrderId, $id){ } - public function rejectActionIndex(Request $request, $id){ + public function rejectActionIndex(Request $request, $id) + { - try{ + try { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ @@ -178,21 +188,22 @@ public function rejectActionIndex(Request $request, $id){ $completion->update([ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Formulir penyelesaian kerja sama '. $completion->order->cooperation->name .' telah ditolak', + 'headline' => 'Formulir penyelesaian kerja sama '.$completion->order->cooperation->name.' telah ditolak', 'content' => '

Admin telah menolak laporan formulir penyelesaian kerja sama Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($completion->media->company->user->id, ['category' => 'system']); // End Announcements - }catch(\Exception $e){ - Log::error("CooperationCompletions (rejectAction): ". $e); + } catch (\Exception $e) { + Log::error('CooperationCompletions (rejectAction): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menolak penyelesaian kerja sama'); } @@ -202,7 +213,7 @@ public function rejectActionIndex(Request $request, $id){ public function export(Request $request) { - try{ + try { $export_type = $request->input('export_type', 'excel'); $status = $request->input('status', null); @@ -212,23 +223,24 @@ public function export(Request $request) $to_month = $request->input('to_month', null); $date = $request->input('date', null); - if($export_type === 'excel'){ + if ($export_type === 'excel') { $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); + return Excel::download(new CooperationCompletionExport($media, $status, $year, $from_month, $to_month, $date), 'reports-'.$formattedNow.'.xlsx'); - }elseif($export_type === 'pdf'){ - if(is_role(['1', '5'])){ + } elseif ($export_type === 'pdf') { + if (is_role(['1', '5'])) { $query = CooperationCompletion::with(['media.company']); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $mediaId = Auth::user()->company->media->id; $query = CooperationCompletion::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId); } - if (!empty($media) && is_array($media)) { + if (! empty($media) && is_array($media)) { $query->whereIn('media_id', $media); } if ($status) { - switch($status){ + switch ($status) { case 'waiting': $query->where('status', '0'); break; @@ -263,22 +275,22 @@ public function export(Request $request) return $pdf->stream(slugify('laporan bukti tayang ').'.pdf'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function singlePrint(){ - try{ + public function singlePrint() + { + try { $cooperationCompletion = CooperationCompletion::with(['media.company'])->first(); // dd('hai'); $pdf = Pdf::loadView('dashboard.cooperation-completions.prints.single', compact('cooperationCompletion')); - - return $pdf->stream(slugify('Penyelesaian kerja sama '. $cooperationCompletion->media->name).'.pdf'); - }catch(\Exception $e){ + return $pdf->stream(slugify('Penyelesaian kerja sama '.$cooperationCompletion->media->name).'.pdf'); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses print data.'); } } diff --git a/app/Http/Controllers/Dashboard/CooperationRequestController.php b/app/Http/Controllers/Dashboard/CooperationRequestController.php index 3824403..97332b9 100644 --- a/app/Http/Controllers/Dashboard/CooperationRequestController.php +++ b/app/Http/Controllers/Dashboard/CooperationRequestController.php @@ -14,13 +14,15 @@ class CooperationRequestController extends Controller { - public function index(){ + public function index() + { return view('dashboard.cooperation-requests.index', [ - 'title' => 'Ajuan Kerja Sama' + 'title' => 'Ajuan Kerja Sama', ]); } - public function show($id){ + public function show($id) + { $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); $mediaCooperationPivot = $cooperation->media() @@ -30,29 +32,32 @@ public function show($id){ return view('dashboard.cooperation-requests.show', [ 'title' => 'Tolak Kerja Sama', 'cooperation' => $cooperation, - 'mediaCooperationPivot' => $mediaCooperationPivot + 'mediaCooperationPivot' => $mediaCooperationPivot, ]); } - public function mediaProposal(){ - return view('dashboard.cooperation-requests.media-proposals.index',[ - 'title' => 'Ajuan Kerja Sama Saya' + public function mediaProposal() + { + return view('dashboard.cooperation-requests.media-proposals.index', [ + 'title' => 'Ajuan Kerja Sama Saya', ]); } - public function mediaProposalShow($id){ + public function mediaProposalShow($id) + { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($id)); - return view('dashboard.cooperation-requests.media-proposals.show',[ + return view('dashboard.cooperation-requests.media-proposals.show', [ 'title' => 'Detail Ajuan Kerja Sama', - 'proposal' => $proposal + 'proposal' => $proposal, ]); } - public function accept(Request $request, $id){ + public function accept(Request $request, $id) + { - try{ - if(!Auth::check() || Auth::user()->role_id !== 3){ + try { + if (! Auth::check() || Auth::user()->role_id !== 3) { return abort(403, 'Unauthorized action.'); } @@ -62,7 +67,7 @@ public function accept(Request $request, $id){ ->where('media.id', Auth::user()->company->media->id) ->first(); - if (!$mediaCooperation) { + if (! $mediaCooperation) { return abort(404, 'Media not found for the cooperation.'); } @@ -74,9 +79,9 @@ public function accept(Request $request, $id){ // Announcements $announcementData = [ - 'headline' => 'Ajuan Kerja Sama '.$cooperation->name.' diterima oleh media '.$mediaCooperation->name. '', + 'headline' => 'Ajuan Kerja Sama '.$cooperation->name.' diterima oleh media '.$mediaCooperation->name.'', 'content' => '

Ajuan Kerja Sama '.$cooperation->name.' telah diterima oleh media '.$mediaCooperation->name.'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $adminIds = User::where('role_id', 1)->pluck('id')->mapWithKeys(function ($id) { @@ -95,14 +100,16 @@ public function accept(Request $request, $id){ } else { return redirect()->back()->with('failed-status', 'Kerja Sama sudah diterima sebelumnya.'); } - }catch(\Exception $e){ - Log::error("CooperationRequest (accept): ". $e); + } catch (\Exception $e) { + Log::error('CooperationRequest (accept): '.$e); + return redirect()->back()->with('failed-status', 'Proses gagal.'); } } - public function createProposal($id){ + public function createProposal($id) + { $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); $mediaCooperationPivot = $cooperation->media() @@ -113,14 +120,15 @@ public function createProposal($id){ 'title' => 'Ajukan Kerja Sama', 'user' => Auth::user(), 'cooperation' => $cooperation, - 'mediaCooperationPivot' => $mediaCooperationPivot + 'mediaCooperationPivot' => $mediaCooperationPivot, ]); } - public function storeProposal(JournalistCooperationProposalRequest $request, $id){ + public function storeProposal(JournalistCooperationProposalRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $cooperation = Cooperation::findOrFail(decrypt_id($id)); $validatedData['cooperation_id'] = decrypt_id($id); $validatedData['media_id'] = Auth::user()->company->media->id; @@ -131,9 +139,9 @@ public function storeProposal(JournalistCooperationProposalRequest $request, $id // Announcements $announcementData = [ - 'headline' => 'Media '.Auth::user()->company->media->name.' telah mengirimkan formulir pengajuan kerja sama '.$cooperation->name. '', - 'content' => 'Media '.Auth::user()->company->media->name.' telah mengirimkan formulir pengajuan kerja sama '.$cooperation->name. ' pada '.idn_date($createdCooperationProposal->created_at, 'l, d F Y H:i').'', - 'enhancer_id' => Auth::id() + 'headline' => 'Media '.Auth::user()->company->media->name.' telah mengirimkan formulir pengajuan kerja sama '.$cooperation->name.'', + 'content' => 'Media '.Auth::user()->company->media->name.' telah mengirimkan formulir pengajuan kerja sama '.$cooperation->name.' pada '.idn_date($createdCooperationProposal->created_at, 'l, d F Y H:i').'', + 'enhancer_id' => Auth::id(), ]; $adminIds = User::where('role_id', 1)->pluck('id')->mapWithKeys(function ($id) { @@ -148,15 +156,17 @@ public function storeProposal(JournalistCooperationProposalRequest $request, $id abort(404); } - }catch(\Exception $e){ - Log::info("ERROR Cooperation Proposals: ". $e); + } catch (\Exception $e) { + Log::info('ERROR Cooperation Proposals: '.$e); + return redirect()->back()->with('failed-status', 'Gagal melakukan pengajuan kerja sama'); } return redirect()->route('dashboard.cooperations.requests.index')->with('success-status', 'Berhasil melakukan pengajuan kerja sama.'); } - public function reject($id){ + public function reject($id) + { $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); $mediaCooperationPivot = $cooperation->media() @@ -166,14 +176,15 @@ public function reject($id){ return view('dashboard.cooperation-requests.reject', [ 'title' => 'Tolak Kerja Sama', 'cooperation' => $cooperation, - 'mediaCooperationPivot' => $mediaCooperationPivot + 'mediaCooperationPivot' => $mediaCooperationPivot, ]); } - public function rejectAction(Request $request, $id){ + public function rejectAction(Request $request, $id) + { - try{ - if(!Auth::check() || Auth::user()->role_id !== 3){ + try { + if (! Auth::check() || Auth::user()->role_id !== 3) { return abort(403, 'Unauthorized action.'); } @@ -189,11 +200,10 @@ public function rejectAction(Request $request, $id){ ->where('media.id', Auth::user()->company->media->id) ->first(); - if (!$mediaCooperation) { + if (! $mediaCooperation) { return abort(404, 'Media not found for the cooperation.'); } - if ($mediaCooperation->pivot->status != '3') { $affectedRows = $cooperation->media()->updateExistingPivot($mediaCooperation->id, [ 'status' => '2', @@ -202,11 +212,11 @@ public function rejectAction(Request $request, $id){ // Announcements $announcementData = [ - 'headline' => 'Ajuan Kerja Sama '.$cooperation->name.' ditolak oleh media '.$mediaCooperation->name. '', + 'headline' => 'Ajuan Kerja Sama '.$cooperation->name.' ditolak oleh media '.$mediaCooperation->name.'', 'content' => '

Ajuan Kerja Sama '.$cooperation->name.' ditolak oleh media '.$mediaCooperation->name.'

Alasan:
'.$validatedData['rejection_reason'].'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $adminIds = User::where('role_id', 1)->pluck('id')->mapWithKeys(function ($id) { @@ -225,41 +235,44 @@ public function rejectAction(Request $request, $id){ } else { return redirect()->back()->with('failed-status', 'Kerja sama sudah ditolak sebelumnya.'); } - }catch(\Exception $e){ - Log::error("CooperationRequest (rejectAction): ". $e); + } catch (\Exception $e) { + Log::error('CooperationRequest (rejectAction): '.$e); + return redirect()->back()->with('failed-status', 'Proses gagal.'); } } - public function editProposal($id){ + public function editProposal($id) + { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($id)); - return view('dashboard.cooperation-requests.media-proposals.edit',[ + return view('dashboard.cooperation-requests.media-proposals.edit', [ 'title' => 'Ubah Ajuan Kerja Sama', 'proposal' => $proposal, - 'selectedJournalists' => $proposal->journalists->pluck('id')->toArray() + 'selectedJournalists' => $proposal->journalists->pluck('id')->toArray(), ]); } - public function updateProposal(JournalistCooperationProposalRequest $request, $id){ + public function updateProposal(JournalistCooperationProposalRequest $request, $id) + { $validatedData = $request->validated(); $validatedData['media_id'] = Auth::user()->company->media->id; - try{ + try { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($id)); $validatedData['cooperation_id'] = $proposal->cooperation_id; - if($request->hasFile('attachment')){ + if ($request->hasFile('attachment')) { $validatedData['attachment'] = store_file($validatedData['attachment'], '/uploads/cooperation-proposals')['randomFileName']; delete_file('app/public/uploads/cooperation-proposals/'.$proposal->image); - }else{ + } else { $validatedData['attachment'] = $proposal->attachment; } $proposal->update($validatedData); - if($request->has('journalist_ids')){ + if ($request->has('journalist_ids')) { $proposal->journalists()->sync($validatedData['journalist_ids']); } @@ -268,23 +281,25 @@ public function updateProposal(JournalistCooperationProposalRequest $request, $i } else { return redirect()->back()->with('failed-status', 'Gagal mengubah pengajuan kerja sama'); } - }catch(\Exception $e){ - Log::error("CooperationRequest (updateProposal): ". $e); + } catch (\Exception $e) { + Log::error('CooperationRequest (updateProposal): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah pengajuan kerja sama'); } } - public function destroyProposal($id){ + public function destroyProposal($id) + { try { $cooperationProposal = CooperationProposal::findOrFail(decrypt_id($id)); delete_file('app/public/uploads/cooperation-proposals/'.$cooperationProposal->attachment); $cooperationProposal->delete(); - return response()->json(['message' => 'Berhasil menghapus ajuan kerja sama.']); } catch (\Exception $e) { - Log::error("CooperationRequest (destroyProposal): ". $e); + Log::error('CooperationRequest (destroyProposal): '.$e); + return response()->json(['message' => 'Gagal menghapus ajuan kerja sama.'], 500); } } diff --git a/app/Http/Controllers/Dashboard/GovernmentAgencyController.php b/app/Http/Controllers/Dashboard/GovernmentAgencyController.php index d4808af..b327517 100644 --- a/app/Http/Controllers/Dashboard/GovernmentAgencyController.php +++ b/app/Http/Controllers/Dashboard/GovernmentAgencyController.php @@ -5,57 +5,61 @@ use App\Http\Controllers\Controller; use App\Http\Requests\GovernmentAgencyRequest; use App\Models\GovernmentAgency; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; -use Illuminate\Support\Str; class GovernmentAgencyController extends Controller { - public function index(){ + public function index() + { return view('dashboard.government-agencies.index', [ 'title' => 'Data OPD', 'new_data' => session()->get('new_data', null), ]); } - public function create(){ + public function create() + { return view('dashboard.government-agencies.create', [ - 'title' => 'Buat OPD Baru' + 'title' => 'Buat OPD Baru', ]); } - public function store(GovernmentAgencyRequest $request){ + public function store(GovernmentAgencyRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdGovernmentAgency = GovernmentAgency::create($validatedData); return redirect()->route('dashboard.government.agencies.index')->with('success-status', 'Berhasil membuat OPD baru.') - ->with('new_data', encrypt_id($createdGovernmentAgency->id)); - }catch(\Exception $e){ - Log::error("GovernmentAgencies (store): ". $e); + ->with('new_data', encrypt_id($createdGovernmentAgency->id)); + } catch (\Exception $e) { + Log::error('GovernmentAgencies (store): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menambahkan OPD'); } } - public function edit($id){ + public function edit($id) + { $governmentAgency = GovernmentAgency::findOrFail(decrypt_id($id)); - return view('dashboard.government-agencies.edit',[ + return view('dashboard.government-agencies.edit', [ 'title' => 'Ubah OPD', - 'governmentAgency' => $governmentAgency + 'governmentAgency' => $governmentAgency, ]); } - public function update(GovernmentAgencyRequest $request, $id){ + public function update(GovernmentAgencyRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $governmentAgency = GovernmentAgency::findOrFail(decrypt_id($id)); $governmentAgency->update($validatedData); - }catch(\Exception $e){ - Log::error("GovernmentAgencies (update): ". $e); + } catch (\Exception $e) { + Log::error('GovernmentAgencies (update): '.$e); + return redirect()->back()->with('failed-status', 'Gagal mengubah OPD'); } @@ -63,16 +67,18 @@ public function update(GovernmentAgencyRequest $request, $id){ } - public function show($id){ + public function show($id) + { $governmentAgency = GovernmentAgency::find(decrypt_id($id)); - return view('dashboard.government-agencies.show',[ + return view('dashboard.government-agencies.show', [ 'title' => 'Detail OPD', - 'governmentAgency' => $governmentAgency + 'governmentAgency' => $governmentAgency, ]); } - public function destroy($id){ + public function destroy($id) + { try { $governmentAgency = GovernmentAgency::findOrFail(decrypt_id($id)); @@ -80,7 +86,8 @@ public function destroy($id){ return response()->json(['message' => 'Berhasil menghapus OPD']); } catch (\Exception $e) { - Log::error("GovernmentAgencies (destroy): ". $e); + Log::error('GovernmentAgencies (destroy): '.$e); + return response()->json(['message' => 'Gagal menghapus OPD.'], 500); } } diff --git a/app/Http/Controllers/Dashboard/JournalistController.php b/app/Http/Controllers/Dashboard/JournalistController.php index c886272..b54aba9 100644 --- a/app/Http/Controllers/Dashboard/JournalistController.php +++ b/app/Http/Controllers/Dashboard/JournalistController.php @@ -16,14 +16,15 @@ class JournalistController extends Controller { - public function index(Request $request){ - if(is_role(['1', '5'])){ + public function index(Request $request) + { + if (is_role(['1', '5'])) { - if($request->has('media_ids') && $request->input('media_ids') && count($request->input('media_ids')) > 10){ + if ($request->has('media_ids') && $request->input('media_ids') && count($request->input('media_ids')) > 10) { return redirect()->back()->with('failed-status', 'Hanya bisa memfilter 10 media'); } - return view('dashboard.journalists.admin.index',[ + return view('dashboard.journalists.admin.index', [ 'title' => 'Data Jurnalis', 'media' => Media::all(), 'media_ids' => $request->input('media_ids', null), @@ -33,46 +34,51 @@ public function index(Request $request){ 'register_month' => $request->input('register_month', null), 'register_date' => $request->input('register_date', null), ]); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $user = User::with(['role', 'company.media.journalists'])->findOrFail(Auth::id()); - return view('dashboard.journalists.index',[ + + return view('dashboard.journalists.index', [ 'title' => 'Data Jurnalis', 'user' => $user, 'journalists' => $user->company->media->journalists - ->where('approved_status', '1') - ->whereNull('deleted_at'), + ->where('approved_status', '1') + ->whereNull('deleted_at'), ]); } } - public function submission(){ - return view('dashboard.journalists.submission',[ - 'title' => 'Data Permohonan Penambahan Jurnalis' + public function submission() + { + return view('dashboard.journalists.submission', [ + 'title' => 'Data Permohonan Penambahan Jurnalis', ]); } - public function processSubmission($id){ + public function processSubmission($id) + { $journalist = Journalist::with(['media.company'])->findOrFail(decrypt_id($id)); - return view('dashboard.journalists.process-submission',[ + + return view('dashboard.journalists.process-submission', [ 'title' => 'Data Permohonan Penambahan Jurnalis', 'journalist' => $journalist, ]); } - public function processSubmissionAction(Request $request, $id, $action){ + public function processSubmissionAction(Request $request, $id, $action) + { $journalist = Journalist::with(['media.company'])->findOrFail(decrypt_id($id)); - if($action === 'accept'){ + if ($action === 'accept') { $acceptedJournalist = $journalist->update([ 'approved_status' => '1', 'approved_at' => now(), ]); - if($acceptedJournalist){ + if ($acceptedJournalist) { return response()->json(['message' => 'Berhasil menyetujui jurnalis.']); } - }else if($action === 'reject'){ + } elseif ($action === 'reject') { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ @@ -81,21 +87,22 @@ public function processSubmissionAction(Request $request, $id, $action){ $rejectedJournalist = $journalist->update([ 'approved_status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); - return redirect()->route('dashboard.journalists.submissions')->with('success-status', 'Berhasil menolak jurnalis.'); } } - public function create(){ - return view('dashboard.journalists.create',[ - 'title' => 'Tambah Data Jurnalis' + public function create() + { + return view('dashboard.journalists.create', [ + 'title' => 'Tambah Data Jurnalis', ]); } - public function store(JournalistRequest $request){ + public function store(JournalistRequest $request) + { $validatedData = $request->validated(); $fileFieldMap = [ @@ -108,7 +115,7 @@ public function store(JournalistRequest $request){ foreach ($fileFieldMap as $requestKey => $dbField) { if ($request->hasFile($requestKey) && filled($validatedData[$requestKey])) { $journalistFileNames[$requestKey] = store_file($validatedData[$requestKey], '/uploads/journalists')['randomFileName']; - }else{ + } else { $journalistFileNames[$requestKey] = null; } } @@ -119,37 +126,39 @@ public function store(JournalistRequest $request){ 'phone_number' => $validatedData['journalist_phone_number'], 'press_card' => $validatedData['journalist_press_card'], 'press_card_doc' => $journalistFileNames['journalist_press_card_doc'], - 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], + 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], 'ukw_sertificate_doc' => $journalistFileNames['journalist_ukw_sertificate_doc'], 'approved_status' => '0', 'approved_at' => null, 'edit_description' => null, 'edit_status' => '0', - 'media_id' => Auth::user()->company->media->id + 'media_id' => Auth::user()->company->media->id, ]); - if($createdJournalist){ + if ($createdJournalist) { return redirect()->route('dashboard.journalists.index')->with('success-status', 'Berhasil menambahkan jurnalis.')->with('created-journalist', true); - }else{ + } else { return redirect()->route('dashboard.journalists.index')->with('failed-status', 'Gagal menambahkan jurnalis.'); } } - public function editRequest($id){ + public function editRequest($id) + { $journalist = Journalist::findOrFail(decrypt_id($id)); - if(!in_array($journalist->edit_status, ['0', '3'])){ + if (! in_array($journalist->edit_status, ['0', '3'])) { abort(404); } return view('dashboard.journalists.edit-request', [ 'title' => 'Permohonan Ubah Data Jurnalis', - 'journalist' => $journalist + 'journalist' => $journalist, ]); } - public function editRequestAction(Request $request, $id){ + public function editRequestAction(Request $request, $id) + { $journalist = Journalist::findOrFail(decrypt_id($id)); - if(!in_array($journalist->edit_status, ['0', '3'])){ + if (! in_array($journalist->edit_status, ['0', '3'])) { abort(404); } @@ -159,52 +168,54 @@ public function editRequestAction(Request $request, $id){ 'edit_description.required' => 'Deskripsi wajib diisi.', ]); - if(!Auth::check()){ + if (! Auth::check()) { abort(404); } $updatedJournalist = $journalist->update([ 'edit_status' => '1', - 'edit_description' => $validatedData['edit_description'] + 'edit_description' => $validatedData['edit_description'], ]); - if($updatedJournalist){ + if ($updatedJournalist) { return redirect()->route('dashboard.journalists.index')->with('success-status', 'Berhasil melakukan permohonan edit data jurnalis.'); - }else{ + } else { return redirect()->route('dashboard.journalists.index')->with('failed-status', 'Gagal melakukan permohonan edit data jurnalis.'); } } - public function processEdit($id){ + public function processEdit($id) + { $journalist = Journalist::findOrFail(decrypt_id($id)); - if(!in_array($journalist->edit_status, ['1', '2']) || !is_role(['1'])){ + if (! in_array($journalist->edit_status, ['1', '2']) || ! is_role(['1'])) { abort(404); } return view('dashboard.journalists.show', [ 'title' => 'Permohonan Ubah Data Jurnalis', 'journalist' => $journalist, - 'purpose' => 'processEdit' + 'purpose' => 'processEdit', ]); } - public function processEditAction(Request $request, $id, $action){ + public function processEditAction(Request $request, $id, $action) + { $journalist = Journalist::findOrFail(decrypt_id($id)); - if(!in_array($journalist->edit_status, ['1']) || !is_role(['1'])){ + if (! in_array($journalist->edit_status, ['1']) || ! is_role(['1'])) { abort(404); } - if(is_role(['1'])){ + if (is_role(['1'])) { - if($action === 'accept'){ + if ($action === 'accept') { $acceptedJournalist = $journalist->update([ 'edit_status' => '2', ]); - if($acceptedJournalist){ + if ($acceptedJournalist) { return response()->json(['message' => 'Berhasil menyetujui permohonan edit jurnalis.']); } - }else if($action === 'reject'){ + } elseif ($action === 'reject') { $validatedData = $request->validate([ 'edit_rejection_reason' => ['required'], @@ -214,7 +225,7 @@ public function processEditAction(Request $request, $id, $action){ $journalist->update([ 'edit_status' => '3', - 'edit_rejection_reason' => $validatedData['edit_rejection_reason'] + 'edit_rejection_reason' => $validatedData['edit_rejection_reason'], ]); return redirect()->route('dashboard.journalists.index')->with('success-status', 'Berhasil menolak permohonan edit jurnalis.'); @@ -222,20 +233,22 @@ public function processEditAction(Request $request, $id, $action){ } } - public function edit($id){ + public function edit($id) + { $journalist = Journalist::findOrFail(decrypt_id($id)); return view('dashboard.journalists.edit', [ 'title' => 'Ubah Data Jurnalis', - 'journalist' => $journalist + 'journalist' => $journalist, ]); } - public function update(JournalistRequest $request, $id){ - $validatedData = $request->validated(); + public function update(JournalistRequest $request, $id) + { + $validatedData = $request->validated(); $journalist = Journalist::findOrFail(decrypt_id($id)); - if(!in_array($journalist->edit_status, ['2'])){ + if (! in_array($journalist->edit_status, ['2'])) { abort(404); } @@ -249,7 +262,7 @@ public function update(JournalistRequest $request, $id){ foreach ($fileFieldMap as $requestKey => $dbField) { if ($request->hasFile($requestKey) && filled($validatedData[$requestKey])) { $journalistFileNames[$requestKey] = store_file($validatedData[$requestKey], '/uploads/journalists')['randomFileName']; - }else{ + } else { $journalistFileNames[$requestKey] = $journalist->{$dbField}; } } @@ -260,32 +273,34 @@ public function update(JournalistRequest $request, $id){ 'phone_number' => $validatedData['journalist_phone_number'], 'press_card' => $validatedData['journalist_press_card'], 'press_card_doc' => $journalistFileNames['journalist_press_card_doc'], - 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], + 'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'], 'ukw_sertificate_doc' => $journalistFileNames['journalist_ukw_sertificate_doc'], 'approved_status' => $journalist->approved_status, 'approved_at' => $journalist->approved_at, 'edit_description' => null, 'edit_status' => '0', - 'media_id' => Auth::user()->company->media->id + 'media_id' => Auth::user()->company->media->id, ]); - if($createdJournalist){ + if ($createdJournalist) { return redirect()->route('dashboard.journalists.index')->with('success-status', 'Berhasil mengubah jurnalis.'); - }else{ + } else { return redirect()->route('dashboard.journalists.index')->with('failed-status', 'Gagal mengubah jurnalis.'); } } - public function show($id){ + public function show($id) + { $journalist = Journalist::findOrFail(decrypt_id($id)); return view('dashboard.journalists.show', [ 'title' => 'Detail Jurnalis', - 'journalist' => $journalist + 'journalist' => $journalist, ]); } - public function destroy($id){ + public function destroy($id) + { try { $journalist = Journalist::findOrFail(decrypt_id($id)); @@ -296,7 +311,7 @@ public function destroy($id){ if ($journalists->count() <= 1) { return response()->json([ 'status' => 'failed', - 'message' => 'Media harus punya minimal satu jurnalis.' + 'message' => 'Media harus punya minimal satu jurnalis.', ]); } @@ -335,19 +350,18 @@ public function filter(Request $request) } // Filter semua field yang terisi - $filterField = array_filter($filteredRequest, fn($val) => filled($val)); + $filterField = array_filter($filteredRequest, fn ($val) => filled($val)); return redirect()->route('dashboard.journalists.index', $filterField); } - public function printData($id){ + public function printData($id) + { $journalist = Journalist::with(['media.company'])->findOrFail(decrypt_id($id)); - $pdf = Pdf::loadView('dashboard.journalists.print', compact('journalist')); return $pdf->stream('perusahaan-'.slugify($journalist->name).'.pdf'); } - } diff --git a/app/Http/Controllers/Dashboard/LocationController.php b/app/Http/Controllers/Dashboard/LocationController.php index 9c23cc8..55ddd5a 100644 --- a/app/Http/Controllers/Dashboard/LocationController.php +++ b/app/Http/Controllers/Dashboard/LocationController.php @@ -5,70 +5,74 @@ use App\Http\Controllers\Controller; use App\Http\Requests\LocationRequest; use App\Models\Location; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; class LocationController extends Controller { - public function index(){ + public function index() + { return view('dashboard.locations.index', [ 'title' => 'Data Lokus', 'new_data' => session()->get('new_data', null), ]); } - public function create(){ + public function create() + { return view('dashboard.locations.create', [ - 'title' => 'Buat Lokus Baru' + 'title' => 'Buat Lokus Baru', ]); } - public function store(LocationRequest $request){ + public function store(LocationRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdLocation = Location::create($validatedData); return redirect()->route('dashboard.locations.index')->with('success-status', 'Berhasil membuat lokus baru.') - ->with('new_data', encrypt_id($createdLocation->id)); - }catch(\Exception $e){ + ->with('new_data', encrypt_id($createdLocation->id)); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menambahkan lokus.'); } } - public function edit($id){ + public function edit($id) + { $location = Location::findOrFail(decrypt_id($id)); return view('dashboard.locations.edit', [ 'title' => 'Ubah Lokus', - 'location' => $location + 'location' => $location, ]); } - public function update(LocationRequest $request, $id){ + public function update(LocationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $location = Location::findOrFail(decrypt_id($id)); $location->update($validatedData); return redirect()->route('dashboard.locations.show', ['id' => encrypt_id($location->id)])->with('success-status', 'Berhasil mengubah lokus.'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah lokus.'); } } - public function show($id){ + public function show($id) + { $location = Location::findOrFail(decrypt_id($id)); return view('dashboard.locations.show', [ 'title' => 'Detail Lokus', - 'location' => $location + 'location' => $location, ]); } - public function destroy($id){ + public function destroy($id) + { try { $location = Location::findOrFail(decrypt_id($id)); $location->delete(); diff --git a/app/Http/Controllers/Dashboard/LogActivityController.php b/app/Http/Controllers/Dashboard/LogActivityController.php index 6dc6153..956bd7f 100644 --- a/app/Http/Controllers/Dashboard/LogActivityController.php +++ b/app/Http/Controllers/Dashboard/LogActivityController.php @@ -8,7 +8,8 @@ class LogActivityController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.log-activities.index', [ 'title' => 'Log', 'year' => $request->input('year', null), @@ -19,13 +20,14 @@ public function index(Request $request){ ]); } - public function show($id){ + public function show($id) + { $log = Activity::findOrFail(decrypt_id($id)); // dd($log); return view('dashboard.log-activities.show', [ 'title' => 'Log', - 'log' => $log + 'log' => $log, ]); } } diff --git a/app/Http/Controllers/Dashboard/LoginHistoryController.php b/app/Http/Controllers/Dashboard/LoginHistoryController.php index 2e6d562..21628f8 100644 --- a/app/Http/Controllers/Dashboard/LoginHistoryController.php +++ b/app/Http/Controllers/Dashboard/LoginHistoryController.php @@ -7,7 +7,8 @@ class LoginHistoryController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.login-history.index', [ 'title' => 'Aktivitas Login', 'year' => $request->input('year', null), @@ -17,9 +18,10 @@ public function index(Request $request){ ]); } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -27,7 +29,7 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.login.history.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan filtering data.'); } diff --git a/app/Http/Controllers/Dashboard/MediaController.php b/app/Http/Controllers/Dashboard/MediaController.php index 1896c30..4332b6b 100644 --- a/app/Http/Controllers/Dashboard/MediaController.php +++ b/app/Http/Controllers/Dashboard/MediaController.php @@ -17,9 +17,10 @@ class MediaController extends Controller { - public function index(Request $request){ - if(is_role(['1', '5'])){ - return view('dashboard.media.admin.index',[ + public function index(Request $request) + { + if (is_role(['1', '5'])) { + return view('dashboard.media.admin.index', [ 'title' => 'Data Media', 'type' => $request->input('type', null), 'classification' => $request->input('classification', null), @@ -30,7 +31,7 @@ public function index(Request $request){ 'register_month' => $request->input('register_month', null), 'register_date' => $request->input('register_date', null), ]); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $user = User::with(['role', 'company.media.journalists'])->findOrFail(Auth::id()); $data = [ @@ -42,19 +43,21 @@ public function index(Request $request){ } } - public function editRequest(){ - if(!in_array(Auth::user()->company->media->edit_status, ['0', '3'])){ + public function editRequest() + { + if (! in_array(Auth::user()->company->media->edit_status, ['0', '3'])) { abort(404); } return view('dashboard.media.edit-request', [ - 'title' => 'Permohonan Ubah Data Media' + 'title' => 'Permohonan Ubah Data Media', ]); } - public function editRequestAction(Request $request){ - try{ - if(!in_array(Auth::user()->company->media->edit_status, ['0', '3'])){ + public function editRequestAction(Request $request) + { + try { + if (! in_array(Auth::user()->company->media->edit_status, ['0', '3'])) { abort(404); } @@ -64,16 +67,16 @@ public function editRequestAction(Request $request){ 'edit_description.required' => 'Deskripsi wajib diisi.', ]); - if(!Auth::check()){ + if (! Auth::check()) { abort(404); } $user = User::with(['company.media'])->findOrFail(Auth::id()); $user->company->media->update([ 'edit_status' => '1', - 'edit_description' => $validatedData['edit_description'] + 'edit_description' => $validatedData['edit_description'], ]); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->route('dashboard.media.index')->with('failed-status', 'Gagal melakukan permohonan edit data media.'); } @@ -81,8 +84,9 @@ public function editRequestAction(Request $request){ } - public function edit(){ - if(!in_array(Auth::user()->company->media->edit_status, ['2'])){ + public function edit() + { + if (! in_array(Auth::user()->company->media->edit_status, ['2'])) { abort(404); } @@ -90,19 +94,19 @@ public function edit(){ return view('dashboard.media.edit', [ 'title' => 'Ubah Data Media', - 'user' => $user + 'user' => $user, ]); } - public function update(MediaRequest $request){ + public function update(MediaRequest $request) + { $validatedData = $request->validated(); - try{ - if(!in_array(Auth::user()->company->media->edit_status, ['2'])){ + try { + if (! in_array(Auth::user()->company->media->edit_status, ['2'])) { abort(404); } - $media = User::with(['company.media'])->findOrFail(Auth::id())->company->media; $fileFieldMap = [ @@ -133,14 +137,15 @@ public function update(MediaRequest $request){ 'edit_description' => null, 'edit_status' => '0', ]); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->route('dashboard.media.index')->with('failed-status', 'Gagal mengubah data media.'); } return redirect()->route('dashboard.media.index')->with('success-status', 'Berhasil mengubah data media.'); } - public function show($id, $type){ + public function show($id, $type) + { $user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id)); $data = [ @@ -151,7 +156,7 @@ public function show($id, $type){ 'purpose' => 'show', 'idnPage' => 'media', 'route' => 'media', - 'type' => $type + 'type' => $type, ]; switch ($type) { @@ -162,6 +167,7 @@ public function show($id, $type){ $data['loginActivities'] = LoginHistory::where('user_id', $user->id) ->orderByDesc('id') ->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -179,17 +185,19 @@ public function show($id, $type){ } - public function destroy($id){ + public function destroy($id) + { return response()->json([ 'status' => 'warning', - 'message' => 'Aksi belum tersedia.' + 'message' => 'Aksi belum tersedia.', ]); } - public function process(Request $request, $id, $type){ + 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'])){ + if ($request->query('category') && ! in_array($request->query('category'), ['account-status', 'edit-request'])) { abort(404); } @@ -202,7 +210,7 @@ public function process(Request $request, $id, $type){ 'idnPage' => 'media', 'route' => 'media', 'type' => $type, - 'category' => $request->query('category', null) + 'category' => $request->query('category', null), ]; switch ($type) { @@ -213,6 +221,7 @@ public function process(Request $request, $id, $type){ $data['loginActivities'] = LoginHistory::where('user_id', $user->id) ->orderByDesc('id') ->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -229,32 +238,34 @@ public function process(Request $request, $id, $type){ } } - public function processAcceptAction(Request $request, $id, $type, $category){ + public function processAcceptAction(Request $request, $id, $type, $category) + { $user = User::with(['company'])->findOrFail(decrypt_id($id)); - if(!in_array($category, ['account-status', 'edit-request']) || !is_role(['1'])){ + if (! in_array($category, ['account-status', 'edit-request']) || ! is_role(['1'])) { abort(404); } - if(is_role(['1']) && $category === 'edit-request'){ + if (is_role(['1']) && $category === 'edit-request') { $user->company->media->update([ - 'edit_status' => '2' + 'edit_status' => '2', ]); } return response()->json([ - 'message' => 'Berhasil menyetujui permohonan edit media.' + 'message' => 'Berhasil menyetujui permohonan edit media.', ]); } - public function processRejectAction(Request $request, $id, $type, $category){ + public function processRejectAction(Request $request, $id, $type, $category) + { $user = User::with(['company'])->findOrFail(decrypt_id($id)); - if(!in_array($category, ['account-status', 'edit-request']) || !is_role(['1'])){ + if (! in_array($category, ['account-status', 'edit-request']) || ! is_role(['1'])) { abort(404); } - if(is_role(['1'])){ + if (is_role(['1'])) { $validatedData = $request->validate([ 'rejection_reason' => ['required'], @@ -262,10 +273,10 @@ public function processRejectAction(Request $request, $id, $type, $category){ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - if($category === 'edit-request' && $user->company->media->edit_status === '1'){ + if ($category === 'edit-request' && $user->company->media->edit_status === '1') { $user->company->media->update([ 'edit_status' => '3', - 'edit_rejection_reason' => $validatedData['rejection_reason'] + 'edit_rejection_reason' => $validatedData['rejection_reason'], ]); } } @@ -275,7 +286,7 @@ public function processRejectAction(Request $request, $id, $type, $category){ public function export(Request $request) { - try{ + try { $type = $request->input('type', null); $classification = $request->input('classification', null); $status = $request->input('status', null); @@ -288,14 +299,15 @@ public function export(Request $request) $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'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -303,20 +315,21 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.media.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses filter data.'); } } - public function printData($id){ + public function printData($id) + { - try{ + try { $media = Media::with(['user.role', 'company'])->findOrFail(decrypt_id($id)); $pdf = Pdf::loadView('dashboard.media.print', compact('media')); return $pdf->stream('media-'.slugify($media->name).'.pdf'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses print data.'); } } diff --git a/app/Http/Controllers/Dashboard/MediaCooperationController.php b/app/Http/Controllers/Dashboard/MediaCooperationController.php index df6c5e5..0fbe62c 100644 --- a/app/Http/Controllers/Dashboard/MediaCooperationController.php +++ b/app/Http/Controllers/Dashboard/MediaCooperationController.php @@ -19,7 +19,8 @@ class MediaCooperationController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.media-cooperations.index', [ 'title' => 'Kerja Sama', 'date' => $request->input('date', null), @@ -28,24 +29,26 @@ public function index(Request $request){ ]); } - public function create(){ + public function create() + { return view('dashboard.media-cooperations.create', [ 'title' => 'Tambah Kerja Sama', - 'media' => Media::all() + 'media' => Media::all(), ]); } - public function store(CooperationRequest $request){ + public function store(CooperationRequest $request) + { $validatedData = $request->validated(); - try{ - if($request->hasFile('banner')){ + try { + if ($request->hasFile('banner')) { $validatedData['banner'] = store_file($validatedData['banner'], '/uploads/cooperations')['randomFileName']; } $validatedData['offer_file_template'] = store_file($validatedData['offer_file_template'], '/uploads/cooperations')['randomFileName']; - $createdCooperation = DB::transaction(function()use($validatedData){ + $createdCooperation = DB::transaction(function () use ($validatedData) { $createdCooperation = Cooperation::create($validatedData); $allMediaIds = Media::pluck('id')->toArray(); @@ -57,25 +60,25 @@ public function store(CooperationRequest $request){ // Announcements $userId = []; - if(in_array('all', $validatedData['media_ids'])){ - foreach($allMediaIds as $mediaId){ + if (in_array('all', $validatedData['media_ids'])) { + foreach ($allMediaIds as $mediaId) { $userId[] = Media::find($mediaId)->company->user->id; } - }else{ - foreach($validatedData['media_ids'] as $mediaId){ + } else { + foreach ($validatedData['media_ids'] as $mediaId) { $userId[] = Media::find($mediaId)->company->user->id; } } $announcementData = [ - 'headline' => 'Ajuan kerja sama baru: '. $createdCooperation->name. '', - 'content' => '

Kerja Sama: '. $validatedData['name']. '

+ 'headline' => 'Ajuan kerja sama baru: '.$createdCooperation->name.'', + 'content' => '

Kerja Sama: '.$validatedData['name'].'

Periode Pengajuan: '.idn_date($createdCooperation->start_date).' s.d. '.idn_date($createdCooperation->end_date).'

Deskripsi:
'.$createdCooperation->description.'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($userId, ['category' => 'system']); @@ -89,40 +92,44 @@ public function store(CooperationRequest $request){ } else { return redirect()->back()->with('failed-status', 'Gagal menambahkan kerja sama'); } - }catch(\Exception $e){ - Log::info("ERROR (Cooperation): ". $e); + } catch (\Exception $e) { + Log::info('ERROR (Cooperation): '.$e); + return redirect()->back()->with('failed-status', 'Gagal menambahkan kerja sama'); } } - public function edit($id){ + public function edit($id) + { $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); + return view('dashboard.media-cooperations.edit', [ 'title' => 'Ubah Kerja Sama', 'cooperation' => $cooperation, 'media' => Media::all(), - 'selectedMediaIds' => $cooperation->media->pluck('id')->toArray() + 'selectedMediaIds' => $cooperation->media->pluck('id')->toArray(), ]); } - public function update(CooperationRequest $request, $id){ + public function update(CooperationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $cooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); $oldCooperationName = $cooperation->name; - if($request->hasFile('banner')){ + if ($request->hasFile('banner')) { delete_file('app/public/uploads/cooperations/'.$cooperation->banner); $validatedData['banner'] = store_file($validatedData['banner'], '/uploads/cooperations')['randomFileName']; - }else{ + } else { $validatedData['banner'] = $cooperation->banner; } - if($request->hasFile('offer_file_template')){ + if ($request->hasFile('offer_file_template')) { delete_file('app/public/uploads/cooperations/'.$cooperation->offer_file_template); $validatedData['offer_file_template'] = store_file($validatedData['offer_file_template'], '/uploads/cooperations')['randomFileName']; - }else{ + } else { $validatedData['offer_file_template'] = $cooperation->offer_file_template; } @@ -133,16 +140,16 @@ public function update(CooperationRequest $request, $id){ // Announcements $userId = []; - foreach($validatedData['media_ids'] as $mediaId){ + foreach ($validatedData['media_ids'] as $mediaId) { $userId[] = Media::find($mediaId)->company->user->id; } $announcementData = [ - 'headline' => 'Admin melakukan pembaruan pada ajuan kerja sama '. $oldCooperationName. '', - 'content' => '

Admin telah melakukan pembaruan pada kerja sama ' . $oldCooperationName . '. + 'headline' => 'Admin melakukan pembaruan pada ajuan kerja sama '.$oldCooperationName.'', + 'content' => '

Admin telah melakukan pembaruan pada kerja sama '.$oldCooperationName.'. Mohon untuk segera meninjau perubahan tersebut

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($userId, ['category' => 'system']); @@ -153,40 +160,43 @@ public function update(CooperationRequest $request, $id){ } else { return redirect()->back()->with('failed-status', 'Gagal mengubah kerja sama'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah kerja sama'); } } - public function show($id){ + public function show($id) + { $mediaCooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); return view('dashboard.media-cooperations.show', [ 'title' => 'Detail Kerja Sama', - 'mediaCooperation' => $mediaCooperation + 'mediaCooperation' => $mediaCooperation, ]); } public function export(Request $request) { - try{ + try { $year = $request->input('year', null); $month = $request->input('month', null); $date = $request->input('date', null); $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); + return Excel::download(new CooperationExport($year, $month, $date), 'cooperations-'.$formattedNow.'.xlsx'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -194,46 +204,48 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.cooperations.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('status-failed', 'Gagal melakukan proses filtering data.'); } - } - public function mediaProposal($id){ + public function mediaProposal($id) + { $mediaCooperation = Cooperation::with(['media'])->findOrFail(decrypt_id($id)); return view('dashboard.media-cooperations.media-proposals.index', [ 'title' => 'Data Pengajuan Kerja Sama', - 'mediaCooperation' => $mediaCooperation + 'mediaCooperation' => $mediaCooperation, ]); } - public function mediaProposalShow($id, $proposalId){ + public function mediaProposalShow($id, $proposalId) + { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($proposalId)); - return view('dashboard.media-cooperations.media-proposals.show',[ + return view('dashboard.media-cooperations.media-proposals.show', [ 'title' => 'Detail Ajuan Kerja Sama', - 'proposal' => $proposal + 'proposal' => $proposal, ]); } - public function mediaProposalAccept($id, $proposalId){ + public function mediaProposalAccept($id, $proposalId) + { - try{ + try { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($proposalId)); $acceptedProposal = $proposal->update([ - 'status' => '1' + 'status' => '1', ]); // Announcements $announcementData = [ - 'headline' => 'Formulir ajuan kerja sama '. $proposal->cooperation->name .' telah disetujui', + 'headline' => 'Formulir ajuan kerja sama '.$proposal->cooperation->name.' telah disetujui', 'content' => '

Admin telah menyetujui formulir pengajuan kerja sama Anda.

Sekarang, kerja sama ini sudah tersedia di menu Kerja Sama. Harap tunggu hingga Admin menerbitkan Media Order.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($proposal->media->company->user->id, ['category' => 'system']); @@ -244,22 +256,24 @@ public function mediaProposalAccept($id, $proposalId){ } else { return redirect()->back()->with('failed-status', 'Gagal menyetujui pengajuan kerja sama'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menyetujui pengajuan kerja sama'); } } - public function mediaProposalReject($id, $proposalId){ + public function mediaProposalReject($id, $proposalId) + { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($proposalId)); - return view('dashboard.media-cooperations.media-proposals.reject',[ + return view('dashboard.media-cooperations.media-proposals.reject', [ 'title' => 'Tolak Ajuan Kerja Sama', - 'proposal' => $proposal + 'proposal' => $proposal, ]); } - public function mediaProposalRejectAction(Request $request, $id, $proposalId){ + public function mediaProposalRejectAction(Request $request, $id, $proposalId) + { $validatedData = $request->validate([ 'rejection_reason' => ['required'], @@ -267,22 +281,22 @@ public function mediaProposalRejectAction(Request $request, $id, $proposalId){ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - try{ + try { $proposal = CooperationProposal::with(['cooperation', 'media', 'journalists'])->findOrFail(decrypt_id($proposalId)); $rejectedProposal = $proposal->update([ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Formulir ajuan kerja sama '. $proposal->cooperation->name .' ditolak', + 'headline' => 'Formulir ajuan kerja sama '.$proposal->cooperation->name.' ditolak', 'content' => '

Admin telah menolak formulir pengajuan kerja sama Anda.

Alasan penolakan:
'.$validatedData['rejection_reason'].'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($proposal->media->company->user->id, ['category' => 'system']); @@ -293,29 +307,30 @@ public function mediaProposalRejectAction(Request $request, $id, $proposalId){ } else { return redirect()->back()->with('failed-status', 'Gagal menolak pengajuan kerja sama'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menolak pengajuan kerja sama'); } } - public function process($id, $process, $paramMediaId = null){ + public function process($id, $process, $paramMediaId = null) + { $mediaCooperation = Cooperation::with([ 'media', 'mediaOrder.media', 'mediaOrder.reports', - 'mediaOrder.completions' + 'mediaOrder.completions', ])->findOrFail(decrypt_id($id)); $data = [ 'process' => $process, 'mediaCooperation' => $mediaCooperation, 'mediaOrder' => $mediaCooperation->mediaOrder, - 'mediaId' => is_role(['3']) ? Auth::user()->company->media->id : null + 'mediaId' => is_role(['3']) ? Auth::user()->company->media->id : null, ]; if (is_role(['3']) && $data['mediaOrder'] && $data['mediaOrder']->reports) { - $reports = $data['mediaOrder']->reports->filter(function ($reports) use ($data) { + $reports = $data['mediaOrder']->reports->filter(function ($reports) { return $reports->media_id == Auth::user()->company->media->id; }); @@ -336,31 +351,31 @@ public function process($id, $process, $paramMediaId = null){ } // Tab Kerja Sama - if($process === 'cooperation'){ + if ($process === 'cooperation') { $data['title'] = 'Detail Kerja Sama'; - if(is_role(['3'])){ + if (is_role(['3'])) { $mediaOrderSafe = $data['mediaOrder'] ? $data['mediaOrder']->media->where('id', $data['mediaId'])->first() : null; - if($mediaOrderSafe){ + if ($mediaOrderSafe) { $data['mediaOrderPivot'] = $mediaOrderSafe->pivot; } // Can Commented - if($mediaOrderSafe){ - $reports = $data['mediaOrder']->reports->filter(function ($reports) use ($data) { + if ($mediaOrderSafe) { + $reports = $data['mediaOrder']->reports->filter(function ($reports) { return $reports->media_id == Auth::user()->company->media->id; }); - }else{ + } else { $reports = null; } - if(filled($reports)){ + if (filled($reports)) { $data['isAllReportsAccepted'] = $reports->every(function ($item) { return $item->status === '1'; }); $data['isHaveReports'] = true; - }else{ + } else { $data['isAllReportsAccepted'] = false; $data['isHaveReports'] = false; } @@ -370,24 +385,24 @@ public function process($id, $process, $paramMediaId = null){ return view('dashboard.media-cooperations.processes.cooperations.index', $data); - // Tab Media order - }else if($process === 'media-order'){ + // Tab Media order + } elseif ($process === 'media-order') { $data['title'] = 'Media Order'; - if(is_role(['3'])){ + if (is_role(['3'])) { $data['mediaOrderPivot'] = $data['mediaOrder']->media->where('id', $data['mediaId'])->first()->pivot; // Can Commented - $reports = $data['mediaOrder']->reports->filter(function ($reports) use ($data) { + $reports = $data['mediaOrder']->reports->filter(function ($reports) { return $reports->media_id == Auth::user()->company->media->id; }); - if(filled($reports)){ + if (filled($reports)) { $data['isAllReportsAccepted'] = $reports->every(function ($item) { return $item->status === '1'; }); $data['isHaveReports'] = true; - }else{ + } else { $data['isAllReportsAccepted'] = false; $data['isHaveReports'] = false; } @@ -397,11 +412,11 @@ public function process($id, $process, $paramMediaId = null){ return view('dashboard.media-cooperations.processes.media-orders.index', $data); - // Tab laporan - }else if($process === 'reports'){ + // Tab laporan + } elseif ($process === 'reports') { $data['title'] = 'Laporan'; - if(is_role(['3'])){ + if (is_role(['3'])) { $data['mediaOrderPivot'] = $data['mediaOrder']->media->where('id', $data['mediaId'])->first()->pivot; $data['reporterMediaId'] = Auth::user()->company->media->id; @@ -427,21 +442,21 @@ public function process($id, $process, $paramMediaId = null){ $data['cooperationCompletion'] = $data['mediaOrder']->completions()->where('media_id', $data['mediaId'])->first(); - if($reportCount === $data['mediaOrder']->required_reports){ + if ($reportCount === $data['mediaOrder']->required_reports) { $data['isReportsCompleted'] = true; - }else{ + } else { $data['isReportsCompleted'] = false; } return view('dashboard.media-cooperations.processes.reports.index-media', $data); - }else{ + } else { $data['mediaOrder'] = $mediaCooperation->mediaOrder; $data['reporterMedia'] = $paramMediaId ? Media::findOrFail(decrypt_id($paramMediaId)) : null; - $data['reporterMediaId'] = $paramMediaId ? decrypt_id($paramMediaId) : null; + $data['reporterMediaId'] = $paramMediaId ? decrypt_id($paramMediaId) : null; - if(!$paramMediaId){ + if (! $paramMediaId) { return view('dashboard.media-cooperations.processes.reports.index-admin', $data); - }else{ + } else { return view('dashboard.media-cooperations.processes.reports.index-media', $data); } } @@ -507,9 +522,8 @@ public function process($id, $process, $paramMediaId = null){ // } // } - - // Tab Selesai - }else if($process === 'completion'){ + // Tab Selesai + } elseif ($process === 'completion') { $data['title'] = 'Penyelesaian'; $data['isHaveReports'] = true; @@ -517,7 +531,7 @@ public function process($id, $process, $paramMediaId = null){ $data['cooperationCompletion'] = $data['mediaOrder']->completions()->where('media_id', $data['mediaId'])->first(); - if(is_role(['3'])){ + if (is_role(['3'])) { $data['mediaOrderPivot'] = $data['mediaOrder']->media->where('id', $data['mediaId'])->first()->pivot; // Can Commented @@ -537,12 +551,11 @@ public function process($id, $process, $paramMediaId = null){ // Can Commented return view('dashboard.media-cooperations.processes.completions.index-media', $data); - }else{ + } else { abort(404); } - } - else if($process === 'completions'){ + } elseif ($process === 'completions') { $data['title'] = 'Penyelesaian'; $data['isHaveReports'] = true; @@ -550,40 +563,39 @@ public function process($id, $process, $paramMediaId = null){ $data['cooperationCompletion'] = $data['mediaOrder']->completions()->where('media_id', $data['mediaId'])->first(); - if(is_role(['1'])){ + if (is_role(['1'])) { return view('dashboard.media-cooperations.processes.completions.index-admin', $data); - }else{ + } else { abort(404); } - }else{ + } else { abort(404); } } - public function destroy($id){ + public function destroy($id) + { - try{ + try { $cooperation = Cooperation::with(['media', 'mediaOrder'])->findOrFail(decrypt_id($id)); - if($cooperation->mediaOrder){ + if ($cooperation->mediaOrder) { - DB::transaction(function()use ($cooperation){ + DB::transaction(function () use ($cooperation) { $cooperation->media()->detach(); $cooperation->delete(); }); return response()->json([ 'status' => 'success', - 'message' => 'Ajuan kerja sama dan semua media berhasil dihapus.' + 'message' => 'Ajuan kerja sama dan semua media berhasil dihapus.', ]); - }else{ + } else { return response()->json(['message' => 'Kerja Sama sudah memiliki media order.'], 500); } - - - }catch(\Exception $e){ + } catch (\Exception $e) { return response()->json(['message' => 'Gagal menghapus ajuan kerja sama.'], 500); } diff --git a/app/Http/Controllers/Dashboard/MediaMonitoringController.php b/app/Http/Controllers/Dashboard/MediaMonitoringController.php index be86179..3c5382a 100644 --- a/app/Http/Controllers/Dashboard/MediaMonitoringController.php +++ b/app/Http/Controllers/Dashboard/MediaMonitoringController.php @@ -9,12 +9,12 @@ use Barryvdh\DomPDF\Facade\Pdf; use Carbon\Carbon; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Facades\Excel; class MediaMonitoringController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.media-monitorings.index', [ 'title' => 'Monitoring Media', 'news_title' => $request->input('news_title', null), @@ -30,16 +30,18 @@ public function index(Request $request){ ]); } - public function create(){ + public function create() + { return view('dashboard.media-monitorings.create', [ - 'title' => 'Tambah Monitoring Media' + 'title' => 'Tambah Monitoring Media', ]); } - public function store(MediaMonitoringRequest $request){ + public function store(MediaMonitoringRequest $request) + { $validatedData = $request->validated(); - try{ + try { $latestCode = MediaMonitoring::max('code'); $lastNumber = $latestCode ? intval(substr($latestCode, 3)) : 0; $newNumber = str_pad($lastNumber + 1, 6, '0', STR_PAD_LEFT); @@ -49,62 +51,65 @@ public function store(MediaMonitoringRequest $request){ $validatedData['image'] = store_file($validatedData['image'], 'uploads/media-monitorings')['randomFileName']; MediaMonitoring::create($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menambahkan monitoring media.'); } return redirect()->back()->with('success-status', 'Berhasil menambahkan monitoring media.'); } - public function edit($id){ + public function edit($id) + { $mediaMonitoring = MediaMonitoring::findOrFail(decrypt_id($id)); return view('dashboard.media-monitorings.edit', [ 'title' => 'Ubah Monitoring Media', - 'mediaMonitoring' => $mediaMonitoring + 'mediaMonitoring' => $mediaMonitoring, ]); } - public function update(MediaMonitoringRequest $request, $id){ + public function update(MediaMonitoringRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $mediaMonitoring = MediaMonitoring::findOrFail(decrypt_id($id)); $validatedData['code'] = $mediaMonitoring->code; - if($request->has('image')){ + if ($request->has('image')) { delete_file('app/public/uploads/media-monitorings/'.$mediaMonitoring->image); $validatedData['image'] = store_file($validatedData['image'], '/uploads/media-monitorings')['randomFileName']; - }else{ + } else { $validatedData['image'] = $mediaMonitoring->image; } $mediaMonitoring->update($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah monitoring media.'); } return redirect()->route('dashboard.media.monitorings.show', ['id' => encrypt_id($mediaMonitoring->id)])->with('success-status', 'Berhasil mengubah monitoring media.'); } - public function show($id){ + public function show($id) + { $mediaMonitoring = MediaMonitoring::findOrFail(decrypt_id($id)); return view('dashboard.media-monitorings.show', [ 'title' => 'Detail Monitoring Media', - 'mediaMonitoring' => $mediaMonitoring + 'mediaMonitoring' => $mediaMonitoring, ]); } - public function destroy($id){ + public function destroy($id) + { try { $mediaMonitoring = MediaMonitoring::findOrFail(decrypt_id($id)); delete_file('app/public/uploads/media-monitorings/'.$mediaMonitoring->image); $mediaMonitoring->delete(); - return response()->json(['message' => 'Berhasil menghapus monitoring media.']); } catch (\Exception $e) { return response()->json(['message' => 'Gagal menghapus monitoring media.'], 500); @@ -116,13 +121,14 @@ public function checkLink(Request $request) $linkExists = MediaMonitoring::where('link', $request->link)->exists(); return response()->json([ - 'exists' => $linkExists + 'exists' => $linkExists, ]); } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -130,7 +136,7 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.media.monitorings.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses filter data.'); } @@ -139,7 +145,7 @@ public function filter(Request $request){ public function export(Request $request) { - try{ + try { $news_title = $request->input('news_title', null); $channel = $request->input('channel', 'all'); $issue_status = $request->input('issue_status', 'all'); @@ -154,20 +160,21 @@ public function export(Request $request) $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); return Excel::download(new MediaMonitoringExport($news_title, $channel, $issue_status, $keyword, $input_year, $input_month, $input_date, $release_year, $release_month, $release_date), 'media-monitoring-'.$formattedNow.'.xlsx'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan export data.'); } } - public function printData($id){ + public function printData($id) + { - try{ + try { $mediaMonitoring = MediaMonitoring::with(['enhancer', 'issue'])->findOrFail(decrypt_id($id)); $pdf = Pdf::loadView('dashboard.media-monitorings.print', compact('mediaMonitoring')); - return $pdf->stream(slugify('monitoring media '. $mediaMonitoring->code).'.pdf'); - }catch(\Exception $e){ + return $pdf->stream(slugify('monitoring media '.$mediaMonitoring->code).'.pdf'); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan print data.'); } diff --git a/app/Http/Controllers/Dashboard/MediaOrderController.php b/app/Http/Controllers/Dashboard/MediaOrderController.php index 7c74cbb..817982f 100644 --- a/app/Http/Controllers/Dashboard/MediaOrderController.php +++ b/app/Http/Controllers/Dashboard/MediaOrderController.php @@ -15,7 +15,8 @@ class MediaOrderController extends Controller { - public function create($id){ + public function create($id) + { $cooperation = Cooperation::findOrFail(decrypt_id($id)); $media = $cooperation->proposals->where('status', '1')->pluck('media_id'); @@ -23,37 +24,38 @@ public function create($id){ 'title' => 'Buat Media Order', 'cooperation' => $cooperation, 'media' => Media::all(), - 'acceptedMedia' => $media + 'acceptedMedia' => $media, ]); } - public function store(OrderRequest $request, $id){ + public function store(OrderRequest $request, $id) + { $validatedData = $request->validated(); - try{ - if($request->hasFile('image')){ + try { + if ($request->hasFile('image')) { $validatedData['image'] = store_file($validatedData['image'], '/uploads/media-orders')['randomFileName']; - }else{ + } else { $validatedData['image'] = null; } $cooperation = Cooperation::findOrFail(decrypt_id($id)); $validatedData['cooperation_id'] = $cooperation->id; - $createdOrder = DB::transaction(function()use($validatedData, $cooperation){ + $createdOrder = DB::transaction(function () use ($validatedData, $cooperation) { $createdOrder = Order::create($validatedData); $createdOrder->media()->attach($validatedData['media_ids']); // Announcements $userId = []; - foreach($validatedData['media_ids'] as $mediaId){ + foreach ($validatedData['media_ids'] as $mediaId) { $userId[] = Media::find($mediaId)->company->user->id; } $announcementData = [ - 'headline' => '

Admin telah menerbitkan media order kerja sama '. $cooperation->name .'

', + 'headline' => '

Admin telah menerbitkan media order kerja sama '.$cooperation->name.'

', 'content' => '

Admin telah menerbitkan media order kerja sama '.$cooperation->name.'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($userId, ['category' => 'system']); @@ -67,12 +69,13 @@ public function store(OrderRequest $request, $id){ } else { return redirect()->back()->with('failed-status', 'Gagal membuat media order'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal membuat media order'); } } - public function edit($id){ + public function edit($id) + { // $cooperation = Cooperation::findOrFail(decrypt_id($id)); $mediaOrder = Order::findOrFail(decrypt_id($id)); @@ -86,23 +89,24 @@ public function edit($id){ 'mediaOrder' => $mediaOrder, 'media' => Media::all(), 'acceptedMedia' => $media, - 'acceptedMediaNow' => $mediaOrder->media->pluck('id') + 'acceptedMediaNow' => $mediaOrder->media->pluck('id'), ]); } - public function update(OrderRequest $request, $id){ + public function update(OrderRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $mediaOrder = Order::findOrFail(decrypt_id($id)); $validatedData['cooperation_id'] = $mediaOrder->cooperation_id; - if($request->hasFile('image')){ + if ($request->hasFile('image')) { $validatedData['image'] = store_file($validatedData['image'], '/uploads/media-orders')['randomFileName']; delete_file('app/public/uploads/media-orders/'.$mediaOrder->image); - }else{ + } else { $validatedData['image'] = $mediaOrder->image; } @@ -117,13 +121,14 @@ public function update(OrderRequest $request, $id){ } else { return redirect()->back()->with('failed-status', 'Gagal mengubah media order'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah media order'); } } - public function accept(Request $request, $id){ - if(!Auth::check() || Auth::user()->role_id !== 3){ + public function accept(Request $request, $id) + { + if (! Auth::check() || Auth::user()->role_id !== 3) { return abort(403, 'Unauthorized action.'); } @@ -133,7 +138,7 @@ public function accept(Request $request, $id){ ->where('media.id', Auth::user()->company->media->id) ->first(); - if (!$mediaOrder) { + if (! $mediaOrder) { return abort(404, 'Media not found for the cooperation.'); } @@ -144,9 +149,9 @@ public function accept(Request $request, $id){ // Announcements $announcementData = [ - 'headline' => 'Media '.$mediaOrder->name.' telah menerima media order kerja sama '.$order->cooperation->name. '', + 'headline' => 'Media '.$mediaOrder->name.' telah menerima media order kerja sama '.$order->cooperation->name.'', 'content' => 'Media '.$mediaOrder->name.' telah menerima media order kerja sama '.$order->cooperation->name.'', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $adminIds = User::where('role_id', 1)->pluck('id')->mapWithKeys(function ($id) { @@ -167,14 +172,15 @@ public function accept(Request $request, $id){ } } - public function reject(Request $request, $id){ + public function reject(Request $request, $id) + { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - try{ + try { $order = Order::with('media')->findOrFail(decrypt_id($id)); @@ -182,23 +188,23 @@ public function reject(Request $request, $id){ ->where('media.id', Auth::user()->company->media->id) ->first(); - if (!$mediaOrder) { + if (! $mediaOrder) { return abort(404, 'Media not found for the cooperation.'); } if ($mediaOrder->pivot->status == '0') { $affectedRows = $order->media()->updateExistingPivot($mediaOrder->id, [ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Media '.$mediaOrder->name.' menolak media order kerja sama '.$order->cooperation->name. '', + 'headline' => 'Media '.$mediaOrder->name.' menolak media order kerja sama '.$order->cooperation->name.'', 'content' => 'Media '.$mediaOrder->name.' menolak media order kerja sama '.$order->cooperation->name.'

Alasan:
'.$validatedData['rejection_reason'].'

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $adminIds = User::where('role_id', 1)->pluck('id')->mapWithKeys(function ($id) { @@ -217,7 +223,7 @@ public function reject(Request $request, $id){ } else { return redirect()->back()->with('failed-status', 'Kerja sama sudah diterima sebelumnya.'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menolak media order.'); } } diff --git a/app/Http/Controllers/Dashboard/NewsController.php b/app/Http/Controllers/Dashboard/NewsController.php index e90eeaf..d09b8cf 100644 --- a/app/Http/Controllers/Dashboard/NewsController.php +++ b/app/Http/Controllers/Dashboard/NewsController.php @@ -8,7 +8,6 @@ use App\Models\News; use Barryvdh\DomPDF\Facade\Pdf; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; @@ -16,7 +15,8 @@ class NewsController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.news.index', [ 'title' => 'Data Berita', 'category' => $request->input('category', null), @@ -27,65 +27,69 @@ public function index(Request $request){ } - public function create(){ + public function create() + { return view('dashboard.news.create', [ - 'title' => 'Buat Berita Baru' + 'title' => 'Buat Berita Baru', ]); } - public function store(NewsRequest $request){ + public function store(NewsRequest $request) + { // dd('hai'); $validatedData = $request->validated(); $isNewsExists = News::withTrashed()->where('slug', $validatedData['slug'])->first(); - if($isNewsExists){ + if ($isNewsExists) { return redirect()->back()->with('failed-status', 'Maaf, berita dengan judul tersebut sudah pernah ditambahkan.'); } - try{ - if($request->has('image')){ + try { + if ($request->has('image')) { $validatedData['image'] = store_file($validatedData['image'], '/uploads/news')['randomFileName']; } News::create($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal membuat berita baru.'); } return redirect()->route('dashboard.news.index')->with('success-status', 'Berhasil membuat berita baru.'); } - public function edit($id){ + public function edit($id) + { $news = News::findOrFail(decrypt_id($id)); return view('dashboard.news.edit', [ 'title' => 'Ubah Berita', - 'news' => $news + 'news' => $news, ]); } - public function update(NewsRequest $request, $id){ + public function update(NewsRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $news = News::findOrFail(decrypt_id($id)); - if($request->has('image')){ + if ($request->has('image')) { delete_file('uploads/news/'.$news->image); $validatedData['image'] = store_file($validatedData['image'], '/uploads/news')['randomFileName']; - }else{ + } else { $validatedData['image'] = $news->image; } $isNewsExists = News::where('slug', $validatedData['slug'])->first(); - if($isNewsExists && $isNewsExists->id !== $news->id){ + if ($isNewsExists && $isNewsExists->id !== $news->id) { return redirect()->back()->with('failed-status', 'Maaf, berita dengan judul tersebut sudah pernah ditambahkan.'); } $news->update($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah berita.'); } @@ -93,12 +97,13 @@ public function update(NewsRequest $request, $id){ } - public function show($id){ + public function show($id) + { $news = News::findOrFail(decrypt_id($id)); return view('dashboard.news.show', [ 'title' => 'Detail Berita', - 'news' => $news + 'news' => $news, ]); } @@ -106,9 +111,9 @@ public function destroy($id) { try { $news = News::findOrFail(decrypt_id($id)); - DB::transaction(function () use ($id, $news) { + DB::transaction(function () use ($news) { - $newSlug = Str::limit($news->slug . '-deleted-' . now()->timestamp, 191); + $newSlug = Str::limit($news->slug.'-deleted-'.now()->timestamp, 191); $news->update([ 'slug' => $newSlug, @@ -121,31 +126,32 @@ public function destroy($id) } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { return response()->json(['message' => 'Berita tidak ditemukan.'], 404); } catch (\Exception $e) { - Log::error('Gagal menghapus berita: ' . $e->getMessage()); + Log::error('Gagal menghapus berita: '.$e->getMessage()); + return response()->json(['message' => 'Gagal menghapus berita.'], 500); } } - public function export(Request $request) { - try{ + try { $category = $request->input('category', 'all'); $year = $request->input('year', null); $month = $request->input('month', null); $date = $request->input('date', null); return Excel::download(new NewsExport($category, $year, $month, $date), 'news.xlsx'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function filter(Request $request){ + public function filter(Request $request) + { - try{ + try { $filteredRequest = $request->except('_token'); $filterField = array_filter($filteredRequest, function ($value) { @@ -153,22 +159,22 @@ public function filter(Request $request){ }); return redirect()->route('dashboard.news.index', $filterField); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('status-failed', 'Gagal melakukan proses filtering data.'); } - } - public function printData($slug){ + public function printData($slug) + { - try{ + try { $news = News::where('slug', $slug)->first(); $pdf = Pdf::loadView('dashboard.news.print', compact('news')); return $pdf->stream('berita-'.$news->slug.'.pdf'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses print data.'); } @@ -179,7 +185,7 @@ public function checkLink(Request $request) $linkExists = News::where('link', $request->link)->exists(); return response()->json([ - 'exists' => $linkExists + 'exists' => $linkExists, ]); } } diff --git a/app/Http/Controllers/Dashboard/OverviewController.php b/app/Http/Controllers/Dashboard/OverviewController.php index b4afdfd..1b2f768 100644 --- a/app/Http/Controllers/Dashboard/OverviewController.php +++ b/app/Http/Controllers/Dashboard/OverviewController.php @@ -22,7 +22,7 @@ class OverviewController extends Controller public function index(Request $request) { $data = [ - 'title' => 'Ikhtisar' + 'title' => 'Ikhtisar', ]; $year = $request->input('year') ? $request->input('year') : Carbon::now()->year; @@ -66,7 +66,6 @@ public function index(Request $request) $data['rejectedMediaOrder'] = $mediaOrder[2] ?? 0; // Status 2 = ditolak // Akhir Statistik Media Order - // Statistik Rekap Konten $contentRecap = ContentRecap::all(); $contentRecapCount = $contentRecap->groupBy('channel')->map(function ($group) { @@ -145,7 +144,7 @@ public function index(Request $request) $query->where('media_orders.status', '=', '1'); }) ->get(); - } else if (is_role(['1'])) { + } elseif (is_role(['1'])) { // Statistik Isu $issues = IssueManagement::all(); $issueCounts = $issues->groupBy('issue')->map(function ($group) { @@ -184,7 +183,6 @@ public function index(Request $request) $data['rejectedMediaOrder'] = $mediaOrder[2] ?? 0; // Status 2 = ditolak // Akhir Statistik Media Order - // Statistik Rekap Konten $contentRecap = ContentRecap::all(); $contentRecapCount = $contentRecap->groupBy('channel')->map(function ($group) { @@ -233,7 +231,7 @@ public function index(Request $request) // Data kalender media order $data['mediaOrders'] = Order::with(['cooperation'])->get(); - } else if (is_role(['5'])) { + } elseif (is_role(['5'])) { // Statistik Penyelesaian Kerja sama $cooperationCompletion = CooperationCompletion::all(); diff --git a/app/Http/Controllers/Dashboard/ReportController.php b/app/Http/Controllers/Dashboard/ReportController.php index 43dca5f..8a0ac6f 100644 --- a/app/Http/Controllers/Dashboard/ReportController.php +++ b/app/Http/Controllers/Dashboard/ReportController.php @@ -16,8 +16,8 @@ class ReportController extends Controller { - - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.reports.index', [ 'title' => 'Laporan Bukti Tayang', 'mediaCollection' => Media::all(), @@ -30,108 +30,116 @@ public function index(Request $request){ ]); } - public function create($id){ + public function create($id) + { return view('dashboard.reports.create', [ 'title' => 'Buat Laporan', - 'mediaOrderId' => $id + 'mediaOrderId' => $id, ]); } - public function store(ReportRequest $request, $id){ + public function store(ReportRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $validatedData['media_id'] = Auth::user()->company->media->id; $validatedData['order_id'] = decrypt_id($id); $validatedData['proof'] = store_file($validatedData['proof'], '/uploads/reports')['randomFileName']; Report::create($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menambahkan laporan.'); } return redirect()->route('dashboard.cooperations.process', ['id' => $id, 'process' => 'reports'])->with('success-status', 'Berhasil menambahkan laporan.'); } - public function edit($mediaOrderId, $id){ + public function edit($mediaOrderId, $id) + { $report = Report::findOrFail(decrypt_id($id)); return view('dashboard.reports.edit', [ 'title' => 'Buat Laporan', 'report' => $report, - 'mediaOrderId' => $mediaOrderId + 'mediaOrderId' => $mediaOrderId, ]); } - public function update(ReportRequest $request, $mediaOrderId, $id){ + public function update(ReportRequest $request, $mediaOrderId, $id) + { $validatedData = $request->validated(); $validatedData['media_id'] = Auth::user()->company->media->id; $validatedData['order_id'] = decrypt_id($mediaOrderId); $validatedData['status'] = '0'; - try{ + try { $report = Report::findOrFail(decrypt_id($id)); - if($request->hasFile('image')){ + if ($request->hasFile('image')) { $validatedData['proof'] = store_file($validatedData['proof'], '/uploads/reports')['randomFileName']; delete_file('app/public/uploads/reports/'.$report->proof); - }else{ + } else { $validatedData['proof'] = $report->proof; } $updatedReport = $report->update($validatedData); - if($updatedReport){ + if ($updatedReport) { return redirect()->back()->with('success-status', 'Berhasil mengubah laporan.'); - }else{ + } else { return redirect()->back()->with('failed-status', 'Gagal mengubah laporan.'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah laporan.'); } } - public function show($mediaOrderId, $id){ + public function show($mediaOrderId, $id) + { $report = Report::findOrFail(decrypt_id($id)); return view('dashboard.reports.show', [ 'title' => 'Detail Laporan', 'report' => $report, - 'mediaOrderId' => $mediaOrderId + 'mediaOrderId' => $mediaOrderId, ]); } - public function showIndex($id){ + public function showIndex($id) + { $report = Report::findOrFail(decrypt_id($id)); return view('dashboard.reports.index.show', [ 'title' => 'Detail Penyelesaian Kerja Sama', - 'report' => $report + 'report' => $report, ]); } - public function processIndex($id){ + public function processIndex($id) + { $report = Report::findOrFail(decrypt_id($id)); return view('dashboard.reports.index.process', [ 'title' => 'Detail Penyelesaian Kerja Sama', - 'report' => $report + 'report' => $report, ]); } - public function accept($id){ + public function accept($id) + { $report = Report::findOrFail(decrypt_id($id)); $acceptedReport = $report->update([ - 'status' => '1' + 'status' => '1', ]); // Announcements $announcementData = [ - 'headline' => 'Laporan bukti tayang kerja sama '. $report->order->cooperation->name .' telah disetujui', + 'headline' => 'Laporan bukti tayang kerja sama '.$report->order->cooperation->name.' telah disetujui', 'content' => '

Admin telah menyetujui laporan bukti tayang Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($report->media->company->user->id, ['category' => 'system']); @@ -144,36 +152,38 @@ public function accept($id){ } } - public function reject($mediaOrderId, $id){ + public function reject($mediaOrderId, $id) + { $report = Report::findOrFail(decrypt_id($id)); return view('dashboard.reports.reject', [ 'title' => 'Tolak Laporan', 'report' => $report, - 'mediaOrderId' => $mediaOrderId + 'mediaOrderId' => $mediaOrderId, ]); } - public function rejectAction(Request $request, $mediaOrderId, $id){ + public function rejectAction(Request $request, $mediaOrderId, $id) + { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - try{ + try { $report = Report::findOrFail(decrypt_id($id)); $rejectedReport = $report->update([ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Laporan bukti tayang kerja sama '. $report->order->cooperation->name .' telah ditolak', + 'headline' => 'Laporan bukti tayang kerja sama '.$report->order->cooperation->name.' telah ditolak', 'content' => '

Admin telah menolak laporan bukti tayang Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($report->media->company->user->id, ['category' => 'system']); @@ -184,31 +194,32 @@ public function rejectAction(Request $request, $mediaOrderId, $id){ } else { return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang'); } } - public function rejectActionIndex(Request $request, $id){ + public function rejectActionIndex(Request $request, $id) + { $validatedData = $request->validate([ 'rejection_reason' => ['required'], ], [ 'rejection_reason.required' => 'Alasan penolakan wajib diisi.', ]); - try{ + try { $report = Report::findOrFail(decrypt_id($id)); $rejectedReport = $report->update([ 'status' => '2', - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); // Announcements $announcementData = [ - 'headline' => 'Laporan bukti tayang kerja sama '. $report->order->cooperation->name .' telah ditolak', + 'headline' => 'Laporan bukti tayang kerja sama '.$report->order->cooperation->name.' telah ditolak', 'content' => '

Admin telah menolak laporan bukti tayang Anda.

', - 'enhancer_id' => Auth::id() + 'enhancer_id' => Auth::id(), ]; $createdAnnouncement = Announcement::create($announcementData); $createdAnnouncement->users()->attach($report->media->company->user->id, ['category' => 'system']); @@ -219,18 +230,18 @@ public function rejectActionIndex(Request $request, $id){ } else { return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang'); } } - public function destroy($id){ + public function destroy($id) + { try { $report = Report::findOrFail(decrypt_id($id)); delete_file('app/public/uploads/reports/'.$report->proof); $report->forceDelete(); - return response()->json(['message' => 'Berhasil menghapus laporan bukti tayang.']); } catch (\Exception $e) { return response()->json(['message' => 'Gagal menghapus laporan bukti tayang.'], 500); @@ -240,17 +251,17 @@ public function destroy($id){ public function checkLink(Request $request) { $linkExists = Report::where('link', $request->link) - ->where('media_id', Auth::user()->company->media->id) - ->exists(); + ->where('media_id', Auth::user()->company->media->id) + ->exists(); return response()->json([ - 'exists' => $linkExists + 'exists' => $linkExists, ]); } public function export(Request $request) { - try{ + try { $export_type = $request->input('export_type', 'excel'); $media = $request->input('media', null); @@ -260,23 +271,24 @@ public function export(Request $request) $to_month = $request->input('to_month', null); $date = $request->input('date', null); - if($export_type === 'excel'){ + if ($export_type === 'excel') { $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); + return Excel::download(new ReportExport($media, $status, $year, $from_month, $to_month, $date), 'reports-'.$formattedNow.'.xlsx'); - }elseif($export_type === 'pdf'){ - if(is_role(['1', '5'])){ + } elseif ($export_type === 'pdf') { + if (is_role(['1', '5'])) { $query = Report::with(['media.company', 'order.cooperation']); - }else if(is_role(['3'])){ + } elseif (is_role(['3'])) { $mediaId = Auth::user()->company->media->id; $query = Report::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId); } - if (!empty($media) && is_array($media)) { + if (! empty($media) && is_array($media)) { $query->whereIn('media_id', $media); } if ($status) { - switch($status){ + switch ($status) { case 'waiting': $query->where('status', '0'); break; @@ -311,20 +323,21 @@ public function export(Request $request) return $pdf->stream(slugify('laporan bukti tayang ').'.pdf'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.'); } } - public function singlePrint(){ - try{ + public function singlePrint() + { + try { $report = Report::with(['media.company', 'order.cooperation'])->first(); $pdf = Pdf::loadView('dashboard.reports.prints.single', compact('report')); - return $pdf->stream(slugify('laporan bukti tayang '. $report->title. ' '. $report->media->name).'.pdf'); - }catch(\Exception $e){ + return $pdf->stream(slugify('laporan bukti tayang '.$report->title.' '.$report->media->name).'.pdf'); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal melakukan proses print data.'); } } diff --git a/app/Http/Controllers/Dashboard/RoleController.php b/app/Http/Controllers/Dashboard/RoleController.php index ca47d06..a494458 100644 --- a/app/Http/Controllers/Dashboard/RoleController.php +++ b/app/Http/Controllers/Dashboard/RoleController.php @@ -3,13 +3,13 @@ namespace App\Http\Controllers\Dashboard; use App\Http\Controllers\Controller; -use Illuminate\Http\Request; class RoleController extends Controller { - public function index(){ + public function index() + { return view('dashboard.role.index', [ - 'title' => 'Role Pengguna' + 'title' => 'Role Pengguna', ]); } } diff --git a/app/Http/Controllers/Dashboard/SettingController.php b/app/Http/Controllers/Dashboard/SettingController.php index ddbf909..7103f81 100644 --- a/app/Http/Controllers/Dashboard/SettingController.php +++ b/app/Http/Controllers/Dashboard/SettingController.php @@ -5,11 +5,11 @@ use App\Http\Controllers\Controller; use App\Http\Requests\SettingRequest; use App\Settings\AppSettings; -use Illuminate\Http\Request; class SettingController extends Controller { - public function index(){ + public function index() + { return view('dashboard.setting.index', [ 'title' => 'Pengaturan Aplikasi', ]); @@ -19,7 +19,7 @@ public function update(SettingRequest $request) { $validatedData = $request->validated(); - try{ + try { $settings = app(AppSettings::class); $files = ['app_icon', 'app_logo']; @@ -35,32 +35,31 @@ public function update(SettingRequest $request) } $settings->fill([ - 'app_name' => $validatedData['app_name'] ?? $settings->app_name, - 'app_title' => $validatedData['app_title'] ?? $settings->app_title, + 'app_name' => $validatedData['app_name'] ?? $settings->app_name, + 'app_title' => $validatedData['app_title'] ?? $settings->app_title, 'app_description' => $validatedData['app_description'] ?? $settings->app_description, - 'app_keywords' => $validatedData['app_keywords'] ?? $settings->app_keywords, - 'app_icon' => $validFile['app_icon'] ?? $settings->app_icon, - 'app_logo' => $validFile['app_logo'] ?? $settings->app_logo, + 'app_keywords' => $validatedData['app_keywords'] ?? $settings->app_keywords, + 'app_icon' => $validFile['app_icon'] ?? $settings->app_icon, + 'app_logo' => $validFile['app_logo'] ?? $settings->app_logo, 'contact_address' => $validatedData['contact_address'] ?? $settings->contact_address, 'contact_address_link' => $validatedData['contact_address_link'] ?? $settings->contact_address_link, - 'contact_phone' => $validatedData['contact_phone'] ?? $settings->contact_phone, - 'contact_email' => $validatedData['contact_email'] ?? $settings->contact_email, - 'contact_facebook' => $validatedData['contact_facebook'] ?? $settings->contact_facebook, - 'contact_twitter' => $validatedData['contact_twitter'] ?? $settings->contact_twitter, - 'contact_instagram' => $validatedData['contact_instagram'] ?? $settings->contact_instagram, - 'contact_youtube' => $validatedData['contact_youtube'] ?? $settings->contact_youtube, - 'contact_whatsapp' => $validatedData['contact_whatsapp'] ?? $settings->contact_whatsapp, - 'contact_telegram' => $validatedData['contact_telegram'] ?? $settings->contact_telegram, - 'about_us' => $validatedData['about_us'] ?? $settings->about_us, + 'contact_phone' => $validatedData['contact_phone'] ?? $settings->contact_phone, + 'contact_email' => $validatedData['contact_email'] ?? $settings->contact_email, + 'contact_facebook' => $validatedData['contact_facebook'] ?? $settings->contact_facebook, + 'contact_twitter' => $validatedData['contact_twitter'] ?? $settings->contact_twitter, + 'contact_instagram' => $validatedData['contact_instagram'] ?? $settings->contact_instagram, + 'contact_youtube' => $validatedData['contact_youtube'] ?? $settings->contact_youtube, + 'contact_whatsapp' => $validatedData['contact_whatsapp'] ?? $settings->contact_whatsapp, + 'contact_telegram' => $validatedData['contact_telegram'] ?? $settings->contact_telegram, + 'about_us' => $validatedData['about_us'] ?? $settings->about_us, ]); if ($settings->save()) { return redirect()->back()->with('success-status', 'Berhasil mengubah informasi aplikasi.'); } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah informasi aplikasi.'); } } - } diff --git a/app/Http/Controllers/Dashboard/StatisticController.php b/app/Http/Controllers/Dashboard/StatisticController.php index 79d4989..e5fc350 100644 --- a/app/Http/Controllers/Dashboard/StatisticController.php +++ b/app/Http/Controllers/Dashboard/StatisticController.php @@ -15,17 +15,17 @@ use Barryvdh\DomPDF\Facade\Pdf; use Carbon\Carbon; use Illuminate\Http\Request; -use Illuminate\Support\Facades\DB; class StatisticController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { $statistics = [ [ 'name' => 'Aktivitas Login', 'category' => 'login-activities', - 'is_available' => true + 'is_available' => true, ], // [ // 'name' => 'Jurnalis', @@ -35,12 +35,12 @@ public function index(Request $request){ [ 'name' => 'Kerja Sama Media', 'category' => 'media-cooperations', - 'is_available' => true + 'is_available' => true, ], [ 'name' => 'Laporan Bukti Tayang', 'category' => 'airing-proof-reports', - 'is_available' => true + 'is_available' => true, ], // [ // 'name' => 'Media', @@ -50,17 +50,17 @@ public function index(Request $request){ [ 'name' => 'Monitoring Media & Manajemen Isu', 'category' => 'media-monitorings-issue-management', - 'is_available' => true + 'is_available' => true, ], [ 'name' => 'Penyelesaian Kerja Sama', 'category' => 'cooperation-completions', - 'is_available' => true + 'is_available' => true, ], [ 'name' => 'Pengguna', 'category' => 'users', - 'is_available' => true + 'is_available' => true, ], // [ // 'name' => 'Perusahaan', @@ -70,23 +70,23 @@ public function index(Request $request){ [ 'name' => 'Rekap Konten', 'category' => 'content-recaps', - 'is_available' => true + 'is_available' => true, ], [ 'name' => 'Pengunjung Website', 'category' => 'website-visitors', - 'is_available' => true + 'is_available' => true, ], ]; - return view('dashboard.statistics.index', [ 'title' => 'Statistik', - 'statistics' => $statistics + 'statistics' => $statistics, ]); } - public function show(Request $request, $category){ + public function show(Request $request, $category) + { $data = [ 'category' => $category, @@ -101,7 +101,7 @@ public function show(Request $request, $category){ 'companies', ]; - if(in_array($category, $upComings)){ + if (in_array($category, $upComings)) { return redirect()->back()->with('waiting-status', 'Dalam pegembangan'); } @@ -109,7 +109,7 @@ public function show(Request $request, $category){ $from_month = $request->input('from_month', null); $to_month = $request->input('to_month', null); - switch($category){ + switch ($category) { case 'login-activities': $data['title'] = 'Statistik Aktivitas Login'; $data['data_time'] = $year === 'all' ? 'Semua' : 'Tahun '.$year; @@ -118,7 +118,7 @@ public function show(Request $request, $category){ $loginActivities = LoginHistory::with(['user']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $loginActivities->whereYear('created_at', '=', $year); } @@ -140,11 +140,11 @@ public function show(Request $request, $category){ $mediaCooperation = MediaCooperation::with(['cooperation', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $mediaCooperation->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -156,7 +156,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $mediaCooperation->whereBetween('created_at', [$start, $end]); } @@ -176,7 +176,7 @@ public function show(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $mediaCooperation->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -185,7 +185,7 @@ public function show(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -216,11 +216,11 @@ public function show(Request $request, $category){ $airingProofReport = Report::with(['order', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $airingProofReport->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -232,7 +232,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $airingProofReport->whereBetween('created_at', [$start, $end]); } @@ -252,7 +252,7 @@ public function show(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $airingProofReport->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -261,7 +261,7 @@ public function show(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -294,12 +294,12 @@ public function show(Request $request, $category){ $issues = IssueManagement::with(['mediaMonitoring']); $mediaMonitorings = MediaMonitoring::with(['issue']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $issues->whereYear('created_at', $year); $mediaMonitorings->whereYear('created_at', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -311,7 +311,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $issues->whereBetween('created_at', [$start, $end]); $mediaMonitorings->whereBetween('created_at', [$start, $end]); @@ -320,7 +320,6 @@ public function show(Request $request, $category){ $issues = $issues->get(); $mediaMonitorings = $mediaMonitorings->get(); - $issueCounts = $issues->groupBy('issue')->map(function ($group) { return $group->count(); }); @@ -361,28 +360,28 @@ public function show(Request $request, $category){ }); $mediaMonitoringWithoutIssue = MediaMonitoring::doesntHave('issue') - ->when($year && $year !== 'all' && !(filled($from_month) || filled($to_month)), function ($query) use ($year) { - $query->whereYear('created_at', $year); - }) - ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { - $start = Carbon::parse($from_month)->startOfMonth(); - $end = Carbon::parse($to_month)->endOfMonth(); + ->when($year && $year !== 'all' && ! (filled($from_month) || filled($to_month)), function ($query) use ($year) { + $query->whereYear('created_at', $year); + }) + ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { + $start = Carbon::parse($from_month)->startOfMonth(); + $end = Carbon::parse($to_month)->endOfMonth(); - $query->whereBetween('created_at', [$start, $end]); - }) - ->get(); + $query->whereBetween('created_at', [$start, $end]); + }) + ->get(); $mediaMonitoringWithIssue = MediaMonitoring::has('issue') - ->when($year && $year !== 'all' && !(filled($from_month) || filled($to_month)), function ($query) use ($year) { - $query->whereYear('created_at', $year); - }) - ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { - $start = Carbon::parse($from_month)->startOfMonth(); - $end = Carbon::parse($to_month)->endOfMonth(); + ->when($year && $year !== 'all' && ! (filled($from_month) || filled($to_month)), function ($query) use ($year) { + $query->whereYear('created_at', $year); + }) + ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { + $start = Carbon::parse($from_month)->startOfMonth(); + $end = Carbon::parse($to_month)->endOfMonth(); - $query->whereBetween('created_at', [$start, $end]); - }) - ->get(); + $query->whereBetween('created_at', [$start, $end]); + }) + ->get(); $data['mediaMonitoringWithoutIssueCount'] = $mediaMonitoringWithoutIssue->count(); $data['mediaMonitoringWithIssueCount'] = $mediaMonitoringWithIssue->count(); @@ -397,11 +396,11 @@ public function show(Request $request, $category){ $cooperationCompletion = CooperationCompletion::with(['order', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $cooperationCompletion->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -413,7 +412,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $cooperationCompletion->whereBetween('created_at', [$start, $end]); } @@ -433,7 +432,7 @@ public function show(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $cooperationCompletion->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -442,7 +441,7 @@ public function show(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -475,11 +474,11 @@ public function show(Request $request, $category){ $registerUsers = User::query(); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $registerUsers->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -491,7 +490,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $registerUsers->whereBetween('created_at', [$start, $end]); } @@ -513,11 +512,11 @@ public function show(Request $request, $category){ $contenteRecap = ContentRecap::with(['enhancer', 'classification']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $contenteRecap->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -529,7 +528,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $contenteRecap->whereBetween('created_at', [$start, $end]); } @@ -576,11 +575,11 @@ public function show(Request $request, $category){ $websiteVisitors = Visitor::query(); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $websiteVisitors->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -592,7 +591,7 @@ public function show(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $websiteVisitors->whereBetween('created_at', [$start, $end]); } @@ -613,7 +612,8 @@ public function show(Request $request, $category){ } } - public function export(Request $request, $category){ + public function export(Request $request, $category) + { $data = [ 'category' => $category, @@ -629,7 +629,7 @@ public function export(Request $request, $category){ // dd($from_month.' - '. $to_month); - switch($category){ + switch ($category) { case 'login-activities': $data['title'] = 'Statistik Aktivitas Login'; @@ -637,7 +637,7 @@ public function export(Request $request, $category){ $loginActivities = LoginHistory::with(['user']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $loginActivities->whereYear('created_at', '=', $year); } @@ -653,6 +653,7 @@ public function export(Request $request, $category){ $data['loginActivities'] = $monthlyCount; $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.login-activity', $data); + return $pdf->stream('aktivitas-login-'.$data['year'].'.pdf'); case 'media-cooperations': $data['title'] = 'Statistik Kerja Sama Media'; @@ -660,11 +661,11 @@ public function export(Request $request, $category){ $mediaCooperation = MediaCooperation::with(['cooperation', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $mediaCooperation->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -676,7 +677,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $mediaCooperation->whereBetween('created_at', [$start, $end]); } @@ -696,7 +697,7 @@ public function export(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $mediaCooperation->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -705,7 +706,7 @@ public function export(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -732,6 +733,7 @@ public function export(Request $request, $category){ // dd($data); $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.media-cooperation', $data); + return $pdf->stream('kerja-sama-media.pdf'); case 'airing-proof-reports': $data['title'] = 'Statistik Laporan Bukti Tayang'; @@ -739,11 +741,11 @@ public function export(Request $request, $category){ $airingProofReport = Report::with(['order', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $airingProofReport->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -755,7 +757,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $airingProofReport->whereBetween('created_at', [$start, $end]); } @@ -775,7 +777,7 @@ public function export(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $airingProofReport->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -784,7 +786,7 @@ public function export(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -809,6 +811,7 @@ public function export(Request $request, $category){ $data['airingProofReportRejected'] = $airingProofReportCount->get('2', 0); $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.airing-proof-report', $data); + return $pdf->stream('laporan-bukti-tayang.pdf'); case 'media-monitorings-issue-management': $data['title'] = 'Statistik Monitoring Media & Manajemen Isu'; @@ -818,12 +821,12 @@ public function export(Request $request, $category){ $issues = IssueManagement::with(['mediaMonitoring']); $mediaMonitorings = MediaMonitoring::with(['issue']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $issues->whereYear('created_at', $year); $mediaMonitorings->whereYear('created_at', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -835,7 +838,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $issues->whereBetween('created_at', [$start, $end]); $mediaMonitorings->whereBetween('created_at', [$start, $end]); @@ -844,7 +847,6 @@ public function export(Request $request, $category){ $issues = $issues->get(); $mediaMonitorings = $mediaMonitorings->get(); - $issueCounts = $issues->groupBy('issue')->map(function ($group) { return $group->count(); }); @@ -885,28 +887,28 @@ public function export(Request $request, $category){ }); $mediaMonitoringWithoutIssue = MediaMonitoring::doesntHave('issue') - ->when($year && $year !== 'all' && !(filled($from_month) || filled($to_month)), function ($query) use ($year) { - $query->whereYear('created_at', $year); - }) - ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { - $start = Carbon::parse($from_month)->startOfMonth(); - $end = Carbon::parse($to_month)->endOfMonth(); + ->when($year && $year !== 'all' && ! (filled($from_month) || filled($to_month)), function ($query) use ($year) { + $query->whereYear('created_at', $year); + }) + ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { + $start = Carbon::parse($from_month)->startOfMonth(); + $end = Carbon::parse($to_month)->endOfMonth(); - $query->whereBetween('created_at', [$start, $end]); - }) - ->get(); + $query->whereBetween('created_at', [$start, $end]); + }) + ->get(); $mediaMonitoringWithIssue = MediaMonitoring::has('issue') - ->when($year && $year !== 'all' && !(filled($from_month) || filled($to_month)), function ($query) use ($year) { - $query->whereYear('created_at', $year); - }) - ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { - $start = Carbon::parse($from_month)->startOfMonth(); - $end = Carbon::parse($to_month)->endOfMonth(); + ->when($year && $year !== 'all' && ! (filled($from_month) || filled($to_month)), function ($query) use ($year) { + $query->whereYear('created_at', $year); + }) + ->when($from_month && $to_month, function ($query) use ($from_month, $to_month) { + $start = Carbon::parse($from_month)->startOfMonth(); + $end = Carbon::parse($to_month)->endOfMonth(); - $query->whereBetween('created_at', [$start, $end]); - }) - ->get(); + $query->whereBetween('created_at', [$start, $end]); + }) + ->get(); $data['mediaMonitoringWithoutIssueCount'] = $mediaMonitoringWithoutIssue->count(); $data['mediaMonitoringWithIssueCount'] = $mediaMonitoringWithIssue->count(); @@ -915,6 +917,7 @@ public function export(Request $request, $category){ $data['issueManagementMonthly'] = $issueManagementMonthly; $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.media-monitoring-issue-management', $data); + return $pdf->stream('monitoring-media-manajemen-isu.pdf'); case 'cooperation-completions': $data['title'] = 'Statistik Penyelesaian Kerja Sama'; @@ -922,11 +925,11 @@ public function export(Request $request, $category){ $cooperationCompletion = CooperationCompletion::with(['order', 'media']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $cooperationCompletion->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -938,7 +941,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $cooperationCompletion->whereBetween('created_at', [$start, $end]); } @@ -958,7 +961,7 @@ public function export(Request $request, $category){ // Kelompokkan data berdasarkan status lalu bulan $cooperationCompletion->groupBy('status')->each(function ($groupedByStatus, $status) use (&$monthlyStatus) { - $label = match ((int)$status) { + $label = match ((int) $status) { 0 => 'waiting', 1 => 'accepted', 2 => 'rejected', @@ -967,7 +970,7 @@ public function export(Request $request, $category){ if ($label) { $groupedByStatus->groupBy(function ($item) { - return (int)$item->created_at->format('m'); // bulan sebagai angka 1–12 + return (int) $item->created_at->format('m'); // bulan sebagai angka 1–12 })->each(function ($items, $month) use (&$monthlyStatus, $label) { $monthlyStatus[$label][$month - 1] = $items->count(); }); @@ -992,6 +995,7 @@ public function export(Request $request, $category){ $data['cooperationCompletionRejected'] = $cooperationCompletionCount->get('2', 0); $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.cooperation-completion', $data); + return $pdf->stream('penyelesaian-kerja-sama.pdf'); case 'users': $data['title'] = 'Statistik Pengguna'; @@ -1001,11 +1005,11 @@ public function export(Request $request, $category){ $registerUsers = User::query(); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $registerUsers->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -1017,7 +1021,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $registerUsers->whereBetween('created_at', [$start, $end]); } @@ -1033,6 +1037,7 @@ public function export(Request $request, $category){ $data['registerUserMonth'] = $monthlyCount; $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.user', $data); + return $pdf->stream('pengguna.pdf'); case 'content-recaps': $data['title'] = 'Statistik Rekap Konten'; @@ -1040,11 +1045,11 @@ public function export(Request $request, $category){ $contenteRecap = ContentRecap::with(['enhancer', 'classification']); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $contenteRecap->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -1056,7 +1061,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $contenteRecap->whereBetween('created_at', [$start, $end]); } @@ -1095,6 +1100,7 @@ public function export(Request $request, $category){ $data['socialMedia3ContentRecap'] = $contentRecapSocialMediaCount->get('Purwakarta Saber Hoaks', 0); $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.content-recap', $data); + return $pdf->stream('rekap-konten.pdf'); case 'website-visitors': $data['title'] = 'Statistik Pengunjung Website'; @@ -1104,11 +1110,11 @@ public function export(Request $request, $category){ $websiteVisitors = Visitor::query(); - if($year && $year !== 'all' && !(filled($from_month) || filled($to_month))){ + if ($year && $year !== 'all' && ! (filled($from_month) || filled($to_month))) { $websiteVisitors->whereYear('created_at', '=', $year); } - if($from_month && $to_month){ + if ($from_month && $to_month) { $start = Carbon::parse($from_month)->startOfMonth(); $end = Carbon::parse($to_month)->endOfMonth(); @@ -1120,7 +1126,7 @@ public function export(Request $request, $category){ $fromFormatted = $fromDate ? $fromDate->translatedFormat('F Y') : '-'; $toFormatted = $toDate ? $toDate->translatedFormat('F Y') : '-'; - $data['data_time'] = $fromFormatted . ' - ' . $toFormatted; + $data['data_time'] = $fromFormatted.' - '.$toFormatted; $websiteVisitors->whereBetween('created_at', [$start, $end]); } @@ -1136,6 +1142,7 @@ public function export(Request $request, $category){ $data['websiteVisitorMonth'] = $monthlyCount; $pdf = Pdf::loadView('dashboard.statistics.exports.pdf.website-visitor', $data); + return $pdf->stream('pengunjung-aplikasi.pdf'); default: abort(404); diff --git a/app/Http/Controllers/Dashboard/SubClassificationController.php b/app/Http/Controllers/Dashboard/SubClassificationController.php index 6ffa5b7..82b82ca 100644 --- a/app/Http/Controllers/Dashboard/SubClassificationController.php +++ b/app/Http/Controllers/Dashboard/SubClassificationController.php @@ -7,12 +7,11 @@ use App\Models\Classification; use App\Models\SubClassification; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; class SubClassificationController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { $viewData = [ 'title' => 'Data Sub Klasifikasi', @@ -24,61 +23,66 @@ public function index(Request $request){ return view('dashboard.sub-classifications.index', $viewData); } - public function create(Request $request){ + public function create(Request $request) + { $viewData = [ 'title' => 'Buat Sub Klasifikasi Baru', - 'fromClassification' => false + 'fromClassification' => false, ]; - if($request->has('classification')){ + if ($request->has('classification')) { $classificationId = decrypt_id($request->query('classification')); $viewData['classification'] = Classification::findOrFail($classificationId); $viewData['fromClassification'] = true; - }else{ + } else { $viewData['classifications'] = Classification::all(); } return view('dashboard.sub-classifications.create', $viewData); } - public function store(SubClassificationRequest $request){ + public function store(SubClassificationRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdSubClassification = SubClassification::create($validatedData); return redirect()->route('dashboard.sub.classifications.index')->with('success-status', 'Berhasil membuat sub klasifikasi baru.') - ->with('new_data', encrypt_id($createdSubClassification->id)); - }catch(\Exception $e){ + ->with('new_data', encrypt_id($createdSubClassification->id)); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal membuat sub klasifikasi baru.'); } } - public function edit($id){ + public function edit($id) + { $subClassification = SubClassification::findOrFail(decrypt_id($id)); return view('dashboard.sub-classifications.edit', [ 'title' => 'Ubah Sub Klasifikasi', 'subClassification' => $subClassification, - 'classifications' => Classification::all() + 'classifications' => Classification::all(), ]); } - public function update(SubClassificationRequest $request, $id){ + public function update(SubClassificationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $subClassification = SubClassification::findOrFail(decrypt_id($id)); $subClassification->update($validatedData); return redirect()->route('dashboard.sub.classifications.show', ['id' => encrypt_id($subClassification->id)])->with('success-status', 'Berhasil mengubah sub klasifikasi.'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah sub klasifikasi.'); } } - public function show($id){ + public function show($id) + { $subClassification = SubClassification::with(['classification'])->withTrashed()->findOrFail(decrypt_id($id)); return view('dashboard.sub-classifications.show', [ @@ -87,7 +91,8 @@ public function show($id){ ]); } - public function destroy($id){ + public function destroy($id) + { try { $subClassification = SubClassification::findOrFail(decrypt_id($id)); $subClassification->delete(); diff --git a/app/Http/Controllers/Dashboard/SubLocationController.php b/app/Http/Controllers/Dashboard/SubLocationController.php index b65db8e..d837421 100644 --- a/app/Http/Controllers/Dashboard/SubLocationController.php +++ b/app/Http/Controllers/Dashboard/SubLocationController.php @@ -7,12 +7,11 @@ use App\Models\Location; use App\Models\SubLocation; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; class SubLocationController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { $viewData = [ 'title' => 'Data Sub Lokus', @@ -23,61 +22,66 @@ public function index(Request $request){ return view('dashboard.sub-locations.index', $viewData); } - public function create(Request $request){ + public function create(Request $request) + { $viewData = [ 'title' => 'Buat Sub Lokus Baru', - 'fromLocation' => false + 'fromLocation' => false, ]; - if($request->has('location')){ + if ($request->has('location')) { $locationId = decrypt_id($request->query('location')); $viewData['location'] = Location::findOrFail($locationId); $viewData['fromLocation'] = true; - }else{ + } else { $viewData['locations'] = Location::all(); } return view('dashboard.sub-locations.create', $viewData); } - public function store(SubLocationRequest $request){ + public function store(SubLocationRequest $request) + { $validatedData = $request->validated(); - try{ + try { $createdSubLocation = SubLocation::create($validatedData); return redirect()->route('dashboard.sub.locations.index')->with('success-status', 'Berhasil membuat sub lokus baru.') - ->with('new_data', encrypt_id($createdSubLocation->id)); - }catch(\Exception $e){ + ->with('new_data', encrypt_id($createdSubLocation->id)); + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal menambahkan sub lokus.'); } } - public function edit($id){ + public function edit($id) + { $subLocation = SubLocation::findOrFail(decrypt_id($id)); return view('dashboard.sub-locations.edit', [ 'title' => 'Ubah Sub Lokus', 'subLocation' => $subLocation, - 'locations' => Location::all() + 'locations' => Location::all(), ]); } - public function update(SubLocationRequest $request, $id){ + public function update(SubLocationRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $subLocation = SubLocation::findOrFail(decrypt_id($id)); $subLocation->update($validatedData); return redirect()->route('dashboard.sub.locations.show', ['id' => encrypt_id($subLocation->id)])->with('success-status', 'Berhasil mengubah sub lokus.'); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah sub lokus.'); } } - public function show($id){ + public function show($id) + { $subLocation = SubLocation::with(['location'])->findOrFail(decrypt_id($id)); return view('dashboard.sub-locations.show', [ @@ -86,7 +90,8 @@ public function show($id){ ]); } - public function destroy($id){ + public function destroy($id) + { try { $subLocation = SubLocation::findOrFail(decrypt_id($id)); $subLocation->delete(); diff --git a/app/Http/Controllers/Dashboard/UserController.php b/app/Http/Controllers/Dashboard/UserController.php index 91b8b6c..59c1422 100644 --- a/app/Http/Controllers/Dashboard/UserController.php +++ b/app/Http/Controllers/Dashboard/UserController.php @@ -17,7 +17,8 @@ class UserController extends Controller { - public function index(Request $request){ + public function index(Request $request) + { return view('dashboard.users.index', [ 'title' => 'Data Pengguna', 'role' => $request->input('role', null), @@ -25,19 +26,21 @@ public function index(Request $request){ ]); } - public function create(){ + public function create() + { return view('dashboard.users.create', [ 'title' => 'Buat Pengguna Baru', - 'roles' => Role::all() + 'roles' => Role::all(), ]); } - public function store(UserRequest $request){ + public function store(UserRequest $request) + { $validatedData = $request->validated(); - try{ + try { User::create($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal membuat pengguna baru.'); } @@ -45,30 +48,33 @@ public function store(UserRequest $request){ } - public function edit($id){ + public function edit($id) + { $user = User::with(['role'])->findOrFail(decrypt_id($id)); return view('dashboard.users.edit', [ 'title' => 'Ubah Pengguna', 'user' => $user, - 'roles' => Role::all() + 'roles' => Role::all(), ]); } - public function update(UserRequest $request, $id){ + public function update(UserRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { $user = User::findOrFail(decrypt_id($id)); $user->update($validatedData); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah pengguna.'); } return redirect()->back()->with('success-status', 'Berhasil mengubah pengguna.'); } - public function show($id, $type){ + public function show($id, $type) + { $user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id)); $data = [ @@ -76,7 +82,7 @@ public function show($id, $type){ 'user' => $user, 'roles' => Role::all(), 'page' => 'show-user', - 'type' => $type + 'type' => $type, ]; switch ($type) { @@ -85,6 +91,7 @@ public function show($id, $type){ case 'login-activities': $data['loginActivities'] = LoginHistory::where('user_id', $user->id)->orderByDesc('id')->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -102,24 +109,26 @@ public function show($id, $type){ } - public function resetPassword($id){ + public function resetPassword($id) + { $user = User::with(['role'])->findOrFail(decrypt_id($id)); - return view('dashboard.users.reset-password',[ + return view('dashboard.users.reset-password', [ 'title' => 'Reset Password', 'page' => 'reset', - 'user' => $user + 'user' => $user, ]); } - public function resetPasswordAction(ResetPasswordRequest $request, $id){ + public function resetPasswordAction(ResetPasswordRequest $request, $id) + { $validatedData = $request->validated(); - try{ + try { User::findOrFail(decrypt_id($id))->update([ - 'password' => $validatedData['password'] + 'password' => $validatedData['password'], ]); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mereset password pengguna.'); } @@ -157,14 +166,15 @@ public function destroy($id) } } - public function profile($type){ + public function profile($type) + { $data = [ 'title' => 'Detail Akun', 'user' => Auth::user(), 'roles' => Role::all(), 'page' => 'profile', - 'type' => $type + 'type' => $type, ]; switch ($type) { @@ -175,6 +185,7 @@ public function profile($type){ $data['loginActivities'] = LoginHistory::where('user_id', Auth::user()->id) ->orderByDesc('id') ->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -191,7 +202,8 @@ public function profile($type){ } } - public function filter(Request $request){ + public function filter(Request $request) + { $filteredRequest = $request->except('_token'); @@ -202,7 +214,8 @@ public function filter(Request $request){ return redirect()->route('dashboard.users.index', $filterField); } - public function process($id, $type, $process){ + public function process($id, $type, $process) + { $user = User::with(['role', 'company.media.journalists'])->findOrFail(decrypt_id($id)); $data = [ @@ -222,6 +235,7 @@ public function process($id, $type, $process){ $data['loginActivities'] = LoginHistory::where('user_id', $user->id) ->orderByDesc('id') ->simplePaginate(20); + return view('dashboard.users.profiles.login-activity', $data); case 'company': @@ -239,20 +253,21 @@ public function process($id, $type, $process){ } - public function statusAction(Request $request, $id, $action){ + public function statusAction(Request $request, $id, $action) + { $user = User::findOrFail(decrypt_id($id)); - try{ - if($user->status === '0' && Auth::check() && is_role(['1'])){ - if($action == 'accept'){ + try { + if ($user->status === '0' && Auth::check() && is_role(['1'])) { + if ($action == 'accept') { $user->update([ - 'status' => '1' + 'status' => '1', ]); Mail::to($user->email)->send(new AccountVerification($user, 'accepted')); return response()->json(['message' => 'Berhasil menyetujui pengguna.']); - }else if($action == 'reject'){ + } elseif ($action == 'reject') { $validatedData = $request->validate([ 'rejection_reason' => ['required'], @@ -261,11 +276,11 @@ public function statusAction(Request $request, $id, $action){ ]); $user->update([ - 'status' => '3' + 'status' => '3', ]); $user->company->update([ - 'rejection_reason' => $validatedData['rejection_reason'] + 'rejection_reason' => $validatedData['rejection_reason'], ]); Mail::to($user->email)->send(new AccountVerification($user, 'rejected', strip_tags($validatedData['rejection_reason']))); @@ -274,13 +289,14 @@ public function statusAction(Request $request, $id, $action){ } } - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Proses gagal.'); } } - public function setting(){ + public function setting() + { $user = Auth::user(); return view('dashboard.users.setting', [ @@ -289,45 +305,47 @@ public function setting(){ ]); } - public function settingAction(AccountSettingRequest $request){ + public function settingAction(AccountSettingRequest $request) + { $validatedData = $request->validated(); - try{ + try { $user = User::findOrFail(Auth::id()); $user->update([ 'name' => $validatedData['name'], 'email' => $validatedData['email'], ]); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah data akun.'); } return redirect()->back()->with('success-status', 'Berhasil mengubah data akun.'); } - public function changePassword(){ + public function changePassword() + { $user = User::with(['role'])->findOrFail(Auth::id()); - return view('dashboard.users.reset-password',[ + return view('dashboard.users.reset-password', [ 'title' => 'Ubah Password', 'page' => 'change', - 'user' => $user + 'user' => $user, ]); } - public function changePasswordAction(ChangePasswordRequest $request){ + public function changePasswordAction(ChangePasswordRequest $request) + { $validatedData = $request->validated(); - try{ + try { $user = User::findOrFail(Auth::id()); $user->update([ - 'password' => $validatedData['password'] + 'password' => $validatedData['password'], ]); - }catch(\Exception $e){ + } catch (\Exception $e) { return redirect()->back()->with('failed-status', 'Gagal mengubah password.'); } return redirect()->route('dashboard.users.setting')->with('success-status', 'Berhasil mengubah password.'); } - } diff --git a/app/Http/Controllers/HomepageController.php b/app/Http/Controllers/HomepageController.php index 9ed8468..c1af3d0 100644 --- a/app/Http/Controllers/HomepageController.php +++ b/app/Http/Controllers/HomepageController.php @@ -22,7 +22,8 @@ class HomepageController extends Controller protected $totalVisitor; - public function __construct(){ + public function __construct() + { $today = Carbon::today(); $yesterday = Carbon::yesterday(); $thisMonth = Carbon::now()->startOfMonth(); @@ -53,31 +54,33 @@ public function __construct(){ View::share('totalVisitor', $this->totalVisitor); } - public function landing(){ + public function landing() + { $data = [ 'title' => 'Beranda', 'page' => 'landing', 'news' => News::whereBetween('created_at', [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()]) - ->where('category', '=', '0') - ->latest() - ->get(), + ->where('category', '=', '0') + ->latest() + ->get(), 'announcements' => News::whereBetween('created_at', [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()]) - ->where('category', '=', '1') - ->latest() - ->get(), + ->where('category', '=', '1') + ->latest() + ->get(), ]; return view('homepage.index', $data); } - public function search(Request $request){ + public function search(Request $request) + { $request->validate([ - 'search' => 'nullable|string|max:255|regex:/^[a-zA-Z0-9\s]+$/' + 'search' => 'nullable|string|max:255|regex:/^[a-zA-Z0-9\s]+$/', ], [ 'search.string' => 'Pencarian harus berupa teks.', 'search.max' => 'Pencarian tidak boleh lebih dari 255 karakter.', - 'search.regex' => 'Pencarian hanya boleh mengandung huruf, angka, dan spasi.' + 'search.regex' => 'Pencarian hanya boleh mengandung huruf, angka, dan spasi.', ]); $search = trim($request->input('search')); @@ -87,18 +90,19 @@ public function search(Request $request){ 'page' => 'search', 'data' => News::query() ->when($search, function ($query, $search) { - return $query->where('title', 'LIKE', '%' . $search . '%'); + return $query->where('title', 'LIKE', '%'.$search.'%'); }) ->latest() ->simplePaginate(12) ->appends(['search' => $search]), - 'search' => $search + 'search' => $search, ]; return view('homepage.search', $data); } - public function news(Request $request){ + public function news(Request $request) + { $data = [ 'title' => 'Berita', @@ -107,19 +111,20 @@ public function news(Request $request){ $search = $request->input('search', null); - if($search){ + if ($search) { $data['news'] = News::where('title', 'LIKE', "%{$search}%") - ->where('category', '0') - ->latest() - ->simplePaginate(12); - }else{ + ->where('category', '0') + ->latest() + ->simplePaginate(12); + } else { $data['news'] = News::where('category', '0')->latest()->simplePaginate(12); } return view('homepage.news.index', $data); } - public function readNews($slug){ + public function readNews($slug) + { $news = News::where('slug', $slug)->first(); $news->increment('views', 1); @@ -128,14 +133,15 @@ public function readNews($slug){ 'page' => 'news', 'news' => $news, 'popularNews' => News::where('category', '0')->orderBy('views', 'desc')->take(5)->get(), - 'otherNews' => News::where('category', '0')->orderByDesc('id')->where('id', '!=', $news->id)->take(3)->get() + 'otherNews' => News::where('category', '0')->orderByDesc('id')->where('id', '!=', $news->id)->take(3)->get(), ]; return view('homepage.news.read', $data); } - public function announcement(Request $request){ + public function announcement(Request $request) + { $data = [ 'title' => 'Pengumuman', @@ -144,19 +150,20 @@ public function announcement(Request $request){ $search = $request->input('search', null); - if($search){ + if ($search) { $data['announcements'] = News::where('category', '1')->where('title', 'LIKE', "%{$search}%") // ->orWhere('content', 'LIKE', "%{$search}%") - ->latest() - ->simplePaginate(6); - }else{ + ->latest() + ->simplePaginate(6); + } else { $data['announcements'] = News::where('category', '1')->latest()->simplePaginate(6); } return view('homepage.announcements.index', $data); } - public function readAnnouncement($slug){ + public function readAnnouncement($slug) + { $announcement = News::where('slug', $slug)->first(); $announcement->increment('views', 1); @@ -164,45 +171,49 @@ public function readAnnouncement($slug){ 'title' => 'Pengumuman', 'page' => 'announcements', 'announcement' => $announcement, - 'otherAnnouncements' => News::where('category', '1')->orderByDesc('id')->where('id', '!=', $announcement->id)->take(4)->get() + 'otherAnnouncements' => News::where('category', '1')->orderByDesc('id')->where('id', '!=', $announcement->id)->take(4)->get(), ]; return view('homepage.announcements.read', $data); } - public function aboutUs(){ + public function aboutUs() + { $data = [ 'title' => 'Tentang Kami', - 'page' => 'about_us' + 'page' => 'about_us', ]; return view('homepage.about-us.index', $data); } - public function contact(){ + public function contact() + { $data = [ 'title' => 'Kontak', - 'page' => 'contacts' + 'page' => 'contacts', ]; return view('homepage.contacts.index', $data); } - public function receiveMessage(ReceiveMessageContactRequest $request){ - $validatedData = $request->validated(); + public function receiveMessage(ReceiveMessageContactRequest $request) + { + $validatedData = $request->validated(); $validatedData['ip_address'] = $request->ip(); $createdMessage = Contact::create($validatedData); - if($createdMessage){ - return "Berhasil mengirim pesan"; - }else{ - return "Gagal mengirim pesan"; + if ($createdMessage) { + return 'Berhasil mengirim pesan'; + } else { + return 'Gagal mengirim pesan'; } } - public function customError($code){ + public function customError($code) + { abort($code); } } diff --git a/app/Http/Middleware/AnnouncementMiddleware.php b/app/Http/Middleware/AnnouncementMiddleware.php index 30cd86e..b1c3fd4 100644 --- a/app/Http/Middleware/AnnouncementMiddleware.php +++ b/app/Http/Middleware/AnnouncementMiddleware.php @@ -2,8 +2,6 @@ namespace App\Http\Middleware; -use App\Models\Announcement; -use App\Models\Media; use App\Models\User; use Closure; use Illuminate\Http\Request; @@ -20,8 +18,8 @@ class AnnouncementMiddleware */ public function handle(Request $request, Closure $next): Response { - if(Auth::check() && Auth::user()->role_id == 3){ - $user = User::with(['announcements' => function($query) { + if (Auth::check() && Auth::user()->role_id == 3) { + $user = User::with(['announcements' => function ($query) { $query->orderBy('id', 'desc'); }])->find(Auth::user()->id); diff --git a/app/Http/Middleware/AuthenticatedMiddleware.php b/app/Http/Middleware/AuthenticatedMiddleware.php index 3e9eaac..f5c87db 100644 --- a/app/Http/Middleware/AuthenticatedMiddleware.php +++ b/app/Http/Middleware/AuthenticatedMiddleware.php @@ -17,7 +17,7 @@ class AuthenticatedMiddleware public function handle(Request $request, Closure $next): Response { - if(Auth::check()){ + if (Auth::check()) { return redirect()->route('dashboard.overview'); } diff --git a/app/Http/Middleware/RoleMiddleware.php b/app/Http/Middleware/RoleMiddleware.php index 00a4841..7196983 100644 --- a/app/Http/Middleware/RoleMiddleware.php +++ b/app/Http/Middleware/RoleMiddleware.php @@ -16,11 +16,11 @@ class RoleMiddleware */ public function handle(Request $request, Closure $next, ...$roles): Response { - if (!Auth::check()) { + if (! Auth::check()) { return redirect()->route('login'); } - if (!in_array(Auth::user()->role_id, $roles)) { + if (! in_array(Auth::user()->role_id, $roles)) { abort(403); } diff --git a/app/Http/Middleware/VisitorCounterMiddleware.php b/app/Http/Middleware/VisitorCounterMiddleware.php index 220b0c6..24cf826 100644 --- a/app/Http/Middleware/VisitorCounterMiddleware.php +++ b/app/Http/Middleware/VisitorCounterMiddleware.php @@ -5,7 +5,6 @@ use App\Models\Visitor; use Closure; use Illuminate\Http\Request; -use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\RateLimiter; use Symfony\Component\HttpFoundation\Response; diff --git a/app/Http/Requests/AiringProofThemeRequest.php b/app/Http/Requests/AiringProofThemeRequest.php index 42fcd98..5c5eb51 100644 --- a/app/Http/Requests/AiringProofThemeRequest.php +++ b/app/Http/Requests/AiringProofThemeRequest.php @@ -2,7 +2,6 @@ namespace App\Http\Requests; -use Dotenv\Util\Str; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Auth; @@ -46,7 +45,7 @@ public function messages(): array protected function prepareForValidation() { $this->merge([ - 'slug' => filled($this->name) && filled($this->year) ? \Illuminate\Support\Str::slug($this->name. ' '. $this->year) : null, + 'slug' => filled($this->name) && filled($this->year) ? \Illuminate\Support\Str::slug($this->name.' '.$this->year) : null, 'enhancer_id' => Auth::check() ? Auth::id() : null, ]); } diff --git a/app/Http/Requests/ChangePasswordRequest.php b/app/Http/Requests/ChangePasswordRequest.php index e30668a..db9675c 100644 --- a/app/Http/Requests/ChangePasswordRequest.php +++ b/app/Http/Requests/ChangePasswordRequest.php @@ -26,13 +26,13 @@ public function rules(): array { return [ 'password' => ['required', 'confirmed', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols()], + ->mixedCase() + ->numbers() + ->symbols()], 'my_password' => ['required', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols(), new MatchCurrentPasswordRule()], + ->mixedCase() + ->numbers() + ->symbols(), new MatchCurrentPasswordRule], ]; } diff --git a/app/Http/Requests/ClassificationRequest.php b/app/Http/Requests/ClassificationRequest.php index a2afe78..d1fdf3e 100644 --- a/app/Http/Requests/ClassificationRequest.php +++ b/app/Http/Requests/ClassificationRequest.php @@ -4,7 +4,6 @@ use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; class ClassificationRequest extends FormRequest { diff --git a/app/Http/Requests/ContentRecapRequest.php b/app/Http/Requests/ContentRecapRequest.php index 729024d..43fcadd 100644 --- a/app/Http/Requests/ContentRecapRequest.php +++ b/app/Http/Requests/ContentRecapRequest.php @@ -12,7 +12,7 @@ class ContentRecapRequest extends FormRequest */ public function authorize(): bool { - return Auth::check() && is_role(['1','2']); + return Auth::check() && is_role(['1', '2']); } /** @@ -25,7 +25,7 @@ public function rules(): array $rules = [ 'content_theme' => ['required'], 'posted_date' => ['required', 'date'], - 'channel'=> ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak', 'not_in:placeholder'], + 'channel' => ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak', 'not_in:placeholder'], 'link' => ['required', 'url'], 'classification_id' => ['required', 'exists:content_recap_classifications,id', 'not_in:placeholder'], 'social_media' => ['required', 'not_in:placeholder'], @@ -34,9 +34,9 @@ public function rules(): array 'enhancer_id' => ['required'], ]; - if($this->isMethod('post')){ + if ($this->isMethod('post')) { $rules['image'] = ['required', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; - }else if($this->isMethod('put')){ + } elseif ($this->isMethod('put')) { $rules['image'] = ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; } @@ -73,6 +73,4 @@ public function messages() 'description.nullable' => 'Deskripsi bersifat opsional.', ]; } - - } diff --git a/app/Http/Requests/CooperationCompletionRequest.php b/app/Http/Requests/CooperationCompletionRequest.php index 6ced8ca..282e421 100644 --- a/app/Http/Requests/CooperationCompletionRequest.php +++ b/app/Http/Requests/CooperationCompletionRequest.php @@ -61,5 +61,4 @@ public function messages(): array 'other_document.max' => 'Ukuran dokumen lainnya tidak boleh lebih dari 2MB.', ]; } - } diff --git a/app/Http/Requests/CooperationRequest.php b/app/Http/Requests/CooperationRequest.php index fd3f5a9..fc0e3b0 100644 --- a/app/Http/Requests/CooperationRequest.php +++ b/app/Http/Requests/CooperationRequest.php @@ -22,7 +22,7 @@ public function authorize(): bool */ public function rules(): array { - $rules = [ + $rules = [ 'name' => ['required'], 'start_date' => ['required', 'date'], 'end_date' => ['required', 'date'], @@ -33,10 +33,10 @@ public function rules(): array 'enhancer_id' => ['required'], ]; - if($this->isMethod('post')){ - $rules['offer_file_template'] = ['required', 'file','mimes:pdf', 'max:2048']; - }else{ - $rules['offer_file_template'] = ['nullable', 'file','mimes:pdf', 'max:2048']; + if ($this->isMethod('post')) { + $rules['offer_file_template'] = ['required', 'file', 'mimes:pdf', 'max:2048']; + } else { + $rules['offer_file_template'] = ['nullable', 'file', 'mimes:pdf', 'max:2048']; } return $rules; @@ -75,5 +75,4 @@ public function messages(): array 'description.required' => 'Deskripsi kerja sama wajib diisi.', ]; } - } diff --git a/app/Http/Requests/IssueManagementRequest.php b/app/Http/Requests/IssueManagementRequest.php index 8eb982f..63a5829 100644 --- a/app/Http/Requests/IssueManagementRequest.php +++ b/app/Http/Requests/IssueManagementRequest.php @@ -12,7 +12,7 @@ class IssueManagementRequest extends FormRequest */ public function authorize(): bool { - return Auth::check() && is_role(['1','2']); + return Auth::check() && is_role(['1', '2']); } /** @@ -27,14 +27,15 @@ public function rules(): array 'sub_location_id' => ['required', 'exists:sub_locations,id'], 'classification_id' => ['required', 'exists:classifications,id'], 'sub_classification_id' => ['required', 'exists:sub_classifications,id'], - 'issue' =>['required'], - 'response' =>['required'], - 'description' =>['required'], - 'government_agencies' =>['required', 'array'], - 'government_agencies.*' =>['required', 'exists:government_agencies,id'], - 'enhancer_id' =>['required'], + 'issue' => ['required'], + 'response' => ['required'], + 'description' => ['required'], + 'government_agencies' => ['required', 'array'], + 'government_agencies.*' => ['required', 'exists:government_agencies,id'], + 'enhancer_id' => ['required'], ]; } + protected function prepareForValidation() { $this->merge([ @@ -67,5 +68,4 @@ public function messages() 'government_agencies.*.exists' => 'Agensi pemerintah yang dipilih tidak valid.', ]; } - } diff --git a/app/Http/Requests/JournalistCooperationProposalRequest.php b/app/Http/Requests/JournalistCooperationProposalRequest.php index 94d69ca..a962a87 100644 --- a/app/Http/Requests/JournalistCooperationProposalRequest.php +++ b/app/Http/Requests/JournalistCooperationProposalRequest.php @@ -26,12 +26,12 @@ public function rules(): array 'journalist_ids' => ['required', 'array'], 'journalist_ids.*' => ['required', 'exists:journalists,id'], 'e_catalog' => ['nullable'], - 'description' => ['nullable'] + 'description' => ['nullable'], ]; - if($this->isMethod('post')){ + if ($this->isMethod('post')) { $rules['attachment'] = ['required', 'file', 'mimes:pdf', 'max:2048']; - }else{ + } else { $rules['attachment'] = ['nullable', 'file', 'mimes:pdf', 'max:2048']; } @@ -53,7 +53,4 @@ public function messages(): array 'description.nullable' => 'Deskripsi boleh kosong.', ]; } - - - } diff --git a/app/Http/Requests/LoginRequest.php b/app/Http/Requests/LoginRequest.php index f563bf4..f387501 100644 --- a/app/Http/Requests/LoginRequest.php +++ b/app/Http/Requests/LoginRequest.php @@ -13,7 +13,7 @@ class LoginRequest extends FormRequest */ public function authorize(): bool { - return !Auth::check(); + return ! Auth::check(); } /** diff --git a/app/Http/Requests/MediaMonitoringRequest.php b/app/Http/Requests/MediaMonitoringRequest.php index 60e2e9b..e474805 100644 --- a/app/Http/Requests/MediaMonitoringRequest.php +++ b/app/Http/Requests/MediaMonitoringRequest.php @@ -12,7 +12,7 @@ class MediaMonitoringRequest extends FormRequest */ public function authorize(): bool { - return Auth::check() && is_role(['1','2']); + return Auth::check() && is_role(['1', '2']); } /** @@ -29,7 +29,7 @@ public function rules(): array 'link' => ['nullable', 'url'], 'news_page' => ['nullable'], 'writter' => ['required', 'max:100'], - 'channel'=> ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak'], + 'channel' => ['required', 'in:website,tiktok,youtube,instagram,facebook,twitter,cetak'], 'content' => ['required'], 'influencer' => ['nullable', 'max:100'], 'keyword' => ['required', 'max:100'], @@ -38,9 +38,9 @@ public function rules(): array 'enhancer_id' => ['required'], ]; - if($this->isMethod('post')){ + if ($this->isMethod('post')) { $rules['image'] = ['required', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; - }else if($this->isMethod('put')){ + } elseif ($this->isMethod('put')) { $rules['image'] = ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; } @@ -92,6 +92,4 @@ public function messages() 'image.max' => 'Ukuran gambar tidak boleh lebih dari 2MB.', ]; } - - } diff --git a/app/Http/Requests/NewsRequest.php b/app/Http/Requests/NewsRequest.php index 738ac8e..d1be871 100644 --- a/app/Http/Requests/NewsRequest.php +++ b/app/Http/Requests/NewsRequest.php @@ -24,7 +24,7 @@ public function authorize(): bool public function rules(): array { $rules = [ - 'title' => ['required' , 'max:200'], + 'title' => ['required', 'max:200'], 'content' => ['required'], 'link' => ['nullable', 'url'], 'tag' => ['nullable'], diff --git a/app/Http/Requests/OrderRequest.php b/app/Http/Requests/OrderRequest.php index f0ac0d9..1d1f8a8 100644 --- a/app/Http/Requests/OrderRequest.php +++ b/app/Http/Requests/OrderRequest.php @@ -34,7 +34,8 @@ public function rules(): array ]; } - public function prepareForValidation(){ + public function prepareForValidation() + { $this->merge([ 'enhancer_id' => Auth::check() ? Auth::id() : null, ]); @@ -66,5 +67,4 @@ public function messages(): array 'task_description.required' => 'Deskripsi tugas harus diisi.', ]; } - } diff --git a/app/Http/Requests/ReceiveMessageContactRequest.php b/app/Http/Requests/ReceiveMessageContactRequest.php index c38967b..a371a95 100644 --- a/app/Http/Requests/ReceiveMessageContactRequest.php +++ b/app/Http/Requests/ReceiveMessageContactRequest.php @@ -3,7 +3,6 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; -use Illuminate\Support\Facades\Auth; class ReceiveMessageContactRequest extends FormRequest { diff --git a/app/Http/Requests/RegisterRequest.php b/app/Http/Requests/RegisterRequest.php index 54f7d20..2177ea1 100644 --- a/app/Http/Requests/RegisterRequest.php +++ b/app/Http/Requests/RegisterRequest.php @@ -13,7 +13,7 @@ class RegisterRequest extends FormRequest */ public function authorize(): bool { - return !Auth::check(); + return ! Auth::check(); } /** diff --git a/app/Http/Requests/ReportRequest.php b/app/Http/Requests/ReportRequest.php index cac6a9c..f872407 100644 --- a/app/Http/Requests/ReportRequest.php +++ b/app/Http/Requests/ReportRequest.php @@ -29,9 +29,9 @@ public function rules(): array 'description' => ['nullable'], ]; - if($this->isMethod('post')){ + if ($this->isMethod('post')) { $rules['proof'] = ['required', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; - }else{ + } else { $rules['proof'] = ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:2048']; } @@ -52,5 +52,4 @@ public function messages(): array 'proof.max' => 'Ukuran gambar tidak boleh lebih dari 2MB.', ]; } - } diff --git a/app/Http/Requests/ResetPasswordRequest.php b/app/Http/Requests/ResetPasswordRequest.php index 6fc7c7c..61396d3 100644 --- a/app/Http/Requests/ResetPasswordRequest.php +++ b/app/Http/Requests/ResetPasswordRequest.php @@ -26,13 +26,13 @@ public function rules(): array { return [ 'password' => ['required', 'confirmed', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols()], + ->mixedCase() + ->numbers() + ->symbols()], 'my_password' => ['required', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols(), new MatchCurrentPasswordRule()], + ->mixedCase() + ->numbers() + ->symbols(), new MatchCurrentPasswordRule], ]; } @@ -54,5 +54,4 @@ public function messages() 'my_password.symbols' => 'Password Anda harus mengandung simbol.', ]; } - } diff --git a/app/Http/Requests/SettingRequest.php b/app/Http/Requests/SettingRequest.php index f475188..1e7e300 100644 --- a/app/Http/Requests/SettingRequest.php +++ b/app/Http/Requests/SettingRequest.php @@ -60,5 +60,4 @@ protected function prepareForValidation() 'contact_telegram' => filled($this->contact_telegram) ? $this->contact_telegram : null, ]); } - } diff --git a/app/Http/Requests/SubClassificationRequest.php b/app/Http/Requests/SubClassificationRequest.php index d87f2aa..bca2528 100644 --- a/app/Http/Requests/SubClassificationRequest.php +++ b/app/Http/Requests/SubClassificationRequest.php @@ -51,5 +51,4 @@ protected function prepareForValidation() 'enhancer_id' => Auth::check() ? Auth::id() : null, ]); } - } diff --git a/app/Http/Requests/UserRequest.php b/app/Http/Requests/UserRequest.php index 7f54ca6..5f611b4 100644 --- a/app/Http/Requests/UserRequest.php +++ b/app/Http/Requests/UserRequest.php @@ -2,7 +2,6 @@ namespace App\Http\Requests; -use App\Rules\MatchCurrentPasswordRule; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Auth; use Illuminate\Validation\Rules\Password; @@ -30,26 +29,26 @@ public function rules(): array 'status' => ['required', 'in:1,2', 'not_in:select'], ]; - if($this->isMethod('post')){ + if ($this->isMethod('post')) { $rules['email'] = ['required', 'email', 'max:100', 'unique:users,email']; $rules['password'] = ['required', 'confirmed', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols()]; - }else if($this->isMethod('put')){ + ->mixedCase() + ->numbers() + ->symbols()]; + } elseif ($this->isMethod('put')) { $rules['email'] = ['required', 'email', 'max:100']; $rules['password'] = ['nullable', 'confirmed', Password::min(8) - ->mixedCase() - ->numbers() - ->symbols()]; + ->mixedCase() + ->numbers() + ->symbols()]; } return $rules; } - - public function prepareForValidation(){ - if (!filled(trim($this->password))) { + public function prepareForValidation() + { + if (! filled(trim($this->password))) { $this->request->remove('password'); } } @@ -78,5 +77,4 @@ public function messages() 'password.symbols' => 'Password harus mengandung simbol.', ]; } - } diff --git a/app/Listeners/LogUserLogin.php b/app/Listeners/LogUserLogin.php index 968a1e7..c5c3ac3 100644 --- a/app/Listeners/LogUserLogin.php +++ b/app/Listeners/LogUserLogin.php @@ -4,8 +4,6 @@ use App\Models\LoginHistory; use Illuminate\Auth\Events\Login; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Queue\InteractsWithQueue; class LogUserLogin { diff --git a/app/Mail/AccountVerification.php b/app/Mail/AccountVerification.php index 86391e3..72429b1 100644 --- a/app/Mail/AccountVerification.php +++ b/app/Mail/AccountVerification.php @@ -3,7 +3,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; @@ -17,7 +16,9 @@ class AccountVerification extends Mailable * Create a new message instance. */ public $status; + public $reason; + public $user; public function __construct($user, $status, $rejectionReason = null) diff --git a/app/Models/AiringProofTheme.php b/app/Models/AiringProofTheme.php index 9939571..c158a4a 100644 --- a/app/Models/AiringProofTheme.php +++ b/app/Models/AiringProofTheme.php @@ -4,12 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class AiringProofTheme extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; + protected $table = 'airing_proof_themes'; protected $fillable = [ @@ -17,10 +18,11 @@ class AiringProofTheme extends Model 'slug', 'year', 'description', - 'enhancer_id' + 'enhancer_id', ]; - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } @@ -34,7 +36,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/Announcement.php b/app/Models/Announcement.php index 1549357..24f023e 100644 --- a/app/Models/Announcement.php +++ b/app/Models/Announcement.php @@ -3,12 +3,13 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Announcement extends Model { use LogsActivity; + protected $table = 'announcements'; protected $fillable = [ @@ -16,19 +17,20 @@ class Announcement extends Model 'content', 'link', 'attachment', - 'enhancer_id' + 'enhancer_id', ]; - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } public function users() { return $this->belongsToMany(User::class, 'announcements_users', 'announcement_id', 'user_id') - ->using(AnnouncementUser::class) - ->withPivot(['status', 'category']) - ->withTimestamps(); + ->using(AnnouncementUser::class) + ->withPivot(['status', 'category']) + ->withTimestamps(); } public function getActivitylogOptions(): LogOptions @@ -41,7 +43,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/AnnouncementUser.php b/app/Models/AnnouncementUser.php index f507364..c3be86a 100644 --- a/app/Models/AnnouncementUser.php +++ b/app/Models/AnnouncementUser.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; class AnnouncementUser extends Pivot @@ -13,14 +12,16 @@ class AnnouncementUser extends Pivot 'announcement_id', 'user_id', 'status', - 'category' + 'category', ]; - public function announcement(){ + public function announcement() + { return $this->belongsTo(Announcement::class, 'announcement_id', 'id'); } - public function user(){ + public function user() + { return $this->belongsTo(User::class, 'user_id', 'id'); } } diff --git a/app/Models/Classification.php b/app/Models/Classification.php index 797ff3e..3939cf0 100644 --- a/app/Models/Classification.php +++ b/app/Models/Classification.php @@ -4,30 +4,34 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Classification extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; + protected $table = 'classifications'; protected $fillable = [ 'name', 'status', 'description', - 'enhancer_id' + 'enhancer_id', ]; - public function subClassifications(){ + public function subClassifications() + { return $this->hasMany(SubClassification::class, 'classification_id', 'id'); } - public function issues(){ + public function issues() + { return $this->hasMany(IssueManagement::class, 'classification_id', 'id'); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } @@ -41,7 +45,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; @@ -55,5 +59,4 @@ public function getDescriptionForEvent(string $eventName): string return "Klasifikasi '{$this->name}' telah {$eventName}"; } - } diff --git a/app/Models/Company.php b/app/Models/Company.php index ccc7de4..fb8368b 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -8,6 +8,7 @@ class Company extends Model { use SoftDeletes; + protected $table = 'companies'; protected $fillable = [ @@ -39,14 +40,16 @@ class Company extends Model 'edit_rejection_reason', 'validated_at', 'rejection_reason', - 'user_id' + 'user_id', ]; - public function user(){ + public function user() + { return $this->belongsTo(User::class, 'user_id', 'id')->withTrashed(); } - public function media(){ + public function media() + { return $this->hasOne(Media::class, 'company_id', 'id')->withTrashed(); } } diff --git a/app/Models/ContentRecap.php b/app/Models/ContentRecap.php index aa3efd4..70d4c0c 100644 --- a/app/Models/ContentRecap.php +++ b/app/Models/ContentRecap.php @@ -4,12 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class ContentRecap extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; + protected $table = 'content_recaps'; protected $fillable = [ @@ -30,7 +31,8 @@ public function enhancer() return $this->belongsTo(User::class, 'enhancer_id', 'id'); } - public function classification(){ + public function classification() + { return $this->belongsTo(ContentRecapClassification::class, 'classification_id', 'id'); } @@ -47,14 +49,14 @@ public function getActivitylogOptions(): LogOptions 'image', 'content_type', 'description', - 'enhancer_id',]) // kolom yang dicatat + 'enhancer_id', ]) // kolom yang dicatat ->useLogName('content_recap') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan } public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/ContentRecapClassification.php b/app/Models/ContentRecapClassification.php index 3865841..77ca323 100644 --- a/app/Models/ContentRecapClassification.php +++ b/app/Models/ContentRecapClassification.php @@ -4,12 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class ContentRecapClassification extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; + protected $table = 'content_recap_classifications'; protected $fillable = [ @@ -17,14 +18,16 @@ class ContentRecapClassification extends Model 'slug', 'year', 'description', - 'enhancer_id' + 'enhancer_id', ]; - public function contentRecaps(){ + public function contentRecaps() + { return $this->hasMany(ContentRecap::class, 'classification_id', 'id'); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } @@ -38,7 +41,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/Cooperation.php b/app/Models/Cooperation.php index 315bd0b..eb87c83 100644 --- a/app/Models/Cooperation.php +++ b/app/Models/Cooperation.php @@ -4,12 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Cooperation extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'cooperations'; @@ -26,16 +26,18 @@ class Cooperation extends Model public function media() { return $this->belongsToMany(Media::class, 'media_cooperations', 'cooperation_id', 'media_id') - ->using(MediaCooperation::class) - ->withPivot(['status', 'rejection_reason']) - ->withTimestamps(); + ->using(MediaCooperation::class) + ->withPivot(['status', 'rejection_reason']) + ->withTimestamps(); } - public function proposals(){ + public function proposals() + { return $this->hasMany(CooperationProposal::class, 'cooperation_id', 'id'); } - public function mediaOrder(){ + public function mediaOrder() + { return $this->hasOne(Order::class, 'cooperation_id', 'id'); } @@ -57,7 +59,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/CooperationCompletion.php b/app/Models/CooperationCompletion.php index b4bc043..99ee4a4 100644 --- a/app/Models/CooperationCompletion.php +++ b/app/Models/CooperationCompletion.php @@ -3,12 +3,13 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class CooperationCompletion extends Model { use LogsActivity; + protected $table = 'cooperation_completions'; protected $fillable = [ @@ -24,11 +25,13 @@ class CooperationCompletion extends Model 'order_id', ]; - public function order(){ + public function order() + { return $this->belongsTo(Order::class, 'order_id', 'id'); } - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id'); } @@ -53,7 +56,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/CooperationProposal.php b/app/Models/CooperationProposal.php index e053c47..ac42bb1 100644 --- a/app/Models/CooperationProposal.php +++ b/app/Models/CooperationProposal.php @@ -3,9 +3,8 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class CooperationProposal extends Model { @@ -23,19 +22,21 @@ class CooperationProposal extends Model 'media_id', ]; - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id'); } - public function cooperation(){ + public function cooperation() + { return $this->belongsTo(Cooperation::class, 'cooperation_id', 'id'); } public function journalists() { return $this->belongsToMany(Journalist::class, 'journalists_cooperation_proposals', 'cooperation_proposal_id', 'journalist_id') - ->using(JournalistCooperationProposal::class) - ->withTimestamps(); + ->using(JournalistCooperationProposal::class) + ->withTimestamps(); } public function getActivitylogOptions(): LogOptions @@ -56,7 +57,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/GovernmentAgency.php b/app/Models/GovernmentAgency.php index 41452d0..3543539 100644 --- a/app/Models/GovernmentAgency.php +++ b/app/Models/GovernmentAgency.php @@ -4,12 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class GovernmentAgency extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'government_agencies'; @@ -24,11 +24,12 @@ class GovernmentAgency extends Model public function issues() { return $this->belongsToMany(IssueManagement::class, 'issue_managements_government_agencies', 'government_agency_id', 'issue_management_id') - ->using(IssueManagementGovernmentAgency::class) - ->withTimestamps(); + ->using(IssueManagementGovernmentAgency::class) + ->withTimestamps(); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } @@ -42,7 +43,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/IssueManagement.php b/app/Models/IssueManagement.php index fd020e7..ebf300a 100644 --- a/app/Models/IssueManagement.php +++ b/app/Models/IssueManagement.php @@ -3,14 +3,13 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\Model\Pivot; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class IssueManagement extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'issue_managements'; @@ -26,31 +25,40 @@ class IssueManagement extends Model 'enhancer_id', ]; - public function location(){ + public function location() + { return $this->belongsTo(Location::class, 'location_id', 'id'); } - public function subLocation(){ + + public function subLocation() + { return $this->belongsTo(SubLocation::class, 'sub_location_id', 'id'); } - public function classification(){ + + public function classification() + { return $this->belongsTo(Classification::class, 'classification_id', 'id'); } - public function subClassification(){ + + public function subClassification() + { return $this->belongsTo(SubClassification::class, 'sub_classification_id', 'id'); } - public function mediaMonitoring(){ + public function mediaMonitoring() + { return $this->belongsTo(MediaMonitoring::class, 'media_monitoring_id', 'id'); } public function governmentAgencies() { return $this->belongsToMany(GovernmentAgency::class, 'issue_managements_government_agencies', 'issue_management_id', 'government_agency_id') - ->using(IssueManagementGovernmentAgency::class) - ->withTimestamps(); + ->using(IssueManagementGovernmentAgency::class) + ->withTimestamps(); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } @@ -74,7 +82,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; @@ -88,5 +96,4 @@ public function getDescriptionForEvent(string $eventName): string return "Manajemen Isu telah {$eventName}"; } - } diff --git a/app/Models/IssueManagementGovernmentAgency.php b/app/Models/IssueManagementGovernmentAgency.php index 09b3049..ee8c78a 100644 --- a/app/Models/IssueManagementGovernmentAgency.php +++ b/app/Models/IssueManagementGovernmentAgency.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; class IssueManagementGovernmentAgency extends Pivot @@ -14,12 +13,13 @@ class IssueManagementGovernmentAgency extends Pivot 'government_agency_id', ]; - public function issueManagement(){ + public function issueManagement() + { return $this->belongsTo(IssueManagement::class, 'issue_management_id', 'id'); } - public function GovernmentAgency(){ + public function GovernmentAgency() + { return $this->belongsTo(GovernmentAgency::class, 'government_agency_id', 'id'); } - } diff --git a/app/Models/Journalist.php b/app/Models/Journalist.php index a29da34..680806b 100644 --- a/app/Models/Journalist.php +++ b/app/Models/Journalist.php @@ -24,17 +24,18 @@ class Journalist extends Model 'edit_description', 'edit_status', 'edit_rejection_reason', - 'media_id' + 'media_id', ]; - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id')->withTrashed(); } public function cooperationProposals() { return $this->belongsToMany(CooperationProposal::class, 'journalists_cooperation_proposals', 'journalist_id', 'cooperation_proposal_id') - ->using(JournalistCooperationProposal::class) - ->withTimestamps(); + ->using(JournalistCooperationProposal::class) + ->withTimestamps(); } } diff --git a/app/Models/JournalistCooperationProposal.php b/app/Models/JournalistCooperationProposal.php index 60a80e1..b2815e2 100644 --- a/app/Models/JournalistCooperationProposal.php +++ b/app/Models/JournalistCooperationProposal.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; class JournalistCooperationProposal extends Pivot @@ -14,11 +13,13 @@ class JournalistCooperationProposal extends Pivot 'cooperation_proposal_id', ]; - public function journalist(){ + public function journalist() + { return $this->belongsTo(Journalist::class, 'journalists_id', 'id'); } - public function cooperationProposal(){ + public function cooperationProposal() + { return $this->belongsTo(CooperationProposal::class, 'cooperation_proposal_id', 'id'); } } diff --git a/app/Models/Legacy/OldJournalist.php b/app/Models/Legacy/OldJournalist.php index eb78672..85b1897 100644 --- a/app/Models/Legacy/OldJournalist.php +++ b/app/Models/Legacy/OldJournalist.php @@ -6,7 +6,7 @@ class OldJournalist extends Model { - protected $connection = 'legacy'; + protected $connection = 'legacy'; - protected $table = 'journalists'; + protected $table = 'journalists'; } diff --git a/app/Models/Location.php b/app/Models/Location.php index cce940f..05e8425 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -3,44 +3,48 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Location extends Model { use LogsActivity; + protected $table = 'locations'; protected $fillable = [ 'name', 'status', 'description', - 'enhancer_id' + 'enhancer_id', ]; - public function subLocations(){ + public function subLocations() + { return $this->hasMany(SubLocation::class, 'location_id', 'id'); } - public function issues(){ + public function issues() + { return $this->hasMany(IssueManagement::class, 'location_id', 'id'); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() - ->logOnly([ 'name', 'status', 'description', 'enhancer_id']) // kolom yang dicatat + ->logOnly(['name', 'status', 'description', 'enhancer_id']) // kolom yang dicatat ->useLogName('location') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan } public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/LoginHistory.php b/app/Models/LoginHistory.php index 2ec353c..b4ce619 100644 --- a/app/Models/LoginHistory.php +++ b/app/Models/LoginHistory.php @@ -12,10 +12,11 @@ class LoginHistory extends Model 'user_id', 'ip_address', 'user_agent', - 'logged_in_at' + 'logged_in_at', ]; - public function user(){ + public function user() + { return $this->belongsTo(User::class, 'user_id', 'id'); } } diff --git a/app/Models/Media.php b/app/Models/Media.php index eb4e87e..853ac40 100644 --- a/app/Models/Media.php +++ b/app/Models/Media.php @@ -24,7 +24,7 @@ class Media extends Model 'edit_description', 'edit_status', 'edit_rejection_reason', - 'company_id' + 'company_id', ]; public function user() @@ -39,36 +39,39 @@ public function user() ); } - - public function company(){ + public function company() + { return $this->belongsTo(Company::class, 'company_id', 'id')->withTrashed(); } - public function journalists(){ + public function journalists() + { return $this->hasMany(Journalist::class, 'media_id', 'id')->withTrashed(); } public function cooperations() { return $this->belongsToMany(Cooperation::class, 'media_cooperations', 'media_id', 'cooperation_id') - ->using(MediaCooperation::class) - ->withPivot(['status', 'rejection_reason']) - ->withTimestamps(); + ->using(MediaCooperation::class) + ->withPivot(['status', 'rejection_reason']) + ->withTimestamps(); } public function orders() { return $this->belongsToMany(Order::class, 'media_orders', 'media_id', 'order_id') - ->using(MediaOrder::class) - ->withPivot(['status', 'rejection_reason']) - ->withTimestamps(); + ->using(MediaOrder::class) + ->withPivot(['status', 'rejection_reason']) + ->withTimestamps(); } - public function reports(){ + public function reports() + { return $this->hasMany(Report::class, 'media_id', 'id'); } - public function completions(){ + public function completions() + { return $this->hasMany(CooperationCompletion::class, 'order_id', 'id'); } } diff --git a/app/Models/MediaCooperation.php b/app/Models/MediaCooperation.php index a3a2c9e..8108e69 100644 --- a/app/Models/MediaCooperation.php +++ b/app/Models/MediaCooperation.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; class MediaCooperation extends Pivot @@ -13,14 +12,16 @@ class MediaCooperation extends Pivot 'cooperation_id', 'media_id', 'status', - 'rejection_reason' + 'rejection_reason', ]; - public function cooperation(){ + public function cooperation() + { return $this->belongsTo(Cooperation::class, 'cooperation_id', 'id'); } - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id'); } } diff --git a/app/Models/MediaMonitoring.php b/app/Models/MediaMonitoring.php index e1d6b12..6c4c1e6 100644 --- a/app/Models/MediaMonitoring.php +++ b/app/Models/MediaMonitoring.php @@ -4,12 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class MediaMonitoring extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'media_monitorings'; @@ -31,7 +31,8 @@ class MediaMonitoring extends Model 'enhancer_id', ]; - public function issue(){ + public function issue() + { return $this->hasOne(IssueManagement::class, 'media_monitoring_id', 'id'); } @@ -66,7 +67,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; @@ -80,5 +81,4 @@ public function getDescriptionForEvent(string $eventName): string return "Monitoring Media '{$this->title}' telah {$eventName}"; } - } diff --git a/app/Models/MediaOrder.php b/app/Models/MediaOrder.php index 44419bc..4c1bc88 100644 --- a/app/Models/MediaOrder.php +++ b/app/Models/MediaOrder.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\Pivot; class MediaOrder extends Pivot @@ -13,14 +12,16 @@ class MediaOrder extends Pivot 'order_id', 'media_id', 'status', - 'rejection_reason' + 'rejection_reason', ]; - public function order(){ + public function order() + { return $this->belongsTo(Order::class, 'order_id', 'id'); } - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id'); } } diff --git a/app/Models/News.php b/app/Models/News.php index 18ef671..79ec94d 100644 --- a/app/Models/News.php +++ b/app/Models/News.php @@ -4,13 +4,14 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class News extends Model { - use SoftDeletes, LogsActivity; - protected $table = 'news'; + use LogsActivity, SoftDeletes; + + protected $table = 'news'; protected $fillable = [ 'title', @@ -21,10 +22,11 @@ class News extends Model 'tag', 'category', 'views', - 'author_id' + 'author_id', ]; - public function author(){ + public function author() + { return $this->belongsTo(User::class, 'author_id', 'id'); } @@ -38,7 +40,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; @@ -50,9 +52,9 @@ public function getDescriptionForEvent(string $eventName): string break; } - if($this->category == '0'){ + if ($this->category == '0') { return "Berita '{$this->title}' telah {$eventName}"; - }else{ + } else { return "Pengumuman '{$this->title}' telah {$eventName}"; } diff --git a/app/Models/Order.php b/app/Models/Order.php index 122c66e..fa05ecf 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -4,13 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; - +use Spatie\Activitylog\Traits\LogsActivity; class Order extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'orders'; @@ -27,20 +26,23 @@ class Order extends Model public function media() { return $this->belongsToMany(Media::class, 'media_orders', 'order_id', 'media_id') - ->using(MediaOrder::class) - ->withPivot(['status', 'rejection_reason']) - ->withTimestamps(); + ->using(MediaOrder::class) + ->withPivot(['status', 'rejection_reason']) + ->withTimestamps(); } - public function cooperation(){ + public function cooperation() + { return $this->belongsTo(Cooperation::class, 'cooperation_id', 'id')->withTrashed(); } - public function reports(){ + public function reports() + { return $this->hasMany(Report::class, 'order_id', 'id'); } - public function completions(){ + public function completions() + { return $this->hasMany(CooperationCompletion::class, 'order_id', 'id'); } @@ -62,7 +64,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/Report.php b/app/Models/Report.php index e2d1088..84bdef4 100644 --- a/app/Models/Report.php +++ b/app/Models/Report.php @@ -4,12 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Report extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'reports'; @@ -25,11 +25,13 @@ class Report extends Model 'order_id', ]; - public function order(){ + public function order() + { return $this->belongsTo(Order::class, 'order_id', 'id'); } - public function media(){ + public function media() + { return $this->belongsTo(Media::class, 'media_id', 'id'); } @@ -53,7 +55,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/Role.php b/app/Models/Role.php index 91ab271..74a7bd0 100644 --- a/app/Models/Role.php +++ b/app/Models/Role.php @@ -3,20 +3,22 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class Role extends Model { use LogsActivity; + protected $table = 'user_roles'; protected $fillable = [ 'name', - 'description' + 'description', ]; - public function user(){ + public function user() + { return $this->hasMany(User::class, 'role_id', 'id'); } @@ -25,7 +27,7 @@ public function getActivitylogOptions(): LogOptions return LogOptions::defaults() ->logOnly([ 'name', - 'description' + 'description', ]) // kolom yang dicatat ->useLogName('user_role') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan @@ -33,7 +35,7 @@ public function getActivitylogOptions(): LogOptions public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/SubClassification.php b/app/Models/SubClassification.php index 685b6ed..75bcec9 100644 --- a/app/Models/SubClassification.php +++ b/app/Models/SubClassification.php @@ -4,12 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class SubClassification extends Model { - use SoftDeletes, LogsActivity; + use LogsActivity, SoftDeletes; protected $table = 'sub_classifications'; @@ -18,32 +18,35 @@ class SubClassification extends Model 'status', 'description', 'classification_id', - 'enhancer_id' + 'enhancer_id', ]; - public function classification(){ + public function classification() + { return $this->belongsTo(Classification::class, 'classification_id', 'id')->withTrashed(); } - public function issues(){ + public function issues() + { return $this->hasMany(IssueManagement::class, 'sub_classification_id', 'id'); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() - ->logOnly([ 'name', 'status', 'description', 'classification_id', 'enhancer_id']) // kolom yang dicatat + ->logOnly(['name', 'status', 'description', 'classification_id', 'enhancer_id']) // kolom yang dicatat ->useLogName('sub_classification') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan } public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/SubLocation.php b/app/Models/SubLocation.php index 154075b..a711faf 100644 --- a/app/Models/SubLocation.php +++ b/app/Models/SubLocation.php @@ -3,8 +3,8 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Traits\LogsActivity; class SubLocation extends Model { @@ -17,32 +17,35 @@ class SubLocation extends Model 'status', 'description', 'location_id', - 'enhancer_id' + 'enhancer_id', ]; - public function location(){ + public function location() + { return $this->belongsTo(Location::class, 'location_id', 'id'); } - public function issues(){ + public function issues() + { return $this->hasMany(IssueManagement::class, 'sub_location_id', 'id'); } - public function enhancer(){ + public function enhancer() + { return $this->belongsTo(User::class, 'enhancer_id', 'id'); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() - ->logOnly([ 'name', 'status', 'description', 'location_id', 'enhancer_id']) // kolom yang dicatat + ->logOnly(['name', 'status', 'description', 'location_id', 'enhancer_id']) // kolom yang dicatat ->useLogName('sub_location') // nama log ->logOnlyDirty(); // hanya log kalau ada perubahan } public function getDescriptionForEvent(string $eventName): string { - switch($eventName){ + switch ($eventName) { case 'created': $eventName = 'dibuat'; break; diff --git a/app/Models/User.php b/app/Models/User.php index e4c9c46..1f092cd 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -4,8 +4,6 @@ // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; -use Illuminate\Database\Eloquent\Relations\BelongsTo; -use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -25,7 +23,7 @@ class User extends Authenticatable 'email', 'password', 'status', - 'role_id' + 'role_id', ]; /** @@ -54,16 +52,18 @@ protected function casts(): array public function announcements() { return $this->belongsToMany(Announcement::class, 'announcements_users', 'user_id', 'announcement_id') - ->using(AnnouncementUser::class) - ->withPivot(['status', 'category']) - ->withTimestamps(); + ->using(AnnouncementUser::class) + ->withPivot(['status', 'category']) + ->withTimestamps(); } - public function role(){ + public function role() + { return $this->belongsTo(Role::class, 'role_id', 'id'); } - public function company(){ + public function company() + { return $this->hasOne(Company::class, 'user_id', 'id')->withTrashed(); } @@ -79,7 +79,8 @@ public function media() ); } - public function loginHistories(){ + public function loginHistories() + { return $this->hasMany(LoginHistory::class, 'user_id', 'id'); } } diff --git a/app/Models/Visitor.php b/app/Models/Visitor.php index e44a098..1e697a8 100644 --- a/app/Models/Visitor.php +++ b/app/Models/Visitor.php @@ -10,7 +10,6 @@ class Visitor extends Model protected $fillable = [ 'date', - 'visitors' + 'visitors', ]; - } diff --git a/app/Rules/MatchCurrentPasswordRule.php b/app/Rules/MatchCurrentPasswordRule.php index 4ea9eee..4b76f57 100644 --- a/app/Rules/MatchCurrentPasswordRule.php +++ b/app/Rules/MatchCurrentPasswordRule.php @@ -18,7 +18,7 @@ class MatchCurrentPasswordRule implements ValidationRule public function validate(string $attribute, mixed $value, Closure $fail): void { $user = User::find(Auth::id()); - if (!Hash::check($value, $user->password)) { + if (! Hash::check($value, $user->password)) { $fail('Kata sandi saat ini tidak sesuai.'); } } diff --git a/bootstrap/app.php b/bootstrap/app.php index 92bfe53..50f018a 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -4,7 +4,6 @@ use App\Http\Middleware\AuthenticatedMiddleware; use App\Http\Middleware\RoleMiddleware; use App\Http\Middleware\VisitorCounterMiddleware; -use Illuminate\Auth\Middleware\Authenticate; use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; diff --git a/config/database.php b/config/database.php index c0e9953..c6a48e8 100644 --- a/config/database.php +++ b/config/database.php @@ -81,7 +81,6 @@ ]) : [], ], - 'mariadb' => [ 'driver' => 'mariadb', 'url' => env('DB_URL'), diff --git a/config/recaptcha.php b/config/recaptcha.php index f1b23b8..aa21074 100644 --- a/config/recaptcha.php +++ b/config/recaptcha.php @@ -15,153 +15,136 @@ return [ /** - * * The site key * get site key @ www.google.com/recaptcha/admin - * */ - 'api_site_key' => env('RECAPTCHA_SITE_KEY', ''), + 'api_site_key' => env('RECAPTCHA_SITE_KEY', ''), /** - * * The secret key * get secret key @ www.google.com/recaptcha/admin - * */ - 'api_secret_key' => env('RECAPTCHA_SECRET_KEY', ''), + 'api_secret_key' => env('RECAPTCHA_SECRET_KEY', ''), /** - * * ReCATCHA version * Supported: "v2", "invisible", "v3", * * get more info @ https://developers.google.com/recaptcha/docs/versions - * */ - 'version' => 'v2', + 'version' => 'v2', /** - * * The curl timout in seconds to validate a recaptcha token - * @since v3.5.0 * + * @since v3.5.0 */ - 'curl_timeout' => 10, + 'curl_timeout' => 10, /** - * * IP addresses for which validation will be skipped * IP/CIDR netmask eg. 127.0.0.0/24, also 127.0.0.1 is accepted and /32 assumed - * */ - 'skip_ip' => env('RECAPTCHA_SKIP_IP', []), + 'skip_ip' => env('RECAPTCHA_SKIP_IP', []), /** - * * Default route called to check the Google reCAPTCHA token - * @since v3.2.0 * + * @since v3.2.0 */ - 'default_validation_route' => 'biscolab-recaptcha/validate', + 'default_validation_route' => 'biscolab-recaptcha/validate', /** - * * The name of the parameter used to send Google reCAPTCHA token to verify route - * @since v3.2.0 * + * @since v3.2.0 */ 'default_token_parameter_name' => 'token', /** - * * The default Google reCAPTCHA language code * It has no effect with v3 + * * @see https://developers.google.com/recaptcha/docs/language * @since v3.6.0 - * */ - 'default_language' => null, + 'default_language' => null, /** - * * The default form ID. Only for "invisible" reCAPTCHA - * @since v4.0.0 * + * @since v4.0.0 */ - 'default_form_id' => 'biscolab-recaptcha-invisible-form', + 'default_form_id' => 'biscolab-recaptcha-invisible-form', /** - * * Deferring the render can be achieved by specifying your onload callback function and adding parameters to the JavaScript resource. * It has no effect with v3 and invisible + * * @see https://developers.google.com/recaptcha/docs/display#explicit_render * @since v4.0.0 * Supported true, false - * */ - 'explicit' => false, + 'explicit' => false, /** - * * Set API domain. You can use "www.recaptcha.net" in case "www.google.com" is not accessible. * (no check will be made on the entered value) + * * @see https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally * @since v4.3.0 * Default 'www.google.com' (ReCaptchaBuilder::DEFAULT_RECAPTCHA_API_DOMAIN) - * */ - 'api_domain' => 'www.google.com', + 'api_domain' => 'www.google.com', /** - * * Set `true` when the error message must be null + * * @since v5.1.0 * Default false - * */ 'empty_message' => false, /** - * * Set either the error message or the errom message translation key + * * @since v5.1.0 * Default 'validation.recaptcha' - * */ 'error_message_key' => 'validation.recaptcha', /** - * * g-recaptcha tag attributes and grecaptcha.render parameters (v2 only) + * * @see https://developers.google.com/recaptcha/docs/display#render_param * @since v4.0.0 */ - 'tag_attributes' => [ + 'tag_attributes' => [ /** * The color theme of the widget. * Supported "light", "dark" */ - 'theme' => 'light', + 'theme' => 'light', /** * The size of the widget. * Supported "normal", "compact" */ - 'size' => 'normal', + 'size' => 'normal', /** * The tabindex of the widget and challenge. * If other elements in your page use tabindex, it should be set to make user navigation easier. */ - 'tabindex' => 0, + 'tabindex' => 0, /** * The name of your callback function, executed when the user submits a successful response. * The g-recaptcha-response token is passed to your callback. * DO NOT SET "biscolabOnloadCallback" */ - 'callback' => null, + 'callback' => null, /** * The name of your callback function, executed when the reCAPTCHA response expires and the user needs to re-verify. @@ -174,6 +157,6 @@ * If you specify a function here, you are responsible for informing the user that they should retry. * DO NOT SET "biscolabOnloadCallback" */ - 'error-callback' => null, - ] + 'error-callback' => null, + ], ]; diff --git a/config/settings.php b/config/settings.php index 8915bb0..a605338 100644 --- a/config/settings.php +++ b/config/settings.php @@ -74,7 +74,7 @@ 'global_casts' => [ DateTimeInterface::class => Spatie\LaravelSettings\SettingsCasts\DateTimeInterfaceCast::class, DateTimeZone::class => Spatie\LaravelSettings\SettingsCasts\DateTimeZoneCast::class, -// Spatie\DataTransferObject\DataTransferObject::class => Spatie\LaravelSettings\SettingsCasts\DtoCast::class, + // Spatie\DataTransferObject\DataTransferObject::class => Spatie\LaravelSettings\SettingsCasts\DtoCast::class, Spatie\LaravelData\Data::class => Spatie\LaravelSettings\SettingsCasts\DataCast::class, ], diff --git a/database/migrations/2025_02_25_024752_create_media_table.php b/database/migrations/2025_02_25_024752_create_media_table.php index 9b13802..0fbeb0c 100644 --- a/database/migrations/2025_02_25_024752_create_media_table.php +++ b/database/migrations/2025_02_25_024752_create_media_table.php @@ -16,7 +16,7 @@ public function up(): void $table->string('name'); $table->text('address'); $table->string('link')->nullable(); - $table->enum('type', ['online','cetak','radio','televisi']); + $table->enum('type', ['online', 'cetak', 'radio', 'televisi']); $table->enum('classification', ['lokal', 'regional', 'nasional']); $table->string('journalism_organization')->nullable(); $table->string('journalism_organization_doc')->nullable(); diff --git a/database/migrations/2025_02_25_024802_create_journalists_table.php b/database/migrations/2025_02_25_024802_create_journalists_table.php index 1fb0dd0..7715eaf 100644 --- a/database/migrations/2025_02_25_024802_create_journalists_table.php +++ b/database/migrations/2025_02_25_024802_create_journalists_table.php @@ -21,7 +21,7 @@ public function up(): void $table->string('ukw_certificate')->nullable(); $table->string('ukw_certificate_doc')->nullable(); $table->enum('approved_status', ['0', '1', '2'])->default('0'); - $table->timestamp('approved_at')-> nullable(); + $table->timestamp('approved_at')->nullable(); $table->text('edit_description')->nullable(); $table->text('edit_rejection_reason')->nullable(); $table->enum('edit_status', ['0', '1', '2', '3'])->default('0'); diff --git a/database/migrations/2025_03_03_003155_create_issue_management_table.php b/database/migrations/2025_03_03_003155_create_issue_management_table.php index 5ec8da8..ede68f8 100644 --- a/database/migrations/2025_03_03_003155_create_issue_management_table.php +++ b/database/migrations/2025_03_03_003155_create_issue_management_table.php @@ -23,8 +23,8 @@ public function up(): void $table->foreign('sub_classification_id')->references('id')->on('sub_classifications'); $table->unsignedBigInteger('media_monitoring_id'); $table->foreign('media_monitoring_id')->references('id')->on('media_monitorings'); - $table->enum('issue', ['positif','negatif','netral','krisis']); - $table->enum('response', ['positif','negatif','netral','krisis']); + $table->enum('issue', ['positif', 'negatif', 'netral', 'krisis']); + $table->enum('response', ['positif', 'negatif', 'netral', 'krisis']); $table->text('description')->nullable(); $table->unsignedBigInteger('enhancer_id'); $table->foreign('enhancer_id')->references('id')->on('users'); diff --git a/database/migrations/2025_03_03_005218_management_issues_government_agencies.php b/database/migrations/2025_03_03_005218_management_issues_government_agencies.php index ffce666..a076f64 100644 --- a/database/migrations/2025_03_03_005218_management_issues_government_agencies.php +++ b/database/migrations/2025_03_03_005218_management_issues_government_agencies.php @@ -16,11 +16,11 @@ public function up(): void $table->unsignedBigInteger('issue_management_id'); $table->unsignedBigInteger('government_agency_id'); $table->foreign('issue_management_id', 'mi_ga_mi_fk') - ->references('id')->on('issue_managements') - ->onDelete('cascade'); + ->references('id')->on('issue_managements') + ->onDelete('cascade'); $table->foreign('government_agency_id', 'mi_ga_ga_fk') - ->references('id')->on('government_agencies') - ->onDelete('cascade'); + ->references('id')->on('government_agencies') + ->onDelete('cascade'); $table->timestamps(); }); diff --git a/database/migrations/2025_03_07_153420_create_journalists_cooperation_proposals_table.php b/database/migrations/2025_03_07_153420_create_journalists_cooperation_proposals_table.php index c206714..2acd28a 100644 --- a/database/migrations/2025_03_07_153420_create_journalists_cooperation_proposals_table.php +++ b/database/migrations/2025_03_07_153420_create_journalists_cooperation_proposals_table.php @@ -17,12 +17,12 @@ public function up(): void $table->unsignedBigInteger('journalist_id'); $table->foreign('cooperation_proposal_id', 'journalists_cooperation_propososals_coop_id_foreign') - ->references('id')->on('cooperation_proposals') - ->onDelete('cascade'); + ->references('id')->on('cooperation_proposals') + ->onDelete('cascade'); $table->foreign('journalist_id', 'journalists_cooperation_propososals_journalist_id_foreign') - ->references('id')->on('journalists') - ->onDelete('cascade'); + ->references('id')->on('journalists') + ->onDelete('cascade'); $table->timestamps(); }); } diff --git a/database/migrations/2025_07_16_140228_create_activity_log_table.php b/database/migrations/2025_07_16_140228_create_activity_log_table.php index 7c05bc8..b788f65 100644 --- a/database/migrations/2025_07_16_140228_create_activity_log_table.php +++ b/database/migrations/2025_07_16_140228_create_activity_log_table.php @@ -1,8 +1,8 @@ get(); - foreach($legacyClassifications as $legacyClassification){ + foreach ($legacyClassifications as $legacyClassification) { Classification::create([ 'id' => $legacyClassification->id, 'name' => $legacyClassification->name, diff --git a/database/seeders/CompanySeeder.php b/database/seeders/CompanySeeder.php index 04559f4..e3899b9 100644 --- a/database/seeders/CompanySeeder.php +++ b/database/seeders/CompanySeeder.php @@ -4,9 +4,7 @@ use App\Models\Company; use App\Models\Legacy\OldCompany; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Facades\Log; class CompanySeeder extends Seeder { @@ -17,7 +15,7 @@ public function run(): void { $legacyCompanies = OldCompany::all(); - foreach($legacyCompanies as $legacyCompany){ + foreach ($legacyCompanies as $legacyCompany) { Company::create([ 'id' => $legacyCompany->id, 'name' => $legacyCompany->name, diff --git a/database/seeders/ContactSeeder.php b/database/seeders/ContactSeeder.php index ebf4186..705d605 100644 --- a/database/seeders/ContactSeeder.php +++ b/database/seeders/ContactSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class ContactSeeder extends Seeder diff --git a/database/seeders/ContentRecapClassificationSeeder.php b/database/seeders/ContentRecapClassificationSeeder.php index cd49c80..d752c4c 100644 --- a/database/seeders/ContentRecapClassificationSeeder.php +++ b/database/seeders/ContentRecapClassificationSeeder.php @@ -4,7 +4,6 @@ use App\Models\ContentRecapClassification; use App\Models\Legacy\OldContentRecapClassification; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class ContentRecapClassificationSeeder extends Seeder @@ -16,7 +15,7 @@ public function run(): void { $legacyContentRecapClassifications = OldContentRecapClassification::all(); - foreach($legacyContentRecapClassifications as $legacyContentRecapClassification){ + foreach ($legacyContentRecapClassifications as $legacyContentRecapClassification) { ContentRecapClassification::create([ 'id' => $legacyContentRecapClassification->id, 'name' => $legacyContentRecapClassification->name, diff --git a/database/seeders/ContentRecapSeeder.php b/database/seeders/ContentRecapSeeder.php index a764bf6..26c446b 100644 --- a/database/seeders/ContentRecapSeeder.php +++ b/database/seeders/ContentRecapSeeder.php @@ -4,7 +4,6 @@ use App\Models\ContentRecap; use App\Models\Legacy\OldContentRecap; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class ContentRecapSeeder extends Seeder @@ -16,7 +15,7 @@ public function run(): void { $legacyContentRecaps = OldContentRecap::all(); - foreach($legacyContentRecaps as $legacyContentRecap){ + foreach ($legacyContentRecaps as $legacyContentRecap) { ContentRecap::create([ 'id' => $legacyContentRecap->id, 'content_theme' => $legacyContentRecap->title, diff --git a/database/seeders/CooperationCompletionSeeder.php b/database/seeders/CooperationCompletionSeeder.php index 6a5de83..27be7d6 100644 --- a/database/seeders/CooperationCompletionSeeder.php +++ b/database/seeders/CooperationCompletionSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class CooperationCompletionSeeder extends Seeder diff --git a/database/seeders/CooperationProposalSeeder.php b/database/seeders/CooperationProposalSeeder.php index db0c984..bbd4e77 100644 --- a/database/seeders/CooperationProposalSeeder.php +++ b/database/seeders/CooperationProposalSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class CooperationProposalSeeder extends Seeder diff --git a/database/seeders/CooperationSeeder.php b/database/seeders/CooperationSeeder.php index 2e4c405..3a8a317 100644 --- a/database/seeders/CooperationSeeder.php +++ b/database/seeders/CooperationSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class CooperationSeeder extends Seeder diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 8dd16e7..5ada39a 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -2,8 +2,6 @@ namespace Database\Seeders; -use App\Models\SubLocation; -use App\Models\User; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; diff --git a/database/seeders/GovernmentAgencySeeder.php b/database/seeders/GovernmentAgencySeeder.php index 8400db6..ceb5529 100644 --- a/database/seeders/GovernmentAgencySeeder.php +++ b/database/seeders/GovernmentAgencySeeder.php @@ -4,9 +4,7 @@ use App\Models\GovernmentAgency; use App\Models\Legacy\OldGovernmentAgency; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Str; class GovernmentAgencySeeder extends Seeder { @@ -14,32 +12,30 @@ class GovernmentAgencySeeder extends Seeder * Run the database seeds. */ public function run(): void -{ - $legacyGovernmentAgencies = OldGovernmentAgency::all(); + { + $legacyGovernmentAgencies = OldGovernmentAgency::all(); - foreach ($legacyGovernmentAgencies as $agency) { - $normalizedAgencyName = trim($agency->name); // Hapus spasi berlebih + foreach ($legacyGovernmentAgencies as $agency) { + $normalizedAgencyName = trim($agency->name); // Hapus spasi berlebih - // Cari apakah sudah ada yang mirip dengan nama ini (tanpa memperhatikan huruf besar/kecil) - $existingAgency = GovernmentAgency::whereRaw('LOWER(name) = ?', [strtolower($normalizedAgencyName)])->first(); + // Cari apakah sudah ada yang mirip dengan nama ini (tanpa memperhatikan huruf besar/kecil) + $existingAgency = GovernmentAgency::whereRaw('LOWER(name) = ?', [strtolower($normalizedAgencyName)])->first(); - if (!$existingAgency) { - GovernmentAgency::create([ - 'name' => $normalizedAgencyName, // Simpan dengan format aslinya - 'created_at' => $agency->created_at, - 'updated_at' => $agency->updated_at, - 'deleted_at' => $agency->deleted_at, - 'enhancer_id' => $agency->user_id, - ]); + if (! $existingAgency) { + GovernmentAgency::create([ + 'name' => $normalizedAgencyName, // Simpan dengan format aslinya + 'created_at' => $agency->created_at, + 'updated_at' => $agency->updated_at, + 'deleted_at' => $agency->deleted_at, + 'enhancer_id' => $agency->user_id, + ]); + } } + + // Tambahkan "Lainnya" jika belum ada + GovernmentAgency::firstOrCreate( + ['name' => 'Lainnya'], + ['enhancer_id' => 1] + ); } - - // Tambahkan "Lainnya" jika belum ada - GovernmentAgency::firstOrCreate( - ['name' => 'Lainnya'], - ['enhancer_id' => 1] - ); -} - - } diff --git a/database/seeders/IssueManagementSeeder.php b/database/seeders/IssueManagementSeeder.php index f5c20c6..b498940 100644 --- a/database/seeders/IssueManagementSeeder.php +++ b/database/seeders/IssueManagementSeeder.php @@ -5,7 +5,6 @@ use App\Models\GovernmentAgency; use App\Models\IssueManagement; use App\Models\Legacy\OldIssueManagement; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Log; @@ -52,10 +51,10 @@ public function run(): void if ($agency) { $agencyIds[] = $agency->id; - }else{ + } else { $otherAgency = GovernmentAgency::where('name', 'Lainnya')->first(); - Log::info("OPD yang tidak cocok: ". $name); + Log::info('OPD yang tidak cocok: '.$name); $agencyIds[] = $otherAgency->id; } @@ -82,5 +81,4 @@ public function run(): void $createdIssueManagement->governmentAgencies()->attach($agencyIds); } } - } diff --git a/database/seeders/JournalistSeeder.php b/database/seeders/JournalistSeeder.php index 36addae..1ad3579 100644 --- a/database/seeders/JournalistSeeder.php +++ b/database/seeders/JournalistSeeder.php @@ -4,7 +4,6 @@ use App\Models\Journalist; use App\Models\Legacy\OldJournalist; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class JournalistSeeder extends Seeder @@ -16,7 +15,7 @@ public function run(): void { $legacyJournalists = OldJournalist::all(); - foreach($legacyJournalists as $legacyJournalist){ + foreach ($legacyJournalists as $legacyJournalist) { Journalist::create([ 'id' => $legacyJournalist->id, 'name' => $legacyJournalist->name, diff --git a/database/seeders/LocationSeeder.php b/database/seeders/LocationSeeder.php index 201e42e..9ad57c8 100644 --- a/database/seeders/LocationSeeder.php +++ b/database/seeders/LocationSeeder.php @@ -4,9 +4,7 @@ use App\Models\Legacy\OldLocation; use App\Models\Location; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Str; class LocationSeeder extends Seeder { @@ -17,7 +15,7 @@ public function run(): void { $legacyLocations = OldLocation::all(); - foreach($legacyLocations as $legacyLocation){ + foreach ($legacyLocations as $legacyLocation) { Location::create([ 'id' => $legacyLocation->id, 'name' => $legacyLocation->name, diff --git a/database/seeders/MediaCooperationSeeder.php b/database/seeders/MediaCooperationSeeder.php index a2d2548..893bf79 100644 --- a/database/seeders/MediaCooperationSeeder.php +++ b/database/seeders/MediaCooperationSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class MediaCooperationSeeder extends Seeder diff --git a/database/seeders/MediaMonitoringSeeder.php b/database/seeders/MediaMonitoringSeeder.php index a516a43..9437ed5 100644 --- a/database/seeders/MediaMonitoringSeeder.php +++ b/database/seeders/MediaMonitoringSeeder.php @@ -4,9 +4,7 @@ use App\Models\Legacy\OldMediaMonitoring; use App\Models\MediaMonitoring; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Facades\Log; class MediaMonitoringSeeder extends Seeder { @@ -16,7 +14,7 @@ class MediaMonitoringSeeder extends Seeder public function run(): void { $legacyMediaMonitorings = OldMediaMonitoring::all(); - foreach($legacyMediaMonitorings as $legacyMediaMonitoring){ + foreach ($legacyMediaMonitorings as $legacyMediaMonitoring) { MediaMonitoring::create([ 'id' => $legacyMediaMonitoring->id, 'code' => $legacyMediaMonitoring->code, @@ -36,7 +34,7 @@ public function run(): void 'created_at' => $legacyMediaMonitoring->created_at, 'updated_at' => $legacyMediaMonitoring->updated_at, 'deleted_at' => $legacyMediaMonitoring->deleted_at, - 'enhancer_id' => in_array($legacyMediaMonitoring->enhancer, [0, 3]) ? 1 : $legacyMediaMonitoring->enhancer, + 'enhancer_id' => in_array($legacyMediaMonitoring->enhancer, [0, 3]) ? 1 : $legacyMediaMonitoring->enhancer, ]); } } diff --git a/database/seeders/MediaSeeder.php b/database/seeders/MediaSeeder.php index 737f487..ab2c988 100644 --- a/database/seeders/MediaSeeder.php +++ b/database/seeders/MediaSeeder.php @@ -4,7 +4,6 @@ use App\Models\Legacy\OldMedia; use App\Models\Media; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class MediaSeeder extends Seeder @@ -16,7 +15,7 @@ public function run(): void { $legacyMedia = OldMedia::all(); - foreach($legacyMedia as $item){ + foreach ($legacyMedia as $item) { Media::create([ 'id' => $item->id, diff --git a/database/seeders/NewsSeeder.php b/database/seeders/NewsSeeder.php index b9c3ec7..1801bde 100644 --- a/database/seeders/NewsSeeder.php +++ b/database/seeders/NewsSeeder.php @@ -4,7 +4,6 @@ use App\Models\Legacy\OldNews; use App\Models\News; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; use Illuminate\Support\Str; @@ -17,7 +16,7 @@ public function run(): void { $legacyNews = OldNews::all(); - foreach($legacyNews as $item){ + foreach ($legacyNews as $item) { News::create([ 'id' => $item->id, 'title' => $item->title, diff --git a/database/seeders/OrderSeeder.php b/database/seeders/OrderSeeder.php index aa29f8e..25f09f8 100644 --- a/database/seeders/OrderSeeder.php +++ b/database/seeders/OrderSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class OrderSeeder extends Seeder diff --git a/database/seeders/ReportSeeder.php b/database/seeders/ReportSeeder.php index e449382..4c03835 100644 --- a/database/seeders/ReportSeeder.php +++ b/database/seeders/ReportSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class ReportSeeder extends Seeder diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php index 4243586..734a1c4 100644 --- a/database/seeders/RoleSeeder.php +++ b/database/seeders/RoleSeeder.php @@ -3,7 +3,6 @@ namespace Database\Seeders; use App\Models\Role; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class RoleSeeder extends Seeder @@ -14,11 +13,11 @@ class RoleSeeder extends Seeder public function run(): void { Role::insert([ - ['name' => "Administrator", 'description' => null], - ['name' => "Admin Monitoring", 'description' => null], - ['name' => "Perusahaan", 'description' => null], - ['name' => "Admin Konten", 'description' => null], - ['name' => "Admin Keuangan", 'description' => null], + ['name' => 'Administrator', 'description' => null], + ['name' => 'Admin Monitoring', 'description' => null], + ['name' => 'Perusahaan', 'description' => null], + ['name' => 'Admin Konten', 'description' => null], + ['name' => 'Admin Keuangan', 'description' => null], ]); } } diff --git a/database/seeders/SubClassificationSeeder.php b/database/seeders/SubClassificationSeeder.php index 467fb2a..1bfac65 100644 --- a/database/seeders/SubClassificationSeeder.php +++ b/database/seeders/SubClassificationSeeder.php @@ -4,7 +4,6 @@ use App\Models\Legacy\OldSubClassification; use App\Models\SubClassification; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class SubClassificationSeeder extends Seeder @@ -16,7 +15,7 @@ public function run(): void { $legacySubClassifications = OldSubClassification::withTrashed()->get(); - foreach($legacySubClassifications as $legacySubClassification){ + foreach ($legacySubClassifications as $legacySubClassification) { SubClassification::create([ 'id' => $legacySubClassification->id, 'name' => $legacySubClassification->name, diff --git a/database/seeders/SubLocationSeeder.php b/database/seeders/SubLocationSeeder.php index c505d28..573fc95 100644 --- a/database/seeders/SubLocationSeeder.php +++ b/database/seeders/SubLocationSeeder.php @@ -4,9 +4,7 @@ use App\Models\Legacy\OldSubLocation; use App\Models\SubLocation; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Str; class SubLocationSeeder extends Seeder { @@ -17,7 +15,7 @@ public function run(): void { $legacySubLocations = OldSubLocation::all(); - foreach($legacySubLocations as $legacySubLocation){ + foreach ($legacySubLocations as $legacySubLocation) { SubLocation::create([ 'id' => $legacySubLocation->id, 'name' => $legacySubLocation->name, diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php index f6d9699..8dd5511 100644 --- a/database/seeders/UserSeeder.php +++ b/database/seeders/UserSeeder.php @@ -4,9 +4,7 @@ use App\Models\Legacy\OldUser; use App\Models\User; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -use Illuminate\Support\Facades\Log; class UserSeeder extends Seeder { @@ -37,7 +35,7 @@ public function run(): void 'email' => 'admin@gmail.com', 'password' => 'Rahasia123@', 'status' => '1', - 'role_id' => '1' + 'role_id' => '1', ]); User::create([ @@ -45,15 +43,15 @@ public function run(): void 'email' => 'sample2@gmail.com', 'password' => 'Rahasia123@', 'status' => '1', - 'role_id' => '1' + 'role_id' => '1', ]); User::find(117)->update([ - 'password' => 'Rahasia123@' + 'password' => 'Rahasia123@', ]); User::find(232)->update([ - 'password' => 'Rahasia123@' + 'password' => 'Rahasia123@', ]); } } diff --git a/database/seeders/VisitorSeeder.php b/database/seeders/VisitorSeeder.php index e72290c..388bb20 100644 --- a/database/seeders/VisitorSeeder.php +++ b/database/seeders/VisitorSeeder.php @@ -2,7 +2,6 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class VisitorSeeder extends Seeder diff --git a/routes/web.php b/routes/web.php index 8a9de4c..8ad3bf9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -34,25 +34,25 @@ use App\Http\Controllers\HomepageController; use Illuminate\Support\Facades\Route; -Route::name('homepage.')->controller(HomepageController::class)->middleware('visitor.count')->group(function(){ +Route::name('homepage.')->controller(HomepageController::class)->middleware('visitor.count')->group(function () { Route::get('/', 'landing')->name('landing'); Route::get('/search', 'search')->name('search'); - Route::prefix('news')->name('news.')->group(function(){ + Route::prefix('news')->name('news.')->group(function () { Route::get('/', 'news')->name('index'); Route::get('/{slug}', 'readNews')->name('read'); }); - Route::prefix('announcements')->name('announcements.')->group(function(){ + Route::prefix('announcements')->name('announcements.')->group(function () { Route::get('/', 'announcement')->name('index'); Route::get('/{slug}', 'readAnnouncement')->name('read'); }); - Route::prefix('about-us')->name('about.us.')->group(function(){ + Route::prefix('about-us')->name('about.us.')->group(function () { Route::get('/', 'aboutUs')->name('index'); }); - Route::prefix('contacts')->name('contacts.')->group(function(){ + Route::prefix('contacts')->name('contacts.')->group(function () { Route::get('/', 'contact')->name('index'); Route::post('/', 'receiveMessage')->name('receive.message'); // Route::post('/', 'receiveMessage')->name('receive.message')->middleware('throttle:contact_message'); @@ -61,33 +61,33 @@ Route::get('/errors/{code}', 'customError')->name('error.custom'); }); -Route::prefix('auth')->group(function(){ - Route::controller(AuthController::class)->group(function(){ +Route::prefix('auth')->group(function () { + Route::controller(AuthController::class)->group(function () { Route::get('/login', 'login')->name('login')->middleware('authenticated'); - Route::name('auth.')->group(function(){ + Route::name('auth.')->group(function () { Route::post('/login', 'loginAction')->name('login.action')->middleware('throttle:login'); Route::get('/register', 'register')->name('register')->middleware('authenticated'); Route::post('/register', 'registerAction')->name('register.action'); Route::get('/register-success', 'registerSuccess')->name('register.success')->middleware('authenticated'); - Route::get('/logout', 'logout')->name('logout' ); + Route::get('/logout', 'logout')->name('logout'); }); }); }); -Route::middleware(['auth', 'role:1,2,3,4,5', 'announcement'])->group(function(){ - Route::prefix('dashboard')->name('dashboard.')->group(function(){ - Route::controller(OverviewController::class)->group(function(){ +Route::middleware(['auth', 'role:1,2,3,4,5', 'announcement'])->group(function () { + Route::prefix('dashboard')->name('dashboard.')->group(function () { + Route::controller(OverviewController::class)->group(function () { Route::get('/overview', 'index')->name('overview'); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('classifications')->name('classifications.')->group(function(){ - Route::controller(ClassificationController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('classifications')->name('classifications.')->group(function () { + Route::controller(ClassificationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -102,13 +102,13 @@ }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('sub-classifications')->name('sub.classifications.')->group(function(){ - Route::controller(SubClassificationController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('sub-classifications')->name('sub.classifications.')->group(function () { + Route::controller(SubClassificationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -121,13 +121,13 @@ }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('locations')->name('locations.')->group(function(){ - Route::controller(LocationController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('locations')->name('locations.')->group(function () { + Route::controller(LocationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -140,13 +140,13 @@ }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('sub-locations')->name('sub.locations.')->group(function(){ - Route::controller(SubLocationController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('sub-locations')->name('sub.locations.')->group(function () { + Route::controller(SubLocationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -159,13 +159,13 @@ }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('government-agencies')->name('government.agencies.')->group(function(){ - Route::controller(GovernmentAgencyController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('government-agencies')->name('government.agencies.')->group(function () { + Route::controller(GovernmentAgencyController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -178,9 +178,9 @@ }); }); - Route::middleware('role:1')->group(function(){ - Route::prefix('news')->name('news.')->group(function(){ - Route::controller(NewsController::class)->group(function(){ + Route::middleware('role:1')->group(function () { + Route::prefix('news')->name('news.')->group(function () { + Route::controller(NewsController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); Route::get('/create', 'create')->name('create'); @@ -200,13 +200,12 @@ }); }); - - Route::middleware('role:1,2,3,4')->group(function(){ - Route::prefix('announcements')->name('announcements.')->group(function(){ - Route::controller(AnnouncementController::class)->group(function(){ + Route::middleware('role:1,2,3,4')->group(function () { + Route::prefix('announcements')->name('announcements.')->group(function () { + Route::controller(AnnouncementController::class)->group(function () { Route::get('/', 'index')->name('index'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/{id}/show', 'show')->name('show'); Route::get('/create', 'create')->name('create'); @@ -224,9 +223,9 @@ }); }); - Route::middleware('role:1')->group(function(){ - Route::prefix('statistics')->name('statistics.')->group(function(){ - Route::controller(StatisticController::class)->group(function(){ + Route::middleware('role:1')->group(function () { + Route::prefix('statistics')->name('statistics.')->group(function () { + Route::controller(StatisticController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{category}', 'show')->name('show'); @@ -235,23 +234,22 @@ }); }); - - Route::middleware('role:1')->group(function(){ - Route::prefix('settings')->name('settings.')->group(function(){ - Route::controller(SettingController::class)->group(function(){ + Route::middleware('role:1')->group(function () { + Route::prefix('settings')->name('settings.')->group(function () { + Route::controller(SettingController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::put('/', 'update')->name('update'); }); }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('airing-proof-themes')->name('airing.proof.themes.')->group(function(){ - Route::controller(AiringProofThemeController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('airing-proof-themes')->name('airing.proof.themes.')->group(function () { + Route::controller(AiringProofThemeController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::get('/create/restore/{slug}', 'restore')->name('restore'); Route::post('/', 'store')->name('store'); @@ -265,13 +263,13 @@ }); }); - Route::middleware('role:1,2,4')->group(function(){ - Route::prefix('content-recap-classifications')->name('content.recap.classifications.')->group(function(){ - Route::controller(ContentRecapClassificationController::class)->group(function(){ + Route::middleware('role:1,2,4')->group(function () { + Route::prefix('content-recap-classifications')->name('content.recap.classifications.')->group(function () { + Route::controller(ContentRecapClassificationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create', 'create')->name('create'); Route::get('/create/restore/{slug}', 'restore')->name('restore'); Route::post('/', 'store')->name('store'); @@ -285,9 +283,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('companies')->name('companies.')->group(function(){ - Route::controller(CompanyController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('companies')->name('companies.')->group(function () { + Route::controller(CompanyController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/{type}/show', 'show')->name('show'); Route::get('/create', 'create')->name('create'); @@ -312,13 +310,12 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('media')->name('media.')->group(function(){ - Route::controller(MediaController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('media')->name('media.')->group(function () { + Route::controller(MediaController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/{type}/show', 'show')->name('show'); - Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); Route::get('/edit/request', 'editRequest')->name('edit.request'); @@ -340,9 +337,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('journalists')->name('journalists.')->group(function(){ - Route::controller(JournalistController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('journalists')->name('journalists.')->group(function () { + Route::controller(JournalistController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/submission', 'submission')->name('submissions'); Route::get('/submission/{id}/process', 'processSubmission')->name('submissions.process'); @@ -373,9 +370,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('cooperations')->name('cooperations.')->group(function(){ - Route::controller(MediaCooperationController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('cooperations')->name('cooperations.')->group(function () { + Route::controller(MediaCooperationController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); @@ -391,7 +388,6 @@ 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::delete('/{id}', 'destroy')->name('destroy'); @@ -405,9 +401,9 @@ }); }); - Route::middleware('role:1,3')->group(function(){ - Route::prefix('cooperations-requests')->name('cooperations.requests.')->group(function(){ - Route::controller(CooperationRequestController::class)->group(function(){ + Route::middleware('role:1,3')->group(function () { + Route::prefix('cooperations-requests')->name('cooperations.requests.')->group(function () { + Route::controller(CooperationRequestController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); Route::get('/create', 'create')->name('create'); @@ -421,7 +417,6 @@ Route::get('/{id}/reject', 'reject')->name('reject'); Route::post('/{id}/reject', 'rejectAction')->name('reject.action'); - Route::get('/{id}/edit', 'editProposal')->name('proposal.edit'); Route::put('/{id}', 'updateProposal')->name('proposal.update'); Route::delete('/{id}', 'destroyProposal')->name('proposal.destroy'); @@ -432,13 +427,13 @@ }); }); - Route::middleware('role:1,3')->group(function(){ - Route::prefix('media-orders')->name('media.orders.')->group(function(){ - Route::controller(MediaOrderController::class)->group(function(){ + Route::middleware('role:1,3')->group(function () { + Route::prefix('media-orders')->name('media.orders.')->group(function () { + Route::controller(MediaOrderController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); - Route::middleware('role:1')->group(function(){ + Route::middleware('role:1')->group(function () { Route::get('/create/{id}', 'create')->name('create'); Route::post('/{id}', 'store')->name('store'); Route::get('/{id}/edit', 'edit')->name('edit'); @@ -447,7 +442,7 @@ }); - Route::middleware('role:3')->group(function(){ + Route::middleware('role:3')->group(function () { Route::post('/{id}/accept', 'accept')->name('accept'); Route::post('/{id}/reject', 'reject')->name('reject'); }); @@ -458,9 +453,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('reports')->name('reports.')->group(function(){ - Route::controller(ReportController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('reports')->name('reports.')->group(function () { + Route::controller(ReportController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/show/{id}', 'showIndex')->name('show.index'); Route::get('/process/{id}', 'processIndex')->name('process.index'); @@ -469,7 +464,7 @@ Route::get('/print/{id}', 'singlePrint')->name('print.single'); Route::post('/export', 'export')->name('export'); - Route::middleware('role:3')->group(function(){ + Route::middleware('role:3')->group(function () { Route::get('/create/{id}', 'create')->name('create'); Route::post('/check-link', 'checkLink')->name('check.link'); Route::post('/{id}', 'store')->name('store'); @@ -479,7 +474,7 @@ }); - Route::middleware('role:1,5')->group(function(){ + Route::middleware('role:1,5')->group(function () { Route::post('/{id}/accept', 'accept')->name('accept'); Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject'); Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action'); @@ -494,9 +489,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('cooperation-completions')->name('cooperation.completions.')->group(function(){ - Route::controller(CooperationCompletionController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('cooperation-completions')->name('cooperation.completions.')->group(function () { + Route::controller(CooperationCompletionController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/show/{id}', 'showIndex')->name('show.index'); Route::get('/process/{id}', 'processIndex')->name('process.index'); @@ -510,7 +505,7 @@ Route::put('/{id}', 'update')->name('update'); Route::delete('/{id}', 'destroy')->name('destroy'); - Route::middleware('role:1,5')->group(function(){ + Route::middleware('role:1,5')->group(function () { Route::post('/{id}/accept', 'accept')->name('accept'); Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject'); Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action'); @@ -523,9 +518,9 @@ }); }); - Route::middleware('role:1,3,5')->group(function(){ - Route::prefix('cooperation-archives')->name('cooperation.archives.')->group(function(){ - Route::controller(CooperationArchiveController::class)->group(function(){ + Route::middleware('role:1,3,5')->group(function () { + Route::prefix('cooperation-archives')->name('cooperation.archives.')->group(function () { + Route::controller(CooperationArchiveController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::post('/filter', 'filter')->name('filter'); @@ -536,9 +531,9 @@ }); }); - Route::middleware('role:1,4')->group(function(){ - Route::prefix('content-recaps')->name('content.recaps.')->group(function(){ - Route::controller(ContentRecapController::class)->group(function(){ + Route::middleware('role:1,4')->group(function () { + Route::prefix('content-recaps')->name('content.recaps.')->group(function () { + Route::controller(ContentRecapController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/create', 'create')->name('create'); Route::post('/check-link', 'checkLink')->name('check.link'); @@ -557,9 +552,9 @@ }); }); - Route::middleware('role:1,2')->group(function(){ - Route::prefix('media-monitorings')->name('media.monitorings.')->group(function(){ - Route::controller(MediaMonitoringController::class)->group(function(){ + Route::middleware('role:1,2')->group(function () { + Route::prefix('media-monitorings')->name('media.monitorings.')->group(function () { + Route::controller(MediaMonitoringController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/create', 'create')->name('create'); Route::post('/', 'store')->name('store'); @@ -578,9 +573,9 @@ }); }); - Route::middleware('role:1,2')->group(function(){ - Route::prefix('issue-managements')->name('issue.managements.')->group(function(){ - Route::controller(IssueManagementController::class)->group(function(){ + Route::middleware('role:1,2')->group(function () { + Route::prefix('issue-managements')->name('issue.managements.')->group(function () { + Route::controller(IssueManagementController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('/create', 'create')->name('create'); Route::post('/create/{media_monitoring_id}', 'store')->name('store'); @@ -604,9 +599,9 @@ }); }); - Route::prefix('contact-messages')->name('contact.messages.')->group(function(){ - Route::controller(ContactController::class)->group(function(){ - Route::middleware(['role:1'])->group(function(){ + Route::prefix('contact-messages')->name('contact.messages.')->group(function () { + Route::controller(ContactController::class)->group(function () { + Route::middleware(['role:1'])->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{id}/show', 'show')->name('show'); @@ -620,9 +615,9 @@ Route::get('/data', [DatatableController::class, 'contactMessage'])->name('data'); }); - Route::prefix('users')->name('users.')->group(function(){ - Route::controller(UserController::class)->group(function(){ - Route::middleware(['role:1'])->group(function(){ + Route::prefix('users')->name('users.')->group(function () { + Route::controller(UserController::class)->group(function () { + Route::middleware(['role:1'])->group(function () { Route::get('/', 'index')->name('index'); Route::post('/filter', 'filter')->name('filter'); Route::get('/create', 'create')->name('create'); @@ -648,9 +643,9 @@ Route::get('/data', [DatatableController::class, 'user'])->name('data'); }); - Route::middleware('role:1')->group(function(){ - Route::prefix('roles')->name('role.')->group(function(){ - Route::controller(RoleController::class)->group(function(){ + Route::middleware('role:1')->group(function () { + Route::prefix('roles')->name('role.')->group(function () { + Route::controller(RoleController::class)->group(function () { Route::get('/', 'index')->name('index'); }); @@ -658,9 +653,9 @@ }); }); - Route::middleware('role:1')->group(function(){ - Route::prefix('login-activities')->name('login.history.')->group(function(){ - Route::controller(LoginHistoryController::class)->group(function(){ + Route::middleware('role:1')->group(function () { + Route::prefix('login-activities')->name('login.history.')->group(function () { + Route::controller(LoginHistoryController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::post('/filter', 'filter')->name('filter'); }); @@ -669,9 +664,9 @@ }); }); - Route::middleware('role:1')->group(function(): void{ - Route::prefix('log-activities')->name('log.activity.')->group(function(){ - Route::controller(LogActivityController::class)->group(function(){ + Route::middleware('role:1')->group(function (): void { + Route::prefix('log-activities')->name('log.activity.')->group(function () { + Route::controller(LogActivityController::class)->group(function () { Route::get('/', 'index')->name('index'); Route::get('{id}/show', 'show')->name('show'); });