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){
if ($request->ajax()) {
$data = Classification::with(['subClassifications'])->get();
return DataTables::of($data)
@ -46,7 +44,7 @@ public function classification(Request $request){
$subClassificationCount = $data->subClassifications->count();
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{
return $subClassificationCount;
}

View File

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

View File

@ -3,14 +3,15 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Classification extends Model
{
use SoftDeletes;
protected $table = 'classifications';
protected $fillable = [
'name',
'slug',
'status',
'description',
'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) {
$table->id();
$table->string('name');
$table->string('slug')->unique();;
$table->text('description')->nullable();
$table->enum('status', ['0', '1'])->default('0');
$table->unsignedBigInteger('enhancer_id');
$table->foreign('enhancer_id')->references('id')->on('users');
$table->timestamps();
$table->softDeletes();
});
}

View File

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

View File

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

View File

@ -13,21 +13,6 @@ class SubClassificationSeeder extends Seeder
*/
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.sidebar', ['page' => 'classifications'])
@include('partials.dashboard.sidebar', ['page' => 'journalists'])
@include('partials.dashboard.header')
<!-- content @s -->
<div class="nk-content ">
@ -7,49 +7,78 @@
<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 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 klasifikasi" value="{{ $classification->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 Klasifikasi</span>
<span class="profile-ud-value">{{$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="{{ $classification->status == '1' ? 'Aktif' : 'Tidak Aktif'}}" readonly>
<div class="profile-ud-item">
<div class="profile-ud wider">
<span class="profile-ud-label">Status</span>
@switch($classification->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">{!! $classification->description !!}</div>
</div>
</div>
</div>
<div class="col-12">
<hr>
<div class="form-group 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.classifications.edit', ['id' => encrypt_id($classification->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">
{!!$classification->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>
@ -57,4 +86,4 @@
</div>
</div>
<!-- content @e -->
@include('partials.dashboard.footer', ['rich_editor' => true])
@include('partials.dashboard.footer', ['rich_editor' => false])