Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

Estimate.php 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Models\Accounting;
  3. use App\Casts\MoneyCast;
  4. use App\Casts\RateCast;
  5. use App\Concerns\Blamable;
  6. use App\Concerns\CompanyOwned;
  7. use App\Enums\Accounting\AdjustmentComputation;
  8. use App\Enums\Accounting\DocumentDiscountMethod;
  9. use App\Enums\Accounting\EstimateStatus;
  10. use Illuminate\Database\Eloquent\Factories\HasFactory;
  11. use Illuminate\Database\Eloquent\Model;
  12. class Estimate extends Model
  13. {
  14. use Blamable;
  15. use CompanyOwned;
  16. use HasFactory;
  17. protected $fillable = [
  18. 'client_id',
  19. 'logo',
  20. 'header',
  21. 'subheader',
  22. 'number',
  23. 'reference_number',
  24. 'date',
  25. 'expiry_date',
  26. 'approved_at',
  27. 'accepted_at',
  28. 'last_sent',
  29. 'status',
  30. 'currency_code',
  31. 'discount_method',
  32. 'discount_computation',
  33. 'discount_rate',
  34. 'subtotal',
  35. 'tax_total',
  36. 'discount_total',
  37. 'total',
  38. 'terms',
  39. 'footer',
  40. ];
  41. protected $casts = [
  42. 'date' => 'date',
  43. 'expiry_date' => 'date',
  44. 'approved_at' => 'datetime',
  45. 'accepted_at' => 'datetime',
  46. 'last_sent' => 'datetime',
  47. 'status' => EstimateStatus::class,
  48. 'discount_method' => DocumentDiscountMethod::class,
  49. 'discount_computation' => AdjustmentComputation::class,
  50. 'discount_rate' => RateCast::class,
  51. 'subtotal' => MoneyCast::class,
  52. 'tax_total' => MoneyCast::class,
  53. 'discount_total' => MoneyCast::class,
  54. 'total' => MoneyCast::class,
  55. ];
  56. }