Zahlungszwecke

This commit is contained in:
2026-09-07 14:17:50 +02:00
parent 350c8dd0d0
commit 40d5634764
27 changed files with 927 additions and 205 deletions
@@ -32,25 +32,26 @@ class EditController extends CommonController{
$receiptfile->fullPath = $invoice->document_filename;
}
$createInvoiceRequest = new CreateInvoiceRequest(
$invoice->costUnit()->first(),
$invoice->contact_name,
$invoice->type,
$invoice->amount,
$receiptfile,
$invoice->donation,
$invoice->user_id,
$invoice->contact_email,
$invoice->contact_phone,
$invoice->contact_bank_owner,
$invoice->contact_bank_iban,
$invoice->type_other,
$invoice->travel_direction,
$invoice->distance,
$invoice->passengers,
$invoice->transportation,
$invoice->travel_reason,
$invoice->payment_purpose,
$invoice->comment,
costUnit: $invoice->costUnit()->first(),
contactName: $invoice->contact_name,
invoiceType: $invoice->type,
totalAmount: $invoice->amount,
receiptFile: $receiptfile,
isDonation: $invoice->donation,
userId: $invoice->user_id,
contactEmail: $invoice->contact_email,
contactPhone: $invoice->contact_phone,
accountOwner: $invoice->contact_bank_owner,
accountIban: $invoice->contact_bank_iban,
invoiceTypeExtended: $invoice->type_other,
travelRoute: $invoice->travel_direction,
distance: $invoice->distance,
travelReason: $invoice->travel_reason,
paymentPurpose: $invoice->payment_purpose,
notices: $invoice->comment,
// Die rohe Spalte, nicht purposeText(): Ein Beleg, der seinen Zahlungsgrund bisher ableitet,
// soll das als Kopie weiter tun.
purpose: $invoice->purpose,
);
$invoiceCreationCommand = new CreateInvoiceCommand($createInvoiceRequest);
@@ -92,7 +93,8 @@ class EditController extends CommonController{
$modifyData['notices'],
$invoiceType,
$newCostUnit,
$newAmount
$newAmount,
$modifyData['purpose'] ?? null
);
$updateInvoiceCommand = new UpdateInvoiceCommand($updateInvoiceRequest);
$updateInvoiceCommand->execute();
@@ -107,22 +109,22 @@ class EditController extends CommonController{
$receiptfile->fullPath = $invoice->document_filename;
}
$createInvoiceRequest = new CreateInvoiceRequest(
$invoice->costUnit()->first(),
$invoice->contact_name,
$invoice->type,
$amountLeft->getAmount(),
$receiptfile,
$invoice->donation,
$invoice->user_id,
$invoice->contact_email,
$invoice->contact_phone,
$invoice->contact_bank_owner,
$invoice->contact_bank_iban,
$invoice->type_other,
$invoice->travel_direction,
$invoice->distance,
$invoice->passengers,
$invoice->transportation
costUnit: $invoice->costUnit()->first(),
contactName: $invoice->contact_name,
invoiceType: $invoice->type,
totalAmount: $amountLeft->getAmount(),
receiptFile: $receiptfile,
isDonation: $invoice->donation,
userId: $invoice->user_id,
contactEmail: $invoice->contact_email,
contactPhone: $invoice->contact_phone,
accountOwner: $invoice->contact_bank_owner,
accountIban: $invoice->contact_bank_iban,
invoiceTypeExtended: $invoice->type_other,
travelRoute: $invoice->travel_direction,
distance: $invoice->distance,
travelReason: $invoice->travel_reason,
purpose: $invoice->purpose,
);
$invoiceCreationCommand = new CreateInvoiceCommand($createInvoiceRequest);
@@ -66,50 +66,43 @@ class SaveInvoiceController extends CommonController
}
$createInvoiceRequest = new CreateInvoiceRequest(
$costUnit,
$request->input('name'),
InvoiceType::INVOICE_TYPE_TRAVELLING,
$amount,
$uploadedFile,
'donation' === $request->input('decision') ? true : false,
$this->users->getCurrentUserDetails()['userId'],
$request->input('email'),
$request->input('telephone'),
$request->input('accountOwner'),
$request->input('accountIban'),
null,
$request->input('otherText'),
$distance,
$request->input('havePassengers'),
$request->input('materialTransportation'),
$request->input('travelReason'),
null,
$notices
costUnit: $costUnit,
contactName: $request->input('name'),
invoiceType: InvoiceType::INVOICE_TYPE_TRAVELLING,
totalAmount: $amount,
receiptFile: $uploadedFile,
isDonation: 'donation' === $request->input('decision') ? true : false,
userId: $this->users->getCurrentUserDetails()['userId'],
contactEmail: $request->input('email'),
contactPhone: $request->input('telephone'),
accountOwner: $request->input('accountOwner'),
accountIban: $request->input('accountIban'),
travelRoute: $request->input('otherText'),
distance: $distance,
travelReason: $request->input('travelReason'),
travelReasonNote: $request->input('travelReasonNote'),
notices: $notices,
travellers: $request->input('travellers')
);
break;
default:
$createInvoiceRequest = new CreateInvoiceRequest(
$costUnit,
$request->input('name'),
$invoiceType,
Amount::fromString($request->input('amount'))->getAmount(),
$uploadedFile,
'donation' === $request->input('decision') ? true : false,
$this->users->getCurrentUserDetails()['userId'],
$request->input('email'),
$request->input('telephone'),
$request->input('accountOwner'),
$request->input('accountIban'),
$request->input('otherText'),
null,
null,
$request->input('havePassengers'),
$request->input('materialTransportation'),
null,
$paymentPurpose,
$notices
costUnit: $costUnit,
contactName: $request->input('name'),
invoiceType: $invoiceType,
totalAmount: Amount::fromString($request->input('amount'))->getAmount(),
receiptFile: $uploadedFile,
isDonation: 'donation' === $request->input('decision') ? true : false,
userId: $this->users->getCurrentUserDetails()['userId'],
contactEmail: $request->input('email'),
contactPhone: $request->input('telephone'),
accountOwner: $request->input('accountOwner'),
accountIban: $request->input('accountIban'),
invoiceTypeExtended: $request->input('otherText'),
paymentPurpose: $paymentPurpose,
notices: $notices
);
break;
@@ -128,5 +121,11 @@ class SaveInvoiceController extends CommonController
'message' => 'Alright'
]);
}
return response()->json([
'status' => 'error',
'message' => $response->message
?? 'Beim Speichern ist ein Fehler aufgetreten. Bitte starte den Vorgang erneut.'
]);
}
}