From c8d83dc542bc060e87f57368e79c617a17fb5503 Mon Sep 17 00:00:00 2001 From: Alexander Gabriel Date: Sun, 19 Apr 2026 19:04:07 +0000 Subject: [PATCH] =?UTF-8?q?Bestellungen=20k=C3=B6nnen=20jetzt=20aus=20der?= =?UTF-8?q?=20Mail=20raus=20abgehakt=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/OrderController.php | 30 +++++++++++++++++++ app/Mail/OrderArrived.php | 5 ++-- app/Mail/OrderRegistered.php | 5 ++-- app/Observers/OrderObserver.php | 5 ++-- .../2026_04_19_183758_add_guid_to_orders.php | 28 +++++++++++++++++ resources/views/mail/order-arrived.blade.php | 8 +++-- .../views/mail/order-registered.blade.php | 8 +++-- routes/web.php | 3 ++ 8 files changed, 82 insertions(+), 10 deletions(-) create mode 100644 app/Http/Controllers/OrderController.php create mode 100644 database/migrations/2026_04_19_183758_add_guid_to_orders.php diff --git a/app/Http/Controllers/OrderController.php b/app/Http/Controllers/OrderController.php new file mode 100644 index 0000000..7de9307 --- /dev/null +++ b/app/Http/Controllers/OrderController.php @@ -0,0 +1,30 @@ +firstOrFail(); + $orderstatus = Orderstatus::where("name", "bestellt")->firstOrFail(); + $order->orderstatus_id = $orderstatus->id; + $order->save(); + return redirect(OrderResource::getUrl('edit', ['record' => $order->id,])); + } + public function taken($uuid) + { + $order = Order::where('public_uuid', $uuid)->firstOrFail(); + $orderstatus = Orderstatus::where("name", "genommen")->firstOrFail(); + $order->orderstatus_id = $orderstatus->id; + $order->save(); + return redirect(OrderResource::getUrl('edit', ['record' => $order->id,])); + } + +} + diff --git a/app/Mail/OrderArrived.php b/app/Mail/OrderArrived.php index ffa0a18..c042d46 100644 --- a/app/Mail/OrderArrived.php +++ b/app/Mail/OrderArrived.php @@ -5,11 +5,11 @@ namespace App\Mail; use App\Filament\Resources\Orders\OrderResource; use App\Models\Order; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\URL; class OrderArrived extends Mailable { @@ -43,7 +43,8 @@ class OrderArrived extends Mailable return new Content( markdown: 'mail.order-arrived', with: [ - 'url' => OrderResource::getUrl('edit', ['record' => $this->order]), + 'url_order' => OrderResource::getUrl('edit', ['record' => $this->order]), + 'url_taken' => URL::to('/updateOrderstatusTaken/'.$this->order->public_uuid), 'order' => $this->order, ], ); diff --git a/app/Mail/OrderRegistered.php b/app/Mail/OrderRegistered.php index 915f04d..8f6fe22 100644 --- a/app/Mail/OrderRegistered.php +++ b/app/Mail/OrderRegistered.php @@ -5,11 +5,11 @@ namespace App\Mail; use App\Filament\Resources\Orders\OrderResource; use App\Models\Order; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\URL; class OrderRegistered extends Mailable { @@ -43,7 +43,8 @@ class OrderRegistered extends Mailable return new Content( markdown: 'mail.order-registered', with: [ - 'url' => OrderResource::getUrl('edit', ['record' => $this->order]), + 'url_order' => OrderResource::getUrl('edit', ['record' => $this->order]), + 'url_ordered' => URL::to('/updateOrderstatusOrdered/'.$this->order->public_uuid), 'order' => $this->order, ], ); diff --git a/app/Observers/OrderObserver.php b/app/Observers/OrderObserver.php index 118a641..50b0797 100644 --- a/app/Observers/OrderObserver.php +++ b/app/Observers/OrderObserver.php @@ -7,8 +7,7 @@ use App\Mail\OrderRegistered; use App\Models\Order; use App\Models\User; use Illuminate\Support\Facades\Mail; -use App\Models\Orderstatus; -use Carbon\Carbon; +use Illuminate\Support\Str; class OrderObserver { @@ -17,6 +16,8 @@ class OrderObserver */ public function created(Order $order): void { + $order->public_uuid = (string) Str::uuid(); + $order->save(); $users = User::where("ordermanager", 1)->get(); foreach ($users as $user) { Mail::to($user)->send(new OrderRegistered($order)); diff --git a/database/migrations/2026_04_19_183758_add_guid_to_orders.php b/database/migrations/2026_04_19_183758_add_guid_to_orders.php new file mode 100644 index 0000000..52b4066 --- /dev/null +++ b/database/migrations/2026_04_19_183758_add_guid_to_orders.php @@ -0,0 +1,28 @@ +uuid('public_uuid')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('orders', function (Blueprint $table) { + $table->dropColumn('public_uuid'); + }); + } +}; diff --git a/resources/views/mail/order-arrived.blade.php b/resources/views/mail/order-arrived.blade.php index 6b26cd8..bd56868 100644 --- a/resources/views/mail/order-arrived.blade.php +++ b/resources/views/mail/order-arrived.blade.php @@ -9,8 +9,12 @@ Eine deiner Bestellungen ist angekommen. Bitte nicht vergessen, die Bestellung "abzuhaken", indem du auf "angenommen" drückst - -Zur Bestellung + +Hab's genommen + + + +Bestellung im Cockpit ansehen Danke,
diff --git a/resources/views/mail/order-registered.blade.php b/resources/views/mail/order-registered.blade.php index 4b7dff3..028881f 100644 --- a/resources/views/mail/order-registered.blade.php +++ b/resources/views/mail/order-registered.blade.php @@ -9,8 +9,12 @@ es gibt eine neue Bestellung: * URL zum Artikel * Bestellt von: {{ $order->user->name }} - -Zur Bestellung + +Habe bestellt + + + +Bestellung im Cockpit ansehen Danke,
diff --git a/routes/web.php b/routes/web.php index ff7eafd..825345c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,4 +1,7 @@