Changeset View
Changeset View
Standalone View
Standalone View
src/app/Observers/EntitlementObserver.php
Show All 29 Lines | public function creating(Entitlement $entitlement) | ||||
$entitlement->{$entitlement->getKeyName()} = $allegedly_unique; | $entitlement->{$entitlement->getKeyName()} = $allegedly_unique; | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
// can't dispatch job here because it'll fail serialization | // can't dispatch job here because it'll fail serialization | ||||
// Make sure the owner is at least a controller on the wallet | // Make sure the owner is at least a controller on the wallet | ||||
$owner = \App\User::find($entitlement->owner_id); | |||||
$wallet = \App\Wallet::find($entitlement->wallet_id); | $wallet = \App\Wallet::find($entitlement->wallet_id); | ||||
if (!$owner) { | if (!$wallet || !$wallet->owner) { | ||||
return false; | return false; | ||||
} | } | ||||
if (!$wallet) { | |||||
return false; | |||||
} | |||||
if (!$wallet->owner() == $owner) { | |||||
if (!$wallet->controllers->contains($owner)) { | |||||
return false; | |||||
} | |||||
} | |||||
$sku = \App\Sku::find($entitlement->sku_id); | $sku = \App\Sku::find($entitlement->sku_id); | ||||
if (!$sku) { | if (!$sku) { | ||||
return false; | return false; | ||||
} | } | ||||
$result = $sku->handler_class::preReq($entitlement, $owner); | $result = $sku->handler_class::preReq($entitlement, $wallet->owner); | ||||
if (!$result) { | if (!$result) { | ||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
} | } |