|
@@ -25,19 +25,22 @@
|
|
|
<!-- MAIN CONTENT -->
|
|
|
<section class="content">
|
|
|
<div class="container-fluid">
|
|
|
+ <form action="{{route('admin.products.store')}}" method="POST">
|
|
|
+ @csrf
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="card">
|
|
|
+ <div class="card-header">
|
|
|
+ <h5 class="card-title">Product Details</h5>
|
|
|
+ </div>
|
|
|
+ <div class="card-body">
|
|
|
|
|
|
- <div class="row">
|
|
|
- <div class="col-lg-6">
|
|
|
- <div class="card">
|
|
|
- <div class="card-body">
|
|
|
- <form action="{{ route('admin.products.store') }}" method="POST">
|
|
|
- @csrf
|
|
|
<div class="d-flex flex-row-reverse">
|
|
|
<div class="custom-control custom-switch">
|
|
|
<input type="checkbox" name="disabled"
|
|
|
- class="custom-control-input custom-control-input-danger" id="switch1">
|
|
|
- <label class="custom-control-label" for="switch1">Disabled <i data-toggle="popover"
|
|
|
- data-trigger="hover"
|
|
|
+ class="custom-control-input custom-control-input-danger" id="switch1">
|
|
|
+ <label class="custom-control-label" for="switch1">Disabled <i
|
|
|
+ data-toggle="popover" data-trigger="hover"
|
|
|
data-content="Will hide this option from being selected"
|
|
|
class="fas fa-info-circle"></i></label>
|
|
|
</div>
|
|
@@ -47,9 +50,9 @@
|
|
|
<div class="col-lg-6">
|
|
|
<div class="form-group">
|
|
|
<label for="name">Name</label>
|
|
|
- <input value="{{ old('name') }}" id="name" name="name" type="text"
|
|
|
- class="form-control @error('name') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->name ?? old('name')}}" id="name" name="name" type="text"
|
|
|
+ class="form-control @error('name') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('name')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -58,10 +61,11 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
- <label for="price">Price in {{ CREDITS_DISPLAY_NAME }}</label>
|
|
|
- <input value="{{ old('price') }}" id="price" name="price" type="number"
|
|
|
- class="form-control @error('price') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <label for="price">Price in credits</label>
|
|
|
+ <input value="{{$product->price ?? old('price')}}" id="price" name="price"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('price') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('price')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -72,9 +76,10 @@
|
|
|
|
|
|
<div class="form-group">
|
|
|
<label for="memory">Memory</label>
|
|
|
- <input value="{{ old('memory') }}" id="memory" name="memory" type="number"
|
|
|
- class="form-control @error('memory') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->memory ?? old('memory')}}" id="memory" name="memory"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('memory') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('memory')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -84,8 +89,10 @@
|
|
|
|
|
|
<div class="form-group">
|
|
|
<label for="cpu">Cpu</label>
|
|
|
- <input value="{{ old('cpu') }}" id="cpu" name="cpu" type="number"
|
|
|
- class="form-control @error('cpu') is-invalid @enderror" required="required">
|
|
|
+ <input value="{{$product->cpu ?? old('cpu')}}" id="cpu" name="cpu"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('cpu') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('cpu')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -95,9 +102,10 @@
|
|
|
|
|
|
<div class="form-group">
|
|
|
<label for="swap">Swap</label>
|
|
|
- <input value="{{ old('swap') }}" id="swap" name="swap" type="number"
|
|
|
- class="form-control @error('swap') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->swap ?? old('swap')}}" id="swap" name="swap"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('swap') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('swap')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -107,11 +115,13 @@
|
|
|
|
|
|
<div class="form-group">
|
|
|
<label for="description">Description <i data-toggle="popover"
|
|
|
- data-trigger="hover" data-content="This is what the users sees"
|
|
|
- class="fas fa-info-circle"></i></label>
|
|
|
- <textarea id="description" name="description" type="text"
|
|
|
- class="form-control @error('description') is-invalid @enderror"
|
|
|
- required="required">{{ old('description') }}</textarea>
|
|
|
+ data-trigger="hover"
|
|
|
+ data-content="This is what the users sees"
|
|
|
+ class="fas fa-info-circle"></i></label>
|
|
|
+ <textarea id="description" name="description"
|
|
|
+ type="text"
|
|
|
+ class="form-control @error('description') is-invalid @enderror"
|
|
|
+ required="required">{{$product->description ?? old('description')}}</textarea>
|
|
|
@error('description')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -123,9 +133,10 @@
|
|
|
<div class="col-lg-6">
|
|
|
<div class="form-group">
|
|
|
<label for="disk">Disk</label>
|
|
|
- <input value="{{ old('disk') ?? 1000 }}" id="disk" name="disk" type="number"
|
|
|
- class="form-control @error('disk') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->disk ?? old('disk') ?? 1000}}" id="disk" name="disk"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('disk') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('disk')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -151,8 +162,10 @@
|
|
|
|
|
|
<div class="form-group">
|
|
|
<label for="io">IO</label>
|
|
|
- <input value="{{ old('io') ?? 500 }}" id="io" name="io" type="number"
|
|
|
- class="form-control @error('io') is-invalid @enderror" required="required">
|
|
|
+ <input value="{{$product->io ?? old('io') ?? 500}}" id="io" name="io"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('io') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('io')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -161,9 +174,11 @@
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<label for="databases">Databases</label>
|
|
|
- <input value="{{ old('databases') ?? 1 }}" id="databases" name="databases"
|
|
|
- type="number" class="form-control @error('databases') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->databases ?? old('databases') ?? 1}}" id="databases"
|
|
|
+ name="databases"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('databases') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('databases')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -172,9 +187,11 @@
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<label for="backups">Backups</label>
|
|
|
- <input value="{{ old('backups') ?? 1 }}" id="backups" name="backups"
|
|
|
- type="number" class="form-control @error('backups') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->backups ?? old('backups') ?? 1}}" id="backups"
|
|
|
+ name="backups"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('backups') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('backups')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -183,10 +200,11 @@
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<label for="allocations">Allocations</label>
|
|
|
- <input value="{{ old('allocations') ?? 0 }}" id="allocations"
|
|
|
- name="allocations" type="number"
|
|
|
- class="form-control @error('allocations') is-invalid @enderror"
|
|
|
- required="required">
|
|
|
+ <input value="{{$product->allocations ?? old('allocations') ?? 0}}"
|
|
|
+ id="allocations" name="allocations"
|
|
|
+ type="number"
|
|
|
+ class="form-control @error('allocations') is-invalid @enderror"
|
|
|
+ required="required">
|
|
|
@error('allocations')
|
|
|
<div class="invalid-feedback">
|
|
|
{{ $message }}
|
|
@@ -201,11 +219,73 @@
|
|
|
Submit
|
|
|
</button>
|
|
|
</div>
|
|
|
- </form>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="card">
|
|
|
+ <div class="card-header">
|
|
|
+ <h5 class="card-title">Product Linking <i data-toggle="popover" data-trigger="hover"
|
|
|
+ data-content="Linked products will only be available when the user has selected the linked node and/or egg"
|
|
|
+ class="fas fa-info-circle"></i></h5>
|
|
|
+ </div>
|
|
|
+ <div class="card-body">
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="nodes">Nodes</label>
|
|
|
+ <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 @if(isset($product)) @if($product->nodes->contains('id' , $node->id)) selected
|
|
|
+ @endif @endif value="{{$node->id}}">{{$node->name}}</option>
|
|
|
+ @endforeach
|
|
|
+ </optgroup>
|
|
|
+ @endforeach
|
|
|
+ </select>
|
|
|
+ @error('nodes')
|
|
|
+ <div class="text-danger">
|
|
|
+ {{$message}}
|
|
|
+ </div>
|
|
|
+ @enderror
|
|
|
+ <div class="text-muted">
|
|
|
+ This product will only be available for these nodes
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="eggs">Eggs</label>
|
|
|
+ <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 @if(isset($product)) @if($product->eggs->contains('id' , $egg->id)) selected
|
|
|
+ @endif @endif value="{{$egg->id}}">{{$egg->name}}</option>
|
|
|
+ @endforeach
|
|
|
+ </optgroup>
|
|
|
+ @endforeach
|
|
|
+ </select>
|
|
|
+ @error('eggs')
|
|
|
+ <div class="text-danger">
|
|
|
+ {{$message}}
|
|
|
+ </div>
|
|
|
+ @enderror
|
|
|
+ <div class="text-muted">
|
|
|
+ This product will only be available for these eggs
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </form>
|
|
|
|
|
|
</div>
|
|
|
</section>
|
|
@@ -216,6 +296,10 @@
|
|
|
$('[data-toggle="popover"]').popover();
|
|
|
});
|
|
|
</script>
|
|
|
-
|
|
|
+ <script>
|
|
|
+ document.addEventListener('DOMContentLoaded', (event) => {
|
|
|
+ })
|
|
|
+ </script>
|
|
|
+ $('.custom-select').select2();
|
|
|
|
|
|
@endsection
|