diff --git a/app/Http/Controllers/Api/IncomingController.php b/app/Http/Controllers/Api/IncomingController.php
index 1c42e43..a388ac7 100644
--- a/app/Http/Controllers/Api/IncomingController.php
+++ b/app/Http/Controllers/Api/IncomingController.php
@@ -79,7 +79,7 @@ class IncomingController extends Controller
'supplier.contact_email' => 'nullable|string',
]);
- $supplier = Supplier::where('name', '=', $supplierData['supplier']['name'])->firstOrNew($supplierData['supplier']);
+ $supplier = Supplier::updateOrCreate(['name' => $supplierData['supplier']['name']], $supplierData['supplier']);
$supplier->save();
$incomingData = $request->validate([
@@ -118,23 +118,6 @@ class IncomingController extends Controller
*/
public function update(Request $request, Incoming $incoming): JsonResponse
{
- $incomingData = $request->validate([
- 'incoming.invoice_number' => 'required|string',
- 'incoming.issue_date' => 'required|date',
- 'incoming.due_date' => 'nullable|date',
- 'incoming.invoice_type_code' => 'required|string',
- 'incoming.currency_code' => 'required|string',
- 'incoming.net' => 'required|numeric',
- 'incoming.gross' => 'required|numeric',
- 'incoming.tax' => 'required|numeric',
- 'incoming.pay_date' => 'nullable|date',
- 'incoming.pay_name' => 'nullable|string',
- 'incoming.pay_bic' => 'nullable|string',
- 'incoming.pay_iban' => 'nullable|string',
- ]);
-
- $incoming->update($incomingData['incoming']);
-
$supplierData = $request->validate([
'supplier.name' => 'required|string',
'supplier.registration_name' => 'nullable|string',
@@ -150,7 +133,25 @@ class IncomingController extends Controller
'supplier.contact_email' => 'nullable|string',
]);
- $incoming->supplier()->update($supplierData['supplier']);
+ $supplier = Supplier::updateOrCreate(['name' => $supplierData['supplier']['name']], $supplierData['supplier']);
+
+ $incomingData = $request->validate([
+ 'incoming.invoice_number' => 'required|string',
+ 'incoming.issue_date' => 'required|date',
+ 'incoming.due_date' => 'nullable|date',
+ 'incoming.invoice_type_code' => 'required|string',
+ 'incoming.currency_code' => 'required|string',
+ 'incoming.net' => 'required|numeric',
+ 'incoming.gross' => 'required|numeric',
+ 'incoming.tax' => 'required|numeric',
+ 'incoming.pay_date' => 'nullable|date',
+ 'incoming.pay_name' => 'nullable|string',
+ 'incoming.pay_bic' => 'nullable|string',
+ 'incoming.pay_iban' => 'nullable|string',
+ ]);
+
+ $incomingData['incoming']['supplier_id'] = $supplier->id;
+ $incoming->update($incomingData['incoming']);
$itemsData = $request->validate([
'items.*.name' => 'required|string',
diff --git a/lang/de/invoice.php b/lang/de/invoice.php
index 521263b..eab27d9 100644
--- a/lang/de/invoice.php
+++ b/lang/de/invoice.php
@@ -57,6 +57,7 @@ return [
'state_created' => 'Erstellt',
'state_sent' => 'Gesendet',
'state_paid' => 'Bezahlt',
+ 'state_deleted' => 'Storniert',
'Mail' => 'E-Mail',
'Send email to your customer with attachments.' => 'E-Mail mit Anlagen an den Kunden versenden.',
'Invoice body' => 'Sehr geehrte Kundin, sehr geehrter Kunde\n\nim Anhang erhalten Sie die Rechnung :invoice_number.\n\nMit freundlichen Grüßen',
diff --git a/resources/views/incoming/create.blade.php b/resources/views/incoming/create.blade.php
index 5ccb781..0e01c0f 100644
--- a/resources/views/incoming/create.blade.php
+++ b/resources/views/incoming/create.blade.php
@@ -84,15 +84,22 @@
autocomplete="name" x-model="incoming.pay_date"/>
-
-
{{ __('form.Saved') }}
+ +