tyson пре 1 година
родитељ
комит
8ee96275ad

+ 18 - 2
app/Http/Controllers/IdeaController.php

@@ -10,16 +10,32 @@ class IdeaController extends Controller
     {
         return view('ideas.show',compact('idea'));
     }
+    public function edit(Idea $idea)
+    {
+        $editing = true;
+        return view('ideas.show',compact('idea', 'editing'));
+    }
+    public function update(Idea $idea)
+    {
+        request()->validate(
+            [
+                'content' => 'required|min:5|max:240'
+            ]
+        );
+        $idea->content = request()->get('content');
+        $idea->save();
+        return redirect()->route('ideas.show',$idea->id)->with("success", "Idea updated successfully.");
+    }
     public function store()
     {
         request()->validate(
             [
-                'idea' => 'required|min:5|max:240'
+                'content' => 'required|min:5|max:240'
             ]
         );
 
         $idea = Idea::create(
-            ['content' => request()->get('idea', null)]
+            ['content' => request()->get('content', null)]
         );
 
         return redirect(route('ideas.index'))->with("success", "Your Idea was created successfully");

+ 21 - 0
resources/views/shared/idea-card.blade.php

@@ -16,12 +16,33 @@
                     @method('DELETE')
                     <button class="btn btn-danger btn-sm">X</button>
                 </form>
+                <a class="mx-2" href="{{route('ideas.edit',$idea->id)}}">Edit</a>
                 <a href="{{route('ideas.show',$idea->id)}}">View</a>
+
             </div>
         </div>
     </div>
     <div class="card-body">
+        @if($editing ?? false)
+            <form action="{{route('ideas.update', $idea->id)}}" method="post">
+                @csrf
+                @method('PUT')
+                <div class="mb-3">
+                    <textarea class="form-control" id="content" name="content" rows="3">{{$idea->content}}</textarea>
+                    @error('content')
+                    <span class="d-block fs-2 text-danger mt-2">{{$message}}</span>
+                    @enderror
+                </div>
+                <div class="">
+                    <button type="submit" class="btn btn-dark"> Update </button>
+                </div>
+            </form>
+        @else
+            <p class="fs-6 fw-light text-muted">
         {{$idea->content}}
+            </p>
+        @endif
+
         <div class="d-flex justify-content-between">
             <div>
                 <a href="#" class="fw-light nav-link fs-6"> <span class="fas fa-heart me-1">

+ 6 - 2
resources/views/shared/submit-idea.blade.php

@@ -2,11 +2,15 @@
 <div class="row">
     <form action="{{route('ideas.store')}}" method="post">
         @csrf
+        @method('put')
     <div class="mb-3">
-        <textarea class="form-control" id="idea" name="idea" rows="3"></textarea>
+        <textarea class="form-control" id="content" name="content" rows="3"></textarea>
+        @error('idea')
+        <span class="d-block fs-2 text-danger mt-2">{{$message}}</span>
+        @enderror
     </div>
     <div class="">
-        <button type="submit" class="btn btn-dark"> Share </button>
+        <button type="submit" class="btn btn-dark mb-2"> Share </button>
     </div>
     </form>
 </div>

+ 5 - 0
routes/web.php

@@ -21,6 +21,11 @@ Route::post('/ideas', [\App\Http\Controllers\IdeaController::class, 'store'])->n
 
 Route::get('/ideas/{idea}', [\App\Http\Controllers\IdeaController::class, 'show'])->name('ideas.show');
 
+Route::get('/ideas/{idea}/edit', [\App\Http\Controllers\IdeaController::class, 'edit'])->name('ideas.edit');
+
+Route::put('/ideas/{idea}', [\App\Http\Controllers\IdeaController::class, 'update'])->name('ideas.update');
+
+
 Route::delete('/ideas/{idea}', [\App\Http\Controllers\IdeaController::class, 'destroy'])->name('ideas.destroy');
 
 Route::get('/terms', function (){