add workshop duplication
This commit is contained in:
@@ -237,4 +237,25 @@ class WorkshopController extends Controller
|
||||
|
||||
return redirect()->route('admin.workshop.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Duplicate the specified resource.
|
||||
*/
|
||||
public function admin_duplicate(Workshop $workshop)
|
||||
{
|
||||
$newWorkshop = $workshop->replicate();
|
||||
$newWorkshop->title = $newWorkshop->title . ' (copy)';
|
||||
$newWorkshop->status = 'draft';
|
||||
$newWorkshop->save();
|
||||
|
||||
foreach($workshop->files as $file) {
|
||||
$newWorkshop->files()->attach($file->name);
|
||||
}
|
||||
|
||||
session()->flash('message', 'Workshop has been duplicated');
|
||||
session()->flash('message-title', 'Workshop duplicated');
|
||||
session()->flash('message-type', 'success');
|
||||
|
||||
return redirect()->route('admin.workshop.edit', $newWorkshop);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,8 +38,9 @@
|
||||
<td class="hidden md:table-cell">{{ \Carbon\Carbon::parse($workshop->starts_at)->format('M j Y, g:i a') }}</td>
|
||||
<td>
|
||||
<div class="flex justify-center gap-3">
|
||||
<a href="{{ route('admin.workshop.edit', $workshop) }}" class="hover:text-primary-color"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
<a href="#" class="hover:text-red-600" x-data x-on:click.prevent="SM.confirmDelete('{{ csrf_token() }}', 'Delete workshop?', 'Are you sure you want to delete this workshop? This action cannot be undone', '{{ route('admin.workshop.destroy', $workshop) }}')"><i class="fa-solid fa-trash"></i></a>
|
||||
<a href="{{ route('admin.workshop.edit', $workshop) }}" class="hover:text-primary-color" title="Edit"><i class="fa-solid fa-pen-to-square"></i></a>
|
||||
<a href="{{ route('admin.workshop.duplicate', $workshop) }}" class="hover:text-primary-color" title="Duplicate"><i class="fa-regular fa-copy"></i></a>
|
||||
<a href="#" class="hover:text-red-600" x-data x-on:click.prevent="SM.confirmDelete('{{ csrf_token() }}', 'Delete workshop?', 'Are you sure you want to delete this workshop? This action cannot be undone', '{{ route('admin.workshop.destroy', $workshop) }}')" title="Delete"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -80,6 +80,7 @@ Route::middleware('admin')->group(function () {
|
||||
|
||||
Route::get('/admin/workshops', [WorkshopController::class, 'admin_index'])->name('admin.workshop.index');
|
||||
Route::get('/admin/workshops/create', [WorkshopController::class, 'admin_create'])->name('admin.workshop.create');
|
||||
Route::get('/admin/workshops/{workshop}/duplicate', [WorkshopController::class, 'admin_duplicate'])->name('admin.workshop.duplicate');
|
||||
Route::post('/admin/workshops', [WorkshopController::class, 'admin_store'])->name('admin.workshop.store');
|
||||
Route::get('/admin/workshops/{workshop}', [WorkshopController::class, 'admin_edit'])->name('admin.workshop.edit');
|
||||
Route::put('/admin/workshops/{workshop}', [WorkshopController::class, 'admin_update'])->name('admin.workshop.update');
|
||||
|
||||
Reference in New Issue
Block a user