<?php namespace Bixo\Payment\Policies; use Bixo\Payment\Models\Refund; use Illuminate\Foundation\Auth\User as Authenticatable; trait RefundAction { /** * Determine if the given user can copy the given refund. * * @param Authenticatable $user * * @return bool */ public function copy(Authenticatable $user, Refund $refund) { if ($authUser->canDo('payment.refund.action.copy')) { return true; } $this->model->is_owner; } /** * Determine if the given user can empty the given refund. * * @param Authenticatable $user * * @return bool */ function empty(Authenticatable $user, Refund $refund) { if ($authUser->canDo('payment.refund.action.empty')) { return true; } $this->model->is_owner; } /** * Determine if the given user can transfer the given refund. * * @param Authenticatable $user * * @return bool */ public function transfer(Authenticatable $user, Refund $refund) { if ($authUser->canDo('payment.refund.action.transfer')) { return true; } $this->model->is_owner; } }