HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: //home/armgroup/libs/app/Http/Livewire/Frontend/Order/Delivered.php
<?php

namespace App\Http\Livewire\Frontend\Order;

use App\Enums\OrderStatus;
use App\Http\Livewire\ConvertEmptyStringsToNull;
use App\Http\Livewire\General;
use App\Models\Order;
use Livewire\Component;

class Delivered extends Component
{
    use ConvertEmptyStringsToNull, General;

    public $delivery_code;

    public $status = false;

    public Order $order;

    public function render()
    {
        return view('livewire.frontend.order.delivered');
    }

    public function check()
    {
        $this->status = false;
        if ($this->canDeliver()) {
            $this->order->update(['status' => OrderStatus::COMPLETED]);
            $this->status = 'تحویل سفارش با موفقیت تایید شد';
            $this->delivery_code = null;
        } else {
            $this->addError('not_found', 'سفارشی با اطلاعات وارد شده وجود ندارد و یا در وضعیت تحویل نیست');
        }
    }

    private function canDeliver(): bool
    {
        return $this->delivery_code && $this->order->delivery_date && $this->order->delivery_code == $this->delivery_code && $this->order->status->is(OrderStatus::SENT);
    }
}