added clone function to clone products

This commit is contained in:
AVMG20 2021-07-06 23:19:25 +02:00
parent bd45b3b713
commit c31d67e2f4
4 changed files with 27 additions and 18 deletions

View file

@ -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) . '">

View file

@ -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){

View file

@ -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

View file

@ -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);