• File: PurchaseVoucher.php
  • Full Path: /var/www/sandbox/app/PurchaseVoucher.php
  • Date Modified: 04/15/2024 8:53 PM
  • File size: 1.68 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use DateTimeInterface;
use Spatie\Activitylog\LogOptions;
use \Spatie\Activitylog\Traits\LogsActivity;

class PurchaseVoucher extends Model
{
    use LogsActivity;

    protected $guarded = [];

    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format('d-m-Y H:i:s');
    }

    protected static $logAttributes = [
        'transaction',
        'vouchername',
        'vouchercode',
        'vouchervalue',
        'price',
        'comissao',
        'barcode',
        'reqterminalMsgID',
        'reqterminalID',
        'reqMsgID',
        'respDateTime',
        'voucherinfo',
        'pin',
        'datepurchased',
        'receiptFormat',
        'receipt',
        'smsreceipt',
        'status',
        'type',
        'terminal',
        'user_id',
        'voucher_list_id',
        'client_id',
        'smartCard',
        'category_id',
	'old_balance',
        'new_balance'
    ];

    protected static $logName = 'comprarCredito';

    public function getDescriptionForEvent(string $eventName): string
    {
        return "This model has been {$eventName}";
    }

    public function location()
    {
        return $this->hasOne(TransactionLocation::class);
    }

    function transactionHistory(){
        return $this->belongsTo(TransactionHistory::class);
    }

    function transactionHistories(){
        return $this->hasMany(TransactionHistory::class);
    }

    function voucherHistory() {
        return $this->belongsTo(VoucherHistory::class);
    }


    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()->logOnly(["*"]);
    }
}