added clone function to clone products
This commit is contained in:
parent
bd45b3b713
commit
c31d67e2f4
|
@ -42,6 +42,14 @@ class ProductController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
public function clone(Request $request , Product $product){
|
||||
return view('admin.products.create' , [
|
||||
'product' => $product,
|
||||
'locations' => Location::with('nodes')->get(),
|
||||
'nests' => Nest::with('eggs')->get(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
|
@ -184,6 +192,7 @@ class ProductController extends Controller
|
|||
->addColumn('actions', function (Product $product) {
|
||||
return '
|
||||
<a data-content="Show" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.products.show', $product->id) . '" class="btn btn-sm text-white btn-warning mr-1"><i class="fas fa-eye"></i></a>
|
||||
<a data-content="Clone" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.products.clone', $product->id) . '" class="btn btn-sm text-white btn-primary mr-1"><i class="fas fa-clone"></i></a>
|
||||
<a data-content="Edit" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.products.edit', $product->id) . '" class="btn btn-sm btn-info mr-1"><i class="fas fa-pen"></i></a>
|
||||
|
||||
<form class="d-inline" onsubmit="return submitResult();" method="post" action="' . route('admin.products.destroy', $product->id) . '">
|
||||
|
|
|
@ -18,9 +18,6 @@ class HomeController extends Controller
|
|||
/** Show the application dashboard. */
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
dd(Product::first()->nodes()->get() , Product::first()->eggs()->get());
|
||||
|
||||
$usage = 0;
|
||||
|
||||
foreach (Auth::user()->servers as $server){
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<div class="col-lg-6">
|
||||
<div class="form-group">
|
||||
<label for="name">Name</label>
|
||||
<input value="{{old('name')}}" id="name" name="name" type="text"
|
||||
<input value="{{$product->name ?? old('name')}}" id="name" name="name" type="text"
|
||||
class="form-control @error('name') is-invalid @enderror"
|
||||
required="required">
|
||||
@error('name')
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="price">Price in credits</label>
|
||||
<input value="{{old('price')}}" id="price" name="price"
|
||||
<input value="{{$product->price ?? old('price')}}" id="price" name="price"
|
||||
type="number"
|
||||
class="form-control @error('price') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -74,7 +74,7 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="memory">Memory</label>
|
||||
<input value="{{old('memory')}}" id="memory" name="memory"
|
||||
<input value="{{$product->memory ?? old('memory')}}" id="memory" name="memory"
|
||||
type="number"
|
||||
class="form-control @error('memory') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -87,7 +87,7 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="cpu">Cpu</label>
|
||||
<input value="{{old('cpu')}}" id="cpu" name="cpu"
|
||||
<input value="{{$product->cpu ?? old('cpu')}}" id="cpu" name="cpu"
|
||||
type="number"
|
||||
class="form-control @error('cpu') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -100,7 +100,7 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="swap">Swap</label>
|
||||
<input value="{{old('swap')}}" id="swap" name="swap"
|
||||
<input value="{{$product->swap ?? old('swap')}}" id="swap" name="swap"
|
||||
type="number"
|
||||
class="form-control @error('swap') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -119,7 +119,7 @@
|
|||
<textarea id="description" name="description"
|
||||
type="text"
|
||||
class="form-control @error('description') is-invalid @enderror"
|
||||
required="required">{{old('description')}}</textarea>
|
||||
required="required">{{$product->description ?? old('description')}}</textarea>
|
||||
@error('description')
|
||||
<div class="invalid-feedback">
|
||||
{{$message}}
|
||||
|
@ -131,7 +131,7 @@
|
|||
<div class="col-lg-6">
|
||||
<div class="form-group">
|
||||
<label for="disk">Disk</label>
|
||||
<input value="{{old('disk') ?? 1000}}" id="disk" name="disk"
|
||||
<input value="{{$product->disk ?? old('disk') ?? 1000}}" id="disk" name="disk"
|
||||
type="number"
|
||||
class="form-control @error('disk') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -143,7 +143,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="io">IO</label>
|
||||
<input value="{{old('io') ?? 500}}" id="io" name="io"
|
||||
<input value="{{$product->io ?? old('io') ?? 500}}" id="io" name="io"
|
||||
type="number"
|
||||
class="form-control @error('io') is-invalid @enderror"
|
||||
required="required">
|
||||
|
@ -155,7 +155,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="databases">Databases</label>
|
||||
<input value="{{old('databases') ?? 1}}" id="databases"
|
||||
<input value="{{$product->databases ?? old('databases') ?? 1}}" id="databases"
|
||||
name="databases"
|
||||
type="number"
|
||||
class="form-control @error('databases') is-invalid @enderror"
|
||||
|
@ -168,7 +168,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="backups">Backups</label>
|
||||
<input value="{{old('backups') ?? 1}}" id="backups"
|
||||
<input value="{{$product->backups ?? old('backups') ?? 1}}" id="backups"
|
||||
name="backups"
|
||||
type="number"
|
||||
class="form-control @error('backups') is-invalid @enderror"
|
||||
|
@ -181,7 +181,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="allocations">Allocations</label>
|
||||
<input value="{{old('allocations') ?? 0}}"
|
||||
<input value="{{$product->allocations ?? old('allocations') ?? 0}}"
|
||||
id="allocations" name="allocations"
|
||||
type="number"
|
||||
class="form-control @error('allocations') is-invalid @enderror"
|
||||
|
@ -216,12 +216,13 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="nodes">Nodes</label>
|
||||
<select id="nodes" class="custom-select @error('nodes') is-invalid @enderror"
|
||||
<select id="nodes" style="width:100%" class="custom-select @error('nodes') is-invalid @enderror"
|
||||
name="nodes[]" multiple="multiple" autocomplete="off">
|
||||
@foreach($locations as $location)
|
||||
<optgroup label="{{$location->name}}">
|
||||
@foreach($location->nodes as $node)
|
||||
<option value="{{$node->id}}">{{$node->name}}</option>
|
||||
<option @if(isset($product)) @if($product->nodes->contains('id' , $node->id)) selected
|
||||
@endif @endif value="{{$node->id}}">{{$node->name}}</option>
|
||||
@endforeach
|
||||
</optgroup>
|
||||
@endforeach
|
||||
|
@ -239,12 +240,13 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label for="eggs">Eggs</label>
|
||||
<select id="eggs" class="custom-select @error('eggs') is-invalid @enderror"
|
||||
<select id="eggs" style="width:100%" class="custom-select @error('eggs') is-invalid @enderror"
|
||||
name="eggs[]" multiple="multiple" autocomplete="off">
|
||||
@foreach($nests as $nest)
|
||||
<optgroup label="{{$nest->name}}">
|
||||
@foreach($nest->eggs as $egg)
|
||||
<option value="{{$egg->id}}">{{$egg->name}}</option>
|
||||
<option @if(isset($product)) @if($product->eggs->contains('id' , $egg->id)) selected
|
||||
@endif @endif value="{{$egg->id}}">{{$egg->name}}</option>
|
||||
@endforeach
|
||||
</optgroup>
|
||||
@endforeach
|
||||
|
|
|
@ -79,6 +79,7 @@ Route::middleware('auth')->group(function () {
|
|||
Route::resource('servers', AdminServerController::class);
|
||||
|
||||
Route::get('products/datatable', [ProductController::class, 'datatable'])->name('products.datatable');
|
||||
Route::get('products/clone/{product}', [ProductController::class, 'clone'])->name('products.clone');
|
||||
Route::patch('products/disable/{product}', [ProductController::class, 'disable'])->name('products.disable');
|
||||
Route::resource('products', ProductController::class);
|
||||
|
||||
|
|
Loading…
Reference in a new issue