/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function boot(DispatcherContract $events) { parent::boot($events); GenericContainer::creating(function ($genericContainer) { return $genericContainer->isCreating(); }); GenericContainer::saving(function ($genericContainer) { return $genericContainer->isSaving(); }); InboundOrder::creating(function ($inboundOrder) { return $inboundOrder->isCreating(); }); InboundOrderDetail::creating(function ($inboundOrderDetail) { return $inboundOrderDetail->isCreating(); }); Inventory::creating(function ($inventory) { return $inventory->isCreating(); }); Inventory::saving(function ($inventory) { return $inventory->isSaving(); }); Item::creating(function ($item) { return $item->isCreating(); }); JobExperience::creating(function ($jobExperience) { return $jobExperience->isCreating(); }); JobStatus::creating(function ($jobStatus) { return $jobStatus->isCreating(); }); Location::creating(function ($location) { return $location->isCreating(); }); Location::saving(function ($location) { return $location->isSaving(); }); Pallet::creating(function ($pallet) { return $pallet->isCreating(); }); Pallet::saving(function ($pallet) { return $pallet->isSaving(); }); PerformanceTally::creating(function ($performanceTally) { return $performanceTally->isCreating(); }); User::creating(function ($user) { return $user->isCreating(); }); }
/** * IMPORTANT: Call this function name on the Controller to verify this action is allowed * Implement putInventoryIntoTote($inventoryID, $toteID) */ public function putInventoryIntoTote($inventoryID, $toteID) { $inventory = Inventory::findOrFail($inventoryID); $tote = GenericContainer::findOrFail($toteID); $container = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('objectID', $inventoryID)->first(); Log::info("Put Inventory {$inventoryID} into Tote {$toteID}"); if (isset($container)) { $result = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('containerID', $container->containerID)->update(['parentID' => $toteID, 'objectID' => $inventoryID]); // $result === 1/true if the container was updated // $result === 0/false if no containers were updated if ($result === 1 or $result === 0) { return true; } } else { $result = Container::create(['parentID' => $toteID, 'objectID' => $inventoryID]); // $result == container object created if (isset($result) and get_class($result) == 'App\\vital3\\Container') { return true; } } Log::error('putInventoryIntoTote failed'); //dd(__METHOD__.'('.__LINE__.')',compact('inventoryID','toteID','inventory','tote','container','result')); return ['putInventoryIntoTote failed']; }