migration old sub classification data

This commit is contained in:
myuqinurrohman 2025-03-06 13:02:02 +07:00
parent 18ae89b2e7
commit 6ba34134ca
7 changed files with 125 additions and 59 deletions

View File

@ -97,14 +97,24 @@ public function subClassification(Request $request){
if ($request->ajax()) {
$classificationParam = $request->input('classification', null);
if ($classificationParam) {
$classification = Classification::where('id', '=', decrypt_id($classificationParam))->first();
if($classificationParam){
$classification = Classification::where('slug', '=', $classificationParam)->first();
$data = SubClassification::with(['classification'])->where('classification_id', '=', $classification->id)->get();
}else{
$data = SubClassification::with(['classification'])->get();
// Tambahkan pengecekan apakah classification ditemukan
if ($classification) {
$data = SubClassification::with(['classification' => function($query) {
$query->withTrashed();
}])->where('classification_id', '=', $classification->id)->get();
} else {
return response()->json(['error' => 'Classification not found'], 404);
}
} else {
$data = SubClassification::with(['classification' => function($query) {
$query->withTrashed();
}])->get();
}
return DataTables::of($data)
->addIndexColumn()
->addColumn('classification', function ($data) {

View File

@ -0,0 +1,15 @@
<?php
namespace App\Models\Legacy;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class OldSubClassification extends Model
{
use SoftDeletes;
protected $connection = 'legacy';
protected $table = 'sub_classifications';
}

View File

@ -10,7 +10,6 @@ class SubClassification extends Model
protected $fillable = [
'name',
'slug',
'status',
'description',
'classification_id',

View File

@ -14,7 +14,6 @@ public function up(): void
Schema::create('sub_classifications', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('slug')->unique();;
$table->text('description')->nullable();
$table->enum('status', ['0', '1'])->default('0');
$table->unsignedBigInteger('classification_id');
@ -22,6 +21,7 @@ public function up(): void
$table->unsignedBigInteger('enhancer_id');
$table->foreign('enhancer_id')->references('id')->on('users');
$table->timestamps();
$table->softDeletes();
});
}

View File

@ -16,10 +16,10 @@ public function run(): void
$this->call(RoleSeeder::class);
$this->call(UserSeeder::class);
$this->call(ClassificationSeeder::class);
$this->call(SubClassificationSeeder::class);
$this->call(CompanySeeder::class);
$this->call(MediaSeeder::class);
$this->call(JournalistSeeder::class);
$this->call(SubClassificationSeeder::class);
$this->call(GovernmentAgencySeeder::class);
}
}

View File

@ -2,6 +2,7 @@
namespace Database\Seeders;
use App\Models\Legacy\OldSubClassification;
use App\Models\SubClassification;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
@ -13,6 +14,20 @@ class SubClassificationSeeder extends Seeder
*/
public function run(): void
{
//
$legacySubClassifications = OldSubClassification::withTrashed()->get();
foreach($legacySubClassifications as $legacySubClassification){
SubClassification::create([
'id' => $legacySubClassification->id,
'name' => $legacySubClassification->name,
'status' => $legacySubClassification->status,
'description' => null,
'created_at' => $legacySubClassification->created_at,
'updated_at' => $legacySubClassification->updated_at,
'deleted_at' => $legacySubClassification->deleted_at,
'classification_id' => $legacySubClassification->classification,
'enhancer_id' => $legacySubClassification->enhancer,
]);
}
}
}

View File

@ -1,5 +1,5 @@
@include('partials.dashboard.head')
@include('partials.dashboard.sidebar', ['page' => 'sub_classifications'])
@include('partials.dashboard.sidebar', ['page' => 'journalists'])
@include('partials.dashboard.header')
<!-- content @s -->
<div class="nk-content ">
@ -7,57 +7,84 @@
<div class="nk-content-inner">
<div class="nk-content-body">
<div class="nk-block nk-block-lg">
<div class="card card-bordered card-preview">
<div class="card-inner">
<div class="card-head">
<h5 class="card-title">{{$title}}</h5>
</div>
<form action="#" method="post">
@csrf
@method('put')
<div class="row g-4">
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="name">Nama Sub Klasifikasi</label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('name') border-danger @enderror" id="name" name="name" placeholder="Masukan nama sub klasifikasi" value="{{ $subClassification->name}}" readonly>
<div class="card">
<div class="card-aside-wrap">
<div class="card-content">
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
<li class="nav-item">
<a class="nav-link text-primary" href="#"><em class="icon ni ni-info"></em><span>Detail Jurnalis</span></a>
</li>
</ul><!-- .nav-tabs -->
<div class="card-inner">
<div class="nk-block">
{{-- <div class="nk-block-head">
<h5 class="title">Personal Information</h5>
<p>Basic info, like your name and address, that you use on Nio Platform.</p>
</div> --}}
<div class="profile-ud-list">
<div class="profile-ud-item">
<div class="profile-ud wider">
<span class="profile-ud-label">Nama Sub Klasifikasi</span>
<span class="profile-ud-value">{{$subClassification->name}}</span>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="classification_name">Klasifikasi</label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('classification_name') border-danger @enderror" id="classification_name" name="classification_name" placeholder="Masukan nama klasifikasi" value="{{ $subClassification->classification->name}}" readonly>
<div class="profile-ud-item">
<div class="profile-ud wider">
<span class="profile-ud-label">Nama Klasifikasi</span>
<span class="profile-ud-value">{{$subClassification->classification->name}}</span>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="status">Status</label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('status') border-danger @enderror" id="status" name="status" placeholder="Status klasifikasi" value="{{ $subClassification->status == '1' ? 'Aktif' : 'Tidak Aktif'}}" readonly>
<div class="profile-ud-item">
<div class="profile-ud wider">
<span class="profile-ud-label">Status</span>
@switch($subClassification->status)
@case(0)
<span class="profile-ud-value"><span class="badge bg-warning">Nonaktif</span></span>
@break
@case(1)
<span class="profile-ud-value"><span class="badge bg-success">Aktif</span></span>
@break
@default
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
@endswitch
</div>
</div>
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label class="form-label" for="phone-no-1">Deskripsi</label>
<div class="form-control-wrap">
<div class="description-content">{!! $subClassification->description !!}</div>
</div>
</div>
</div>
<div class="col-12">
<hr>
<div class="form-group d-flex justify-content-end">
<a href="{{route('dashboard.sub.classifications.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
<a href="{{route('dashboard.sub.classifications.edit', ['id' => encrypt_id($subClassification->id)])}}" class="btn btn-warning"><span>Ubah</span></a>
</div>
</div>
</div>
</form>
</div>
</div><!-- .profile-ud-list -->
</div><!-- .nk-block -->
{{-- <div class="nk-divider divider md"></div> --}}
<div class="nk-block">
<div class="nk-block-head nk-block-head-sm nk-block-between">
<span class="profile-ud-label">Deskripsi</span>
</div><!-- .nk-block-head -->
<div class="bq-note">
<div class="bq-note-item">
<div class="bq-note-text">
{!!$subClassification->description ?? '-' !!}
</div>
</div><!-- .bq-note-item -->
</div><!-- .bq-note -->
</div><!-- .nk-block -->
{{-- <div class="nk-block">
<div class="nk-block-head nk-block-head-sm nk-block-between">
<span class="profile-ud-label">Konten</span>
</div><!-- .nk-block-head -->
<div class="bq-note">
<div class="bq-note-item">
<div class="bq-note-text">
{!!$journalistMonitoring->content!!}
</div>
</div><!-- .bq-note-item -->
</div><!-- .bq-note -->
</div><!-- .nk-block --> --}}
<hr>
<div class="nk-block d-flex justify-content-end">
<a href="{{route('dashboard.classifications.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
{{-- <a href="{{route('dashboard.content.recaps.edit', ['id' => encrypt_id($journalistMonitoring->id)])}}" class="btn btn-warning"><span>Ubah</span></a> --}}
</div><!-- .nk-block -->
</div><!-- .card-inner -->
</div><!-- .card-content -->
</div><!-- .card-aside-wrap -->
</div>
</div>
</div>
@ -65,4 +92,4 @@
</div>
</div>
<!-- content @e -->
@include('partials.dashboard.footer', ['rich_editor' => true])
@include('partials.dashboard.footer', ['rich_editor' => false])