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.
|
* Store a newly created resource in storage.
|
||||||
*
|
*
|
||||||
|
@ -184,6 +192,7 @@ class ProductController extends Controller
|
||||||
->addColumn('actions', function (Product $product) {
|
->addColumn('actions', function (Product $product) {
|
||||||
return '
|
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="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>
|
<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) . '">
|
<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. */
|
/** Show the application dashboard. */
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
dd(Product::first()->nodes()->get() , Product::first()->eggs()->get());
|
|
||||||
|
|
||||||
$usage = 0;
|
$usage = 0;
|
||||||
|
|
||||||
foreach (Auth::user()->servers as $server){
|
foreach (Auth::user()->servers as $server){
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="name">Name</label>
|
<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"
|
class="form-control @error('name') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
@error('name')
|
@error('name')
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="price">Price in credits</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('price') is-invalid @enderror"
|
class="form-control @error('price') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="memory">Memory</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('memory') is-invalid @enderror"
|
class="form-control @error('memory') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="cpu">Cpu</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('cpu') is-invalid @enderror"
|
class="form-control @error('cpu') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="swap">Swap</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('swap') is-invalid @enderror"
|
class="form-control @error('swap') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
<textarea id="description" name="description"
|
<textarea id="description" name="description"
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control @error('description') is-invalid @enderror"
|
class="form-control @error('description') is-invalid @enderror"
|
||||||
required="required">{{old('description')}}</textarea>
|
required="required">{{$product->description ?? old('description')}}</textarea>
|
||||||
@error('description')
|
@error('description')
|
||||||
<div class="invalid-feedback">
|
<div class="invalid-feedback">
|
||||||
{{$message}}
|
{{$message}}
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="disk">Disk</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('disk') is-invalid @enderror"
|
class="form-control @error('disk') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="io">IO</label>
|
<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"
|
type="number"
|
||||||
class="form-control @error('io') is-invalid @enderror"
|
class="form-control @error('io') is-invalid @enderror"
|
||||||
required="required">
|
required="required">
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="databases">Databases</label>
|
<label for="databases">Databases</label>
|
||||||
<input value="{{old('databases') ?? 1}}" id="databases"
|
<input value="{{$product->databases ?? old('databases') ?? 1}}" id="databases"
|
||||||
name="databases"
|
name="databases"
|
||||||
type="number"
|
type="number"
|
||||||
class="form-control @error('databases') is-invalid @enderror"
|
class="form-control @error('databases') is-invalid @enderror"
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="backups">Backups</label>
|
<label for="backups">Backups</label>
|
||||||
<input value="{{old('backups') ?? 1}}" id="backups"
|
<input value="{{$product->backups ?? old('backups') ?? 1}}" id="backups"
|
||||||
name="backups"
|
name="backups"
|
||||||
type="number"
|
type="number"
|
||||||
class="form-control @error('backups') is-invalid @enderror"
|
class="form-control @error('backups') is-invalid @enderror"
|
||||||
|
@ -181,7 +181,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="allocations">Allocations</label>
|
<label for="allocations">Allocations</label>
|
||||||
<input value="{{old('allocations') ?? 0}}"
|
<input value="{{$product->allocations ?? old('allocations') ?? 0}}"
|
||||||
id="allocations" name="allocations"
|
id="allocations" name="allocations"
|
||||||
type="number"
|
type="number"
|
||||||
class="form-control @error('allocations') is-invalid @enderror"
|
class="form-control @error('allocations') is-invalid @enderror"
|
||||||
|
@ -216,12 +216,13 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="nodes">Nodes</label>
|
<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">
|
name="nodes[]" multiple="multiple" autocomplete="off">
|
||||||
@foreach($locations as $location)
|
@foreach($locations as $location)
|
||||||
<optgroup label="{{$location->name}}">
|
<optgroup label="{{$location->name}}">
|
||||||
@foreach($location->nodes as $node)
|
@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
|
@endforeach
|
||||||
</optgroup>
|
</optgroup>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
@ -239,12 +240,13 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="eggs">Eggs</label>
|
<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">
|
name="eggs[]" multiple="multiple" autocomplete="off">
|
||||||
@foreach($nests as $nest)
|
@foreach($nests as $nest)
|
||||||
<optgroup label="{{$nest->name}}">
|
<optgroup label="{{$nest->name}}">
|
||||||
@foreach($nest->eggs as $egg)
|
@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
|
@endforeach
|
||||||
</optgroup>
|
</optgroup>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
|
@ -79,6 +79,7 @@ Route::middleware('auth')->group(function () {
|
||||||
Route::resource('servers', AdminServerController::class);
|
Route::resource('servers', AdminServerController::class);
|
||||||
|
|
||||||
Route::get('products/datatable', [ProductController::class, 'datatable'])->name('products.datatable');
|
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::patch('products/disable/{product}', [ProductController::class, 'disable'])->name('products.disable');
|
||||||
Route::resource('products', ProductController::class);
|
Route::resource('products', ProductController::class);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue