diff --git a/app/Http/Controllers/CarController.php b/app/Http/Controllers/CarController.php index 7fcbc77..d3d47c8 100644 --- a/app/Http/Controllers/CarController.php +++ b/app/Http/Controllers/CarController.php @@ -347,7 +347,7 @@ class CarController extends Controller 'stammnummer' => ['required', 'unique:cars', 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'], 'vin' => ['required', 'unique:cars', 'string', 'size:17'], 'initial_date' => ['required', 'date_format:"d.m.Y"'], - 'last_check_date' => ['required', 'date_format:"d.m.Y"'], + 'last_check_date' => ['date_format:"d.m.Y"'], 'colour' => ['nullable', 'max:75'], 'car_model_id' => ['required', 'exists:App\Models\CarModel,id'], 'kilometers' => ['required', 'max:75'], @@ -438,7 +438,7 @@ class CarController extends Controller 'stammnummer' => ['required', 'unique:cars,stammnummer,' . $car->id, 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'], 'vin' => ['required', 'unique:cars,vin,' . $car->id, 'string', 'size:17'], 'initial_date' => ['required', 'date_format:"d.m.Y"'], - 'last_check_date' => ['required', 'date_format:"d.m.Y"'], + 'last_check_date' => ['date_format:"d.m.Y"'], 'colour' => ['nullable', 'max:75'], 'car_model_id' => ['required', 'exists:App\Models\CarModel,id'], 'kilometers' => ['required', 'max:75'], diff --git a/app/Models/Contract.php b/app/Models/Contract.php index 67d9eac..6eaf6a6 100644 --- a/app/Models/Contract.php +++ b/app/Models/Contract.php @@ -51,6 +51,18 @@ class Contract extends Model return Money::CHF($this->payments()->sum('amount')); } + public function getPaidInCashAttribute() + { + + return Money::CHF($this->payments()->cashOnly()->sum('amount')); + } + + public function getPaidInTransactionAttribute() + { + + return Money::CHF($this->payments()->transactionOnly()->sum('amount')); + } + public function getLeftToPayAttribute() { diff --git a/app/Models/Payment.php b/app/Models/Payment.php index e334e73..4dd7003 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -47,11 +47,21 @@ class Payment extends Model public function getTypeTextAttribute() { - return $this->type == PaymentType::Transaction() ? 'Als Banküberweisung erhalten' : 'in bar erhalten'; + return $this->type == 'Banküberweisung' ? 'via Banküberweisung erhalten' : 'in bar erhalten'; } public function getDeleteLinkAttribute() { return route('payments.destroy', [$this->contract->id, $this->id]); } + + public function scopeCashOnly($query) + { + $query->where('type', PaymentType::Cash()); + } + + public function scopeTransactionOnly($query) + { + $query->where('type', PaymentType::Transaction()); + } } diff --git a/resources/views/contract.blade.php b/resources/views/contract.blade.php index fc74710..349f6b5 100644 --- a/resources/views/contract.blade.php +++ b/resources/views/contract.blade.php @@ -118,10 +118,8 @@ MwSt-Nr: CHE-226.272.050 @endif
Fahrzeug |
- |||
| Marke & Modell | {{ $contract->car->name }} | @@ -151,10 +149,16 @@ MwSt-Nr: CHE-226.272.050Kaufpreis | {{ $contract->price }} |
| Anzahlung | -{{ $contract->paid }} | -||
| Anzahlung | + @if ($contract->paid_in_cash->getAmount() && $contract->paid_in_transaction->getAmount()) +{{ $contract->paid_in_cash }} in bar {{ $contract->paid_in_transaction }} via Überweisung |
+ @elseif ($contract->paid_in_cash->getAmount())
+ {{ $contract->paid_in_cash }} in bar | + @elseif ($contract->paid_in_transaction->getAmount()) +{{ $contract->paid_in_transaction }} via Überweisung | + @endif +
| Restbetrag | {{ $contract->left_to_pay }} | @@ -208,19 +212,16 @@ Mündliche Vereinbarungen sind ungültig.
| Quittung | -Den Betrag von {{ $contract->deposit()->amount->format() }} | -{{ $contract->deposit()->type_text }} | -
| Datum: | -- | |
| Am {{ $payment->date }} | +den Betrag von {{ $payment->amount->format() }} | +{{ $payment->type_text }} | +