When deleting an Address change active to FALSE

This commit is contained in:
Deon George 2022-11-11 23:04:28 +11:00
parent eab36c1603
commit 9f0fa242e6
2 changed files with 17 additions and 1 deletions

View File

@ -373,7 +373,10 @@ class NodelistImport implements ShouldQueue
}
// Remove addresses not recorded;
Address::whereIN('id',$zo->addresses->except($us->system->addresses->pluck('id')->toArray())->diff($no->addresses)->pluck('id')->toArray())->delete();
$remove = $zo->addresses->except($us->system->addresses->pluck('id')->toArray())->diff($no->addresses);
Log::notice(sprintf('%s:Deleting addresses [%s]',self::LOGKEY,$remove->pluck('ftn2d')->join(',')));
Address::whereIN('id',$remove->pluck('id')->toArray())->update(['active'=>FALSE]);
Address::whereIN('id',$remove->pluck('id')->toArray())->delete();
if (crc16(substr($tocrc,0,-3)) == $file_crc)
DB::commit();

View File

@ -46,6 +46,19 @@ class Address extends Model
public const NODE_POINT = 1<<8; // Point
public const NODE_UNKNOWN = 1<<15; // Unknown
public static function boot()
{
parent::boot();
// For indexes when deleting, we need to change active to FALSE
static::softDeleted(function($model) {
Log::debug(sprintf('%s:Deleting [%d], updating active to FALSE',self::LOGKEY,$model->id));
$model->active = FALSE;
$model->save();
});
}
/* SCOPES */
public function scopeFTNOrder($query)