129 lines
6.6 KiB
PHP
129 lines
6.6 KiB
PHP
@extends('administrator.layout.master')
|
|
@push('plugin-styles')
|
|
@foreach (config('assets.datatable.css') as $datatable)
|
|
<link href="{{ asset($datatable) }}" rel="stylesheet" />
|
|
@endforeach
|
|
@endpush
|
|
|
|
@section('breadcrumb')
|
|
@php
|
|
$breadcrumbItems = [
|
|
['label' => 'Modules'],
|
|
['label' => 'Package vCenter', 'route' => 'package.vm.index'],
|
|
['label' => 'Virtual Machine', 'route' => 'package.vm.index'],
|
|
['label' => 'Edit VM', 'active' => true],
|
|
];
|
|
@endphp
|
|
<x-admin-breadcrumb :items="$breadcrumbItems" />
|
|
@endsection
|
|
|
|
@section('content')
|
|
@if(auth()->guard('admins')->user()->can("add module vcenter"))
|
|
<form action="{{ route('package.vm.update', $vm->id) }}" method="post">
|
|
@csrf
|
|
@method('PUT')
|
|
<div class="row align-items-start">
|
|
<div class="col-md-8">
|
|
<div class="card card-primary card-outline">
|
|
<div class="card-header bg-white">
|
|
<h5 class="card-title m-0">Edit Virtual Machine</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-4">
|
|
<h5 class="text-primary border-bottom mb-3 pb-2">vCenter Configuration</h5>
|
|
<x-module.v-center :model="$vm" />
|
|
<x-module.datacenter :model="$vm" />
|
|
<x-module.host :model="$vm" />
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
<h5 class="text-primary border-bottom mb-3 pb-2">VM Information</h5>
|
|
<div class="row mb-3">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="vm_id">VM ID <span class="text-danger">*</span></label>
|
|
<input type="text" id="vm_id" name="vm_id" value="{{ old('vm_id', $vm->vm_id) }}"
|
|
class="form-control" required placeholder="vm-XXXX" />
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="name">Name <span class="text-danger">*</span></label>
|
|
<input type="text" id="name" name="name" value="{{ old('name', $vm->name) }}"
|
|
class="form-control" required placeholder="VM Name" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="cpu">CPU (cores)</label>
|
|
<input type="number" id="cpu" name="cpu" value="{{ old('cpu', $vm->cpu) }}"
|
|
class="form-control" placeholder="Number of cores" />
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="ram_mb">RAM (MB)</label>
|
|
<input type="number" id="ram_mb" name="ram_mb" value="{{ old('ram_mb', $vm->ram_mb) }}"
|
|
class="form-control" placeholder="RAM in MB" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
<h5 class="text-primary border-bottom mb-3 pb-2">Status</h5>
|
|
<div class="row mb-3">
|
|
<div class="col-md-12">
|
|
<div class="form-group">
|
|
<label>Power State</label>
|
|
<div>
|
|
@if($vm->power_state == 'POWERED_ON')
|
|
<span class="badge bg-success">Đang bật</span>
|
|
@elseif($vm->power_state == 'POWERED_OFF')
|
|
<span class="badge bg-secondary">Đang tắt</span>
|
|
@else
|
|
<span class="badge bg-info">{{ $vm->power_state ?? 'N/A' }}</span>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="card card-primary card-outline">
|
|
<div class="card-header bg-white">
|
|
<h5 class="card-title m-0">Actions</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<x-button-crm type="submit" variant="primary" size="lg" icon="save" class="w-100 mb-2">Save Changes</x-button-crm>
|
|
<x-button-crm type="button" variant="outline-secondary" size="lg" route="package.vm.index" icon="arrow-left" class="w-100 mb-2">Cancel</x-button-crm>
|
|
|
|
@if($vm->vm_id && $vm->power_state == 'POWERED_ON')
|
|
<x-button-crm type="button" variant="outline-info" size="lg" icon="monitor" route="admin.vm.console" :params="['vm_id' => $vm->vm_id]" class="w-100">Open Console</x-button-crm>
|
|
@elseif($vm->vm_id)
|
|
<span class="btn btn-outline-secondary disabled w-100">Console (VM Off)</span>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
@else
|
|
<div class="alert alert-danger alert-dismissible">
|
|
<h5 class="mb-0"><i class="icon fas fa-ban"></i> Access Denied - You are not assigned to any Module vCenter management department</h5>
|
|
</div>
|
|
@endif
|
|
@endsection
|
|
|
|
@push('plugin-scripts')
|
|
@foreach (config('assets.datatable.js') as $datatable)
|
|
<script src="{{ asset($datatable) }}"></script>
|
|
@endforeach
|
|
@endpush
|