2021-06-05 09:26:32 +00:00
|
|
|
@extends('layouts.main')
|
|
|
|
|
|
|
|
@section('content')
|
|
|
|
<!-- CONTENT HEADER -->
|
|
|
|
<section class="content-header">
|
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="row mb-2">
|
|
|
|
<div class="col-sm-6">
|
2021-12-13 07:42:53 +00:00
|
|
|
<h1>{{__('Products')}}</h1>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-sm-6">
|
|
|
|
<ol class="breadcrumb float-sm-right">
|
2021-12-13 07:42:53 +00:00
|
|
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">{{__('Dashboard')}}</a></li>
|
|
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.products.index') }}">{{__('Products')}}</a>
|
|
|
|
</li>
|
2021-10-01 21:21:49 +00:00
|
|
|
<li class="breadcrumb-item"><a class="text-muted"
|
2021-12-13 07:42:53 +00:00
|
|
|
href="{{ route('admin.products.create') }}">{{__('Create')}}</a>
|
2021-06-05 09:26:32 +00:00
|
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<!-- END CONTENT HEADER -->
|
|
|
|
|
|
|
|
<!-- MAIN CONTENT -->
|
|
|
|
<section class="content">
|
|
|
|
<div class="container-fluid">
|
2021-07-06 19:38:13 +00:00
|
|
|
<form action="{{route('admin.products.store')}}" method="POST">
|
|
|
|
@csrf
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="card">
|
|
|
|
<div class="card-header">
|
2021-12-13 07:42:53 +00:00
|
|
|
<h5 class="card-title">{{__('Product Details')}}</h5>
|
2021-07-06 19:38:13 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body">
|
2021-06-05 09:26:32 +00:00
|
|
|
|
|
|
|
<div class="d-flex flex-row-reverse">
|
|
|
|
<div class="custom-control custom-switch">
|
2021-10-01 21:21:49 +00:00
|
|
|
<input type="checkbox" name="disabled"
|
2021-07-06 19:38:13 +00:00
|
|
|
class="custom-control-input custom-control-input-danger" id="switch1">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label class="custom-control-label" for="switch1">{{__('Disabled')}} <i
|
2021-07-06 19:38:13 +00:00
|
|
|
data-toggle="popover" data-trigger="hover"
|
2021-12-13 07:42:53 +00:00
|
|
|
data-content="{{__('Will hide this option from being selected')}}"
|
2021-10-01 21:21:49 +00:00
|
|
|
class="fas fa-info-circle"></i></label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="name">{{__('Name')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<input value="{{$product->name ?? old('name')}}" id="name" name="name"
|
|
|
|
type="text"
|
2021-06-05 09:26:32 +00:00
|
|
|
class="form-control @error('name') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('name')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2022-02-27 14:47:39 +00:00
|
|
|
<label for="price">{{__('Price in')}} {{CREDITS_DISPLAY_NAME}}</label>
|
2022-07-12 05:17:09 +00:00
|
|
|
<input value="{{$product->price ?? old('price')}}" id="price" name="price" step=".01"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('price') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('price')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
2021-10-01 21:21:49 +00:00
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="memory">{{__('Memory')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<input value="{{$product->memory ?? old('memory')}}" id="memory"
|
|
|
|
name="memory"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('memory') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('memory')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="cpu">{{__('Cpu')}}</label>
|
2021-07-06 21:19:25 +00:00
|
|
|
<input value="{{$product->cpu ?? old('cpu')}}" id="cpu" name="cpu"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('cpu') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('cpu')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="swap">{{__('Swap')}}</label>
|
2021-07-06 21:19:25 +00:00
|
|
|
<input value="{{$product->swap ?? old('swap')}}" id="swap" name="swap"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('swap') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('swap')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<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>
|
2021-06-05 09:26:32 +00:00
|
|
|
<textarea id="description" name="description"
|
|
|
|
type="text"
|
|
|
|
class="form-control @error('description') is-invalid @enderror"
|
2021-07-06 21:19:25 +00:00
|
|
|
required="required">{{$product->description ?? old('description')}}</textarea>
|
2021-06-05 09:26:32 +00:00
|
|
|
@error('description')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="disk">{{__('Disk')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<input value="{{$product->disk ?? old('disk') ?? 1000}}" id="disk"
|
|
|
|
name="disk"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('disk') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('disk')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-10-01 21:21:49 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="minimum_credits">{{__('Minimum')}} {{ CREDITS_DISPLAY_NAME }} <i
|
2021-10-01 21:21:49 +00:00
|
|
|
data-toggle="popover" data-trigger="hover"
|
2021-12-13 07:42:53 +00:00
|
|
|
data-content="{{__('Setting to -1 will use the value from configuration.')}}"
|
2021-10-01 21:21:49 +00:00
|
|
|
class="fas fa-info-circle"></i></label>
|
2021-12-13 07:42:53 +00:00
|
|
|
<input
|
|
|
|
value="{{ $product->minimum_credits ?? old('minimum_credits') ?? -1 }}"
|
|
|
|
id="minimum_credits"
|
|
|
|
name="minimum_credits" type="number"
|
|
|
|
class="form-control @error('minimum_credits') is-invalid @enderror"
|
|
|
|
required="required">
|
2021-10-01 21:21:49 +00:00
|
|
|
@error('minimum_credits')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
2021-10-01 21:21:49 +00:00
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="io">{{__('IO')}}</label>
|
2021-07-06 21:19:25 +00:00
|
|
|
<input value="{{$product->io ?? old('io') ?? 500}}" id="io" name="io"
|
2021-06-05 09:26:32 +00:00
|
|
|
type="number"
|
|
|
|
class="form-control @error('io') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('io')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="databases">{{__('Databases')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<input value="{{$product->databases ?? old('databases') ?? 1}}"
|
|
|
|
id="databases"
|
2021-06-05 09:26:32 +00:00
|
|
|
name="databases"
|
|
|
|
type="number"
|
|
|
|
class="form-control @error('databases') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('databases')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="backups">{{__('Backups')}}</label>
|
2021-07-06 21:19:25 +00:00
|
|
|
<input value="{{$product->backups ?? old('backups') ?? 1}}" id="backups"
|
2021-06-05 09:26:32 +00:00
|
|
|
name="backups"
|
|
|
|
type="number"
|
|
|
|
class="form-control @error('backups') is-invalid @enderror"
|
|
|
|
required="required">
|
|
|
|
@error('backups')
|
2021-11-06 00:56:57 +00:00
|
|
|
<div class="invalid-feedback">
|
|
|
|
{{ $message }}
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
@enderror
|
|
|
|
</div>
|
2023-02-01 20:03:20 +00:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="allocations">{{__('Allocations')}}</label>
|
|
|
|
<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 }}
|
|
|
|
</div>
|
|
|
|
@enderror
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group text-right">
|
|
|
|
<button type="submit" class="btn btn-primary">
|
2021-12-13 07:42:53 +00:00
|
|
|
{{__('Submit')}}
|
2021-06-05 09:26:32 +00:00
|
|
|
</button>
|
|
|
|
</div>
|
2021-07-06 19:38:13 +00:00
|
|
|
|
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2021-07-06 19:38:13 +00:00
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="card">
|
|
|
|
<div class="card-header">
|
2021-12-13 07:42:53 +00:00
|
|
|
<h5 class="card-title">{{__('Product Linking')}}
|
2021-11-07 00:47:16 +00:00
|
|
|
<i data-toggle="popover"
|
|
|
|
data-trigger="hover"
|
2021-12-13 07:42:53 +00:00
|
|
|
data-content="{{__('Link your products to nodes and eggs to create dynamic pricing for each option')}}"
|
2021-11-07 00:47:16 +00:00
|
|
|
class="fas fa-info-circle"></i></h5>
|
2021-07-06 19:38:13 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="nodes">{{__('Nodes')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<select id="nodes" style="width:100%"
|
|
|
|
class="custom-select @error('nodes') is-invalid @enderror"
|
2021-07-06 19:38:13 +00:00
|
|
|
name="nodes[]" multiple="multiple" autocomplete="off">
|
|
|
|
@foreach($locations as $location)
|
|
|
|
<optgroup label="{{$location->name}}">
|
|
|
|
@foreach($location->nodes as $node)
|
2021-11-07 00:47:16 +00:00
|
|
|
<option
|
|
|
|
@if(isset($product)) @if($product->nodes->contains('id' , $node->id)) selected
|
|
|
|
@endif @endif value="{{$node->id}}">{{$node->name}}</option>
|
2021-07-06 19:38:13 +00:00
|
|
|
@endforeach
|
|
|
|
</optgroup>
|
|
|
|
@endforeach
|
|
|
|
</select>
|
|
|
|
@error('nodes')
|
|
|
|
<div class="text-danger">
|
|
|
|
{{$message}}
|
|
|
|
</div>
|
|
|
|
@enderror
|
|
|
|
<div class="text-muted">
|
2021-12-13 07:42:53 +00:00
|
|
|
{{__('This product will only be available for these nodes')}}
|
2021-07-06 19:38:13 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
2021-12-13 07:42:53 +00:00
|
|
|
<label for="eggs">{{__('Eggs')}}</label>
|
2021-11-07 00:47:16 +00:00
|
|
|
<select id="eggs" style="width:100%"
|
|
|
|
class="custom-select @error('eggs') is-invalid @enderror"
|
2021-07-06 19:38:13 +00:00
|
|
|
name="eggs[]" multiple="multiple" autocomplete="off">
|
|
|
|
@foreach($nests as $nest)
|
|
|
|
<optgroup label="{{$nest->name}}">
|
|
|
|
@foreach($nest->eggs as $egg)
|
2021-11-07 00:47:16 +00:00
|
|
|
<option
|
|
|
|
@if(isset($product)) @if($product->eggs->contains('id' , $egg->id)) selected
|
|
|
|
@endif @endif value="{{$egg->id}}">{{$egg->name}}</option>
|
2021-07-06 19:38:13 +00:00
|
|
|
@endforeach
|
|
|
|
</optgroup>
|
|
|
|
@endforeach
|
|
|
|
</select>
|
|
|
|
@error('eggs')
|
|
|
|
<div class="text-danger">
|
|
|
|
{{$message}}
|
|
|
|
</div>
|
|
|
|
@enderror
|
|
|
|
<div class="text-muted">
|
2021-12-13 07:42:53 +00:00
|
|
|
{{__('This product will only be available for these eggs')}}
|
2021-07-06 19:38:13 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-08-14 14:51:55 +00:00
|
|
|
<div class="text-muted">
|
|
|
|
{{__('No Eggs or Nodes shown?')}} <a href="{{route('admin.overview.sync')}}">{{__("Sync now")}}</a>
|
|
|
|
</div>
|
2021-07-06 19:38:13 +00:00
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2021-07-06 19:38:13 +00:00
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
2021-07-06 19:38:13 +00:00
|
|
|
</form>
|
2021-06-05 09:26:32 +00:00
|
|
|
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<!-- END CONTENT -->
|
|
|
|
|
2021-10-03 19:28:34 +00:00
|
|
|
<script>
|
2021-11-06 00:56:57 +00:00
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
2021-10-03 19:28:34 +00:00
|
|
|
$('[data-toggle="popover"]').popover();
|
2021-11-06 00:56:57 +00:00
|
|
|
$('.custom-select').select2();
|
2021-10-03 19:28:34 +00:00
|
|
|
});
|
|
|
|
</script>
|
2021-06-05 09:26:32 +00:00
|
|
|
@endsection
|