migration old data

This commit is contained in:
myuqinurrohman 2025-03-06 12:45:16 +07:00
parent 55dea5a35a
commit 18ae89b2e7
9 changed files with 111 additions and 80 deletions

View File

@ -29,8 +29,6 @@ class DatatableController extends Controller
public function classification(Request $request){ public function classification(Request $request){
if ($request->ajax()) { if ($request->ajax()) {
$data = Classification::with(['subClassifications'])->get(); $data = Classification::with(['subClassifications'])->get();
return DataTables::of($data) return DataTables::of($data)
@ -46,7 +44,7 @@ public function classification(Request $request){
$subClassificationCount = $data->subClassifications->count(); $subClassificationCount = $data->subClassifications->count();
if($subClassificationCount > 0){ if($subClassificationCount > 0){
return $subClassificationCount. ' [<a href="'.route('dashboard.sub.classifications.index', ['classification' => $data->slug]).'">Lihat</a>]'; return $subClassificationCount. ' [<a href="'.route('dashboard.sub.classifications.index', ['classification' => encrypt_id($data->id)]).'">Lihat</a>]';
}else{ }else{
return $subClassificationCount; return $subClassificationCount;
} }

View File

@ -30,8 +30,8 @@ public function create(Request $request){
]; ];
if($request->has('classification')){ if($request->has('classification')){
$classificationSlug = $request->query('classification'); $classificationId = $request->query('classification');
$viewData['classification'] = Classification::where('slug', '=', $classificationSlug)->first(); $viewData['classification'] = Classification::where('id', '=', decrypt_id($classificationId))->first();
$viewData['fromClassification'] = true; $viewData['fromClassification'] = true;
}else{ }else{
$viewData['classifications'] = Classification::all(); $viewData['classifications'] = Classification::all();

View File

@ -3,14 +3,15 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Classification extends Model class Classification extends Model
{ {
use SoftDeletes;
protected $table = 'classifications'; protected $table = 'classifications';
protected $fillable = [ protected $fillable = [
'name', 'name',
'slug',
'status', 'status',
'description', 'description',
'enhancer_id' 'enhancer_id'

View File

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

View File

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

View File

@ -3,8 +3,11 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\Classification; use App\Models\Classification;
use App\Models\Legacy\OldClassification;
use Carbon\Carbon;
use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class ClassificationSeeder extends Seeder class ClassificationSeeder extends Seeder
{ {
@ -13,19 +16,19 @@ class ClassificationSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
Classification::insert([ $legacyClassifications = OldClassification::withTrashed()->get();
[
'name' => 'Politik', foreach($legacyClassifications as $legacyClassification){
'slug' => 'politik', Classification::create([
'id' => $legacyClassification->id,
'name' => $legacyClassification->name,
'status' => $legacyClassification->status,
'description' => null, 'description' => null,
'enhancer_id' => '1' 'created_at' => $legacyClassification->created_at,
], 'updated_at' => $legacyClassification->updated_at,
[ 'deleted_at' => $legacyClassification->deleted_at,
'name' => 'Kiriminal', 'enhancer_id' => $legacyClassification->enhancer,
'slug' => 'kriminal', ]);
'description' => null, }
'enhancer_id' => '1'
]
]);
} }
} }

View File

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

View File

@ -13,21 +13,6 @@ class SubClassificationSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
SubClassification::insert([ //
[
'name' => 'Pembacokan',
'slug' => 'pembacokan',
'description' => null,
'classification_id' => '2',
'enhancer_id' => '1'
],
[
'name' => 'Tawuran',
'slug' => 'tawuran',
'description' => null,
'classification_id' => '2',
'enhancer_id' => '1'
]
]);
} }
} }

View File

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