���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
portal-cutunix
/
modules
/
Project
/
Models
/
Viewing: Order.php
<?php namespace Modules\Project\Models; use Illuminate\Database\Eloquent\Model; use Modules\Finance\Models\Factor; use Modules\Identity\Models\User; use Modules\Shared\Models\EloquentScopes; use Modules\Tenancy\Models\Tenant; use Modules\Identity\Models\TenantCustomer; class Order extends Model { use EloquentScopes; protected $table = 'orders'; protected $fillable = [ 'name', 'type', 'mode', 'number', 'close', 'status', 'platform', 'count_part', 'send_status', 'status_services', 'status_em_services', 'description', 'factor', 'sheet_status_services', 'sheet_status_customer', 'customer_id', 'user_id', 'services_id', 'name_employer', ]; public const MODE_CUT_MASTER = 'cut_master'; public const MODE_MDF_SHOT = 'mdf_shot'; public const MODE_ANALYZE = 'analyze'; public const MODE_TENANT = 'tenant'; public const MODE_ADMIN = 'admin'; // public const PLATFORM public const STATUS_PROCESSING = 'در حال پردازش'; public const STATUS_IN_RUNNING_QUEUE = 'در صف اجرا'; public const STATUS_COMPLETED = 'تکمیل شده(آماده بارگیری)'; public const STATUS_CANCELED = 'کنسل'; public const STATUS_INITIAL_REQUEST = 'درخواست اولیه (پیگیری مشتری)'; public const STATUS_CRM = 'CRM'; public static array $statuses = [ 1 => self::STATUS_INITIAL_REQUEST, 2 => self::STATUS_PROCESSING, 3 => self::STATUS_IN_RUNNING_QUEUE, 4 => self::STATUS_COMPLETED, 5 => self::STATUS_CANCELED, // 6 => self::STATUS_CRM, ]; public function slices() { return $this->hasMany(OrderSlice::class, 'order_id'); } public function logs() { return $this->hasMany(OrderLog::class, 'order_id')->where('type', 'services'); } public function groups() { return $this->hasMany(OrderGroup::class, 'order_id'); } public function user() { return $this->belongsTo(User::class, 'user_id'); } public function tenant() { return $this->belongsTo(Tenant::class, 'services_id'); } public function factorhas() { return $this->hasOne(Factor::class, 'order_id'); } public function customer() { return $this->belongsTo(TenantCustomer::class, 'customer_id'); } public function scopeThatAreMine($query) { $query->where('user_id', auth('web')->id()); } public function scopeThatAreSentToServices($query) { $query->whereNotNull('services_id'); } public function isSentToTenant() { return !is_null($this->services_id); } public function requests() { return $this->hasMany(OrderRequest::class); } public function hasPendingRequest() { return count($this->requests) && $this->requests()->latest()->first()->status == OrderRequest::STATUS_PENDING; } public function hasPendingEditableRequest() { return $this->hasPendingRequest() && $this->requests()->latest()->first()->type == OrderRequest::TYPE_EDIT; } public function sheets() { return $this->hasMany(OrderGroup::class, 'order_id'); } public function scopeThatAreSentToTenant($query) { $query->whereNotNull('services_id'); } public function isSentToServiceWorkshop() { return !is_null($this->services_id); } public function messages() { return $this->morphMany(\App\Models\Message::class, 'subjectable'); } public function hasAnyPendingEditRequest() { return count($this->requests) && $this->requests() ->where('type', OrderRequest::TYPE_EDIT) ->where('status', OrderRequest::STATUS_PENDING) ->count(); } public function isProcessedWithOpticut() { $result = true; $this->groups->each(function ($group) { if (is_null($group->win_cam_pdf) || is_null($group->opticut_file) || is_null($group->cut_master_pdf)) { $result = false; } }); return $result; } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa