App\services\InvoiceService::approveQuote PHP 메소드

approveQuote() 공개 메소드

public approveQuote ( $quote, Invitation $invitation = null ) : mixed | null
$quote
$invitation app\models\Invitation
리턴 mixed | null
    public function approveQuote($quote, Invitation $invitation = null)
    {
        $account = $quote->account;
        if (!$account->hasFeature(FEATURE_QUOTES) || !$quote->isType(INVOICE_TYPE_QUOTE) || $quote->quote_invoice_id) {
            return null;
        }
        if ($account->auto_convert_quote) {
            $invoice = $this->convertQuote($quote);
            foreach ($invoice->invitations as $invoiceInvitation) {
                if ($invitation->contact_id == $invoiceInvitation->contact_id) {
                    $invitation = $invoiceInvitation;
                }
            }
        } else {
            $quote->markApproved();
        }
        event(new QuoteInvitationWasApproved($quote, $invitation));
        return $invitation->invitation_key;
    }