Fixes for custom exceptions

This commit is contained in:
David Bomba 2025-01-18 10:25:23 +11:00
parent 5e44d36a93
commit b7a4665117
4 changed files with 30 additions and 22 deletions

View File

@ -120,7 +120,7 @@ class Purchase extends Component
#[Computed()] #[Computed()]
public function subscription() public function subscription()
{ {
return Subscription::find($this->decodePrimaryKey($this->subscription_id))->withoutRelations()->makeHidden(['webhook_configuration','steps']); return Subscription::find($this->decodePrimaryKey($this->subscription_id))?->withoutRelations()?->makeHidden(['webhook_configuration','steps']);
} }
public static function defaultSteps() public static function defaultSteps()
@ -139,11 +139,21 @@ class Purchase extends Component
$sub = Subscription::find($this->decodePrimaryKey($this->subscription_id)); $sub = Subscription::find($this->decodePrimaryKey($this->subscription_id));
if(!$sub){
session()->flash('title', __('texts.subscription_unavailable'));
session()->flash('notification', '');
return redirect()->route('client.error');
}
if ($sub->steps) { if ($sub->steps) {
$steps = collect(explode(',', $sub->steps)) $steps = collect(explode(',', $sub->steps))
->map(fn ($step) => $classes[$step]) ->map(fn ($step) => $classes[$step])
->toArray(); ->toArray();
$this->steps = [ $this->steps = [
Setup::class, Setup::class,
...$steps, ...$steps,

View File

@ -28,7 +28,7 @@ $lang = array(
'invoice' => 'Rechnung', 'invoice' => 'Rechnung',
'client' => 'Kunde', 'client' => 'Kunde',
'invoice_number' => 'Rechnungsnummer', 'invoice_number' => 'Rechnungsnummer',
'invoice_number_short' => 'Rechnung ', 'invoice_number_short' => 'Rechnung #',
'po_number' => 'Bestellnummer', 'po_number' => 'Bestellnummer',
'po_number_short' => 'Best.-Nr.', 'po_number_short' => 'Best.-Nr.',
'frequency_id' => 'Wie oft', 'frequency_id' => 'Wie oft',
@ -1097,8 +1097,8 @@ $lang = array(
'quote_documents' => 'Angebots-Dateien', 'quote_documents' => 'Angebots-Dateien',
'invoice_documents' => 'Rechnungs-Dateien', 'invoice_documents' => 'Rechnungs-Dateien',
'expense_documents' => 'Ausgaben-Dateien', 'expense_documents' => 'Ausgaben-Dateien',
'invoice_embed_documents' => 'Embed Images/Documents', 'invoice_embed_documents' => 'Bilder/Dokumente einbetten',
'invoice_embed_documents_help' => 'Include attached images/pdfs in the invoice.', 'invoice_embed_documents_help' => 'Füge angehängte Bilder/PDFs der Rechnung bei.',
'document_email_attachment' => 'Dokumente anhängen', 'document_email_attachment' => 'Dokumente anhängen',
'ubl_email_attachment' => 'UBL anhängen', 'ubl_email_attachment' => 'UBL anhängen',
'download_documents' => 'Dokumente herunterladen (:size)', 'download_documents' => 'Dokumente herunterladen (:size)',
@ -5450,20 +5450,20 @@ Leistungsempfängers',
'payment_means' => 'Zahlungsmittel', 'payment_means' => 'Zahlungsmittel',
'act_as_sender' => 'E-Rechnung senden', 'act_as_sender' => 'E-Rechnung senden',
'act_as_receiver' => 'E-Rechnung erhalten', 'act_as_receiver' => 'E-Rechnung erhalten',
'saved_einvoice_details' => 'Gespeicherte E-Rechnungseinstellungen', 'saved_einvoice_details' => 'E-Rechnungseinstellungen gespeichert',
'add_license_to_env' => 'Wir benötigen Ihren Lizenzschlüssel für die zukünftige Kommunikation mit unseren Diensten. Achten Sie darauf, LICENSE_KEY als Umgebungsvariable zu verwenden.', 'add_license_to_env' => 'Wir benötigen Ihren Lizenzschlüssel für die zukünftige Kommunikation mit unseren Diensten. Achten Sie darauf, LICENSE_KEY als Umgebungsvariable zu verwenden.',
'white_label_license_not_present' => 'Lizenz nicht gefunden. Stellen Sie sicher, dass LICENSE_KEY als Umgebungsvariable festgelegt ist.', 'white_label_license_not_present' => 'Lizenz nicht gefunden. Stellen Sie sicher, dass LICENSE_KEY als Umgebungsvariable definiert ist.',
'white_label_license_not_found' => 'White-Label-Lizenz nicht gefunden.', 'white_label_license_not_found' => 'White-Label-Lizenz nicht gefunden.',
'details_update_info' => 'Wir aktualisieren Ihre Unternehmensdaten mit den bereitgestellten Informationen.', 'details_update_info' => 'Wir aktualisieren Ihre Unternehmensdaten mit den bereitgestellten Informationen.',
'sales_above_threshold' => 'Umsatz über dem Schwellenwert', 'sales_above_threshold' => 'Umsatz über dem Schwellenwert',
'client_address_required' => 'Für die elektronische Rechnungsstellung ist die vollständige Kunde erforderlich', 'client_address_required' => 'Vollständige Kundenanschrift ist für E-Rechnungen erforderlich',
'connected' => 'Verbunden', 'connected' => 'Verbunden',
'email_count_quotes' => 'E-Mail :count Zitate', 'email_count_quotes' => 'Maile :count Angebote',
'activity_146' => 'E-Rechnung :invoice für :client erfolgreich zugestellt! :notes', 'activity_146' => 'E-Rechnung :invoice für :client erfolgreich zugestellt! :notes',
'activity_147' => 'E-Rechnung :invoice für :client fehlgeschlagene Zustellung. :notes', 'activity_147' => 'Fehlgeschlagene Zustellung der E-Rechnung :invoice für :client. :notes',
'peppol_routing_problem' => 'Routing-Problem. Kein Empfänger/Ziel gefunden.', 'peppol_routing_problem' => 'Routing-Problem. Kein Empfänger/Ziel gefunden.',
'peppol_sending_failed' => 'Technisches Lieferproblem. Wiederholungsversuch nicht möglich', 'peppol_sending_failed' => 'Technisches Übertragungsproblem. Wiederholung nicht möglich',
'peppol_cleared_for_sending' => 'Von der Steuerbehörde freigegeben, Versand an den Empfänger', 'peppol_cleared_for_sending' => 'Von der Steuerbehörde freigegeben, versende an den Empfänger',
'account_holder' => 'Kontoname', 'account_holder' => 'Kontoname',
'account_holder_help' => 'Der Name des Kontos', 'account_holder_help' => 'Der Name des Kontos',
'activity_148' => 'E-Ausgabe :expense erhalten von :vendor', 'activity_148' => 'E-Ausgabe :expense erhalten von :vendor',
@ -5488,15 +5488,13 @@ Leistungsempfängers',
'active_tasks' => 'Aktive Aufgaben', 'active_tasks' => 'Aktive Aufgaben',
'enable_notifications' => 'Aktiviere Benachrichtigungen', 'enable_notifications' => 'Aktiviere Benachrichtigungen',
'enable_public_notifications' => 'Aktiviere öffentliche Benachrichtigungen', 'enable_public_notifications' => 'Aktiviere öffentliche Benachrichtigungen',
'enable_public_notifications_help' => 'Aktivieren Sie Echtzeitbenachrichtigungen von Invoice Ninja.', 'enable_public_notifications_help' => 'Aktiviere Echtzeitbenachrichtigungen von Invoice Ninja.',
'navigate' => 'Navigiere', 'navigate' => 'Navigiere',
'calculate_taxes_warning' => 'Mit dieser Aktion werden Einzelpostensteuern aktiviert und Gesamtsteuern deaktiviert. Eventuell offene Rechnungen können mit den neuen Einstellungen neu berechnet werden!', 'calculate_taxes_warning' => 'Mit dieser Aktion werden Einzelpostensteuern aktiviert und Gesamtsteuern deaktiviert. Eventuell offene Rechnungen können mit den neuen Einstellungen neu berechnet werden!',
'activity_149' => ':user emailed credit :credit for :client to :contact', 'activity_149' => ':user hat Gutschrift :credit für :client an :contact gesendet',
'email_history_empty' => 'No email history found, this feature only available when sending with Postmark/Mailgun.', 'email_history_empty' => 'Kein E-Mail-Verlauf gefunden, diese Funktion ist nur beim Senden mit Postmark/Mailgun verfügbar.',
'e_invoicing' => 'E-Invoicing', 'e_invoicing' => 'E-Rechnung',
'einvoice_token_not_found' => 'E-invoicing token not found. Please go to Settings > E-invoice and regenerate token.', 'einvoice_token_not_found' => 'E-Rechnung Token nicht gefunden. Senden Sie eine Mail an contact@invoiceninja.com, um weitere Informationen zu erhalten.',
'regenerate' => 'Regenerate',
); );
return $lang; return $lang;

View File

@ -5492,7 +5492,7 @@ $lang = array(
'e_invoicing' => 'E-Invoicing', 'e_invoicing' => 'E-Invoicing',
'einvoice_token_not_found' => 'E-invoicing token not found. Please go to Settings > E-invoice and regenerate token.', 'einvoice_token_not_found' => 'E-invoicing token not found. Please go to Settings > E-invoice and regenerate token.',
'regenerate' => 'Regenerate', 'regenerate' => 'Regenerate',
'subscription_unavailable' => 'This item is no longer available',
); );
return $lang; return $lang;

View File

@ -4,7 +4,7 @@
@section('body') @section('body')
<div class="flex h-screen"> <div class="flex h-screen">
<div class="m-auto md:w-1/3 lg:w-1/5"> <div class="m-auto md:w-1/3 lg:w-1/2">
<div class="flex flex-col items-center"> <div class="flex flex-col items-center">
@if($account && !$account->isPaid()) @if($account && !$account->isPaid())