diff --git a/app/Audit.php b/app/Audit.php index a0055bd..c10a8f1 100644 --- a/app/Audit.php +++ b/app/Audit.php @@ -8,4 +8,14 @@ class Audit extends Model { protected $table = 'audit'; protected $connection = 'mysql7'; -} \ No newline at end of file + protected $fillable = [ + 'users', + 'actions', + 'norujukan', + 'new_data', + 'old_data', + 'kodcaw', + 'created_at', + 'updated_at', + ]; +} diff --git a/app/Poskod.php b/app/Poskod.php index af2b2fc..2051e7c 100644 --- a/app/Poskod.php +++ b/app/Poskod.php @@ -4,6 +4,8 @@ namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use App\Audit; +use Illuminate\Support\Carbon; class Poskod extends Model { @@ -16,25 +18,61 @@ class Poskod extends Model * * @var array */ - protected $fillable = [ - 'poskod', - 'koddaerah', - 'kodnegeri', - ]; + protected $fillable = ['poskod', 'koddaerah', 'kodnegeri']; + + public static function boot() + { + parent::boot(); + + $current = Carbon::now(); + $current = new Carbon(); + + static::created(function (Poskod $poskod) use($current){ + + Audit::create([ + 'users' => request()->all()['user']['name'], + 'actions' => 'Tambah poskod', + 'norujukan' => $poskod->recno, + 'new_data' => $poskod->toJson(), + 'old_data' => '', + 'kodcaw' => request()->all()['user']['cawangan'], + 'created_at' => $current, + 'updated_at' => $current, + ]); + + }); + + + static::updated(function (Poskod $poskod) use($current) { + + Audit::create([ + 'users' => request()->all()['user']['name'], + 'actions' => 'Kemaskini poskod', + 'norujukan' => $poskod->recno, + 'new_data' => $poskod->toJson(), + 'old_data' => json_encode($poskod->getOriginal()), + 'kodcaw' => request()->all()['user']['cawangan'], + 'created_at' => $current, + 'updated_at' => $current, + ]); + + }); + } /** * The attributes excluded from the model's JSON form. * * @var array */ - // protected $hidden = []; + // protected $hidden = [], - public function negeri(): BelongsTo { + public function negeri(): BelongsTo + { return $this->belongsTo(Negeri::class, 'kodnegeri', 'kodnegeri'); } - - public function daerah(): BelongsTo { + public function daerah(): BelongsTo + { return $this->belongsTo(Daerah::class, 'koddaerah', 'koddaerah'); } }