diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index 1309524a..ae957f61 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -182,6 +182,7 @@ class ItemController extends Controller if ( ! auth( 'api' )->user()->can( 'delete' , $Item ) ) { return MessageResponse::error( trans( 'messages.access_denied' ) ); } + $Item->transfersAll()->delete(); $Item->delete(); return MessageResponse::success( trans( 'messages.success' ) ); } diff --git a/app/Http/Controllers/PackageController.php b/app/Http/Controllers/PackageController.php index f7637730..dbff79e1 100644 --- a/app/Http/Controllers/PackageController.php +++ b/app/Http/Controllers/PackageController.php @@ -184,6 +184,7 @@ class PackageController extends Controller if ( count( $Package->labels ) ) { $Package->labels()->delete(); } + $Package->transfersAll()->delete(); $Package->delete(); return MessageResponse::success( trans( 'messages.success' ) ); } diff --git a/app/Item.php b/app/Item.php index de9c4c1f..a73f44ea 100644 --- a/app/Item.php +++ b/app/Item.php @@ -29,6 +29,11 @@ class Item extends Model implements HasMedia return $this->belongsTo( 'App\User' , "creator_id" ); } + public function transfersAll() + { + return $this->morphMany( 'App\Transfer' , "transferable" ); + } + public function transfers() { return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED ); diff --git a/app/Package.php b/app/Package.php index be949a15..8dfa95cc 100644 --- a/app/Package.php +++ b/app/Package.php @@ -29,6 +29,11 @@ class Package extends Model return $this->hasMany( 'App\Label' ); } + public function transfersAll() + { + return $this->morphMany( 'App\Transfer' , "transferable" ); + } + public function transfers() { return $this->morphMany( 'App\Transfer' , "transferable" )->where( "status" , StatusTypeEnum::APPROVED );