One Hat Cyber Team
Your IP :
3.144.13.230
Server IP :
192.145.235.60
Server :
Linux ngx365.inmotionhosting.com 5.14.0-427.33.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 30 09:45:56 EDT 2024 x86_64
Server Software :
Apache
PHP Version :
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
centos12
/
public_html
/
centosuit
/
app
/
Models
/
View File Name :
Estimate.php
<?php namespace App\Models; use App\Scopes\ActiveScope; use App\Traits\CustomFieldsTrait; use App\Traits\HasCompany; use Carbon\Carbon; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Notifications\Notifiable; /** * App\Models\Estimate * * @property int $id * @property int $client_id * @property string|null $estimate_number * @property \Illuminate\Support\Carbon $valid_till * @property float $sub_total * @property float $discount * @property string $discount_type * @property float $total * @property int|null $currency_id * @property string $status * @property string|null $note * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property int $send_status * @property int|null $added_by * @property int|null $last_updated_by * @property-read \App\Models\User $client * @property-read \App\Models\Currency|null $currency * @property-read mixed $extras * @property-read mixed $icon * @property-read mixed $total_amount * @property-read mixed $valid_date * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\EstimateItem[] $items * @property-read int|null $items_count * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications * @property-read int|null $notifications_count * @property-read \App\Models\AcceptEstimate|null $sign * @method static \Illuminate\Database\Eloquent\Builder|Estimate newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Estimate newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Estimate query() * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereAddedBy($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereClientId($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCurrencyId($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscount($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountType($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimateNumber($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereLastUpdatedBy($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereNote($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSendStatus($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereStatus($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSubTotal($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTotal($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereValidTill($value) * @property string|null $hash * @property int|null $unit_id * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereHash($value) * @property string $calculate_tax * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCalculateTax($value) * @property string|null $description * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDescription($value) * @property int|null $company_id * @property-read \App\Models\ClientDetails $clientdetails * @property-read \App\Models\Company|null $company * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCompanyId($value) * @property \Illuminate\Support\Carbon|null $last_viewed * @property string|null $ip_address * @property-read \App\Models\UnitType|null $unit * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereIpAddress($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereLastViewed($value) * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUnitId($value) * @property string|null $original_estimate_number * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereOriginalEstimateNumber($value) * @mixin \Eloquent */ class Estimate extends BaseModel { use Notifiable, CustomFieldsTrait, HasCompany; protected $casts = [ 'valid_till' => 'datetime', 'last_viewed' => 'datetime', ]; protected $appends = ['total_amount', 'valid_date']; protected $with = ['currency']; const CUSTOM_FIELD_MODEL = 'App\Models\Estimate'; public function items(): HasMany { return $this->hasMany(EstimateItem::class, 'estimate_id'); } public function company(): BelongsTo { return $this->belongsTo(Company::class); } public function client(): BelongsTo { return $this->belongsTo(User::class, 'client_id')->withoutGlobalScope(ActiveScope::class); } public function clientdetails(): BelongsTo { return $this->belongsTo(ClientDetails::class, 'client_id', 'user_id'); } public function currency(): BelongsTo { return $this->belongsTo(Currency::class, 'currency_id'); } public function unit(): BelongsTo { return $this->belongsTo(UnitType::class, 'unit_id'); } public function sign(): HasOne { return $this->hasOne(AcceptEstimate::class, 'estimate_id'); } public function getTotalAmountAttribute() { return (!is_null($this->total) && isset($this->currency) && !is_null($this->currency->currency_symbol)) ? $this->currency->currency_symbol . $this->total : ''; } public function getValidDateAttribute() { return !is_null($this->valid_till) ? Carbon::parse($this->valid_till)->format('d F, Y') : ''; } public function formatEstimateNumber() { $invoiceSettings = (company()) ? company()->invoiceSetting : $this->company->invoiceSetting; return \App\Helper\NumberFormat::estimate($this->estimate_number, $invoiceSettings); } public static function lastEstimateNumber() { return (int)Estimate::orderBy('id', 'desc')->first()?->original_estimate_number ?? 0; } public function estimateRequest(): BelongsTo { return $this->belongsTo(EstimateRequest::class, 'estimate_request_id'); } }