<?php namespace App\Invoice; use App\Payment\Payment; use Illuminate\Database\Eloquent\Relations\HasMany; class BillDocument extends Invoice { public function linkLabel(): string { return 'Rechnung erstellen'; } public function getSubject(): string { return 'Rechnung'; } public function view(): string { return 'tex.bill'; } public static function sendAllLabel(): string { return 'Rechnungen versenden'; } public function afterSingle(Payment $payment): void { $payment->update(['status_id' => 2]); } public function getMailSubject(): string { return 'Jahresrechnung'; } /** * @param HasMany<Payment> $query * * @return HasMany<Payment> */ public static function paymentsQuery(HasMany $query): HasMany { return $query->whereNeedsBill(); } /** * Get Descriptions for sendpayment page. * * @return array<int, string> */ public static function getDescription(): array { return [ 'Diese Funktion erstellt ein PDF mit allen noch nicht versendenden Rechnungen bei den Mitgliedern die Post als Versandweg haben.', 'Die Rechnungen werden automatisch auf "Rechnung gestellt" aktualisiert.', ]; } }