public function canBeReviewed(Order $order) { if (!$order->isComplete()) { return false; } return !$this->reviewFromOrder($order); }
public function review(User $user, Product $product, Order $order) { return $order->isComplete() and $user->isOrderBuyer($order) and $order->hasProduct($product) and !$order->reviews()->whereMorph('reviewable', $product)->exists(); }