diff --git a/app/Http/Controllers/admin/vm/VirtualMachineController.php b/app/Http/Controllers/admin/vm/VirtualMachineController.php index c63e075..b6b55fa 100644 --- a/app/Http/Controllers/admin/vm/VirtualMachineController.php +++ b/app/Http/Controllers/admin/vm/VirtualMachineController.php @@ -35,7 +35,8 @@ class VirtualMachineController extends Controller public function create() { $title = 'Add Virtual Machine'; - return view('administrator.pages.package.vm.add', compact('title')); + $vcenters = \App\Models\Vcenter::where('status', 1)->get(); + return view('administrator.pages.package.vm.add', compact('title', 'vcenters')); } public function store(Request $request) @@ -67,8 +68,9 @@ class VirtualMachineController extends Controller return back()->withErrors('Invalid request.'); } $vm->load('datacenter', 'host'); + $vcenters = \App\Models\Vcenter::where('status', 1)->get(); $title = 'Edit Virtual Machine'; - return view('administrator.pages.package.vm.edit', compact('title', 'vm')); + return view('administrator.pages.package.vm.edit', compact('title', 'vm', 'vcenters')); } public function update(Request $request, $id) diff --git a/resources/views/administrator/pages/package/vm/add.blade.php b/resources/views/administrator/pages/package/vm/add.blade.php index 6e63854..b37bf57 100644 --- a/resources/views/administrator/pages/package/vm/add.blade.php +++ b/resources/views/administrator/pages/package/vm/add.blade.php @@ -1,51 +1,101 @@ -@extends("administrator.layout.master") -@section("content") +@extends('administrator.layout.master') +@push('plugin-styles') + @foreach (config('assets.datatable.css') as $datatable) + + @endforeach +@endpush + +@section('breadcrumb') + @php + $breadcrumbItems = [ + ['label' => 'Modules'], + ['label' => 'Package vCenter', 'route' => 'package.vm.index'], + ['label' => 'Virtual Machine', 'route' => 'package.vm.index'], + ['label' => 'Add VM', 'active' => true], + ]; + @endphp + +@endsection + +@section('content') @if(auth()->guard('admins')->user()->can("add module vcenter")) -
-
- @csrf -
- - - {{--Name--}} -
- -
- + + @csrf +
+
+
+
+
Add Virtual Machine
-
- {{--Host ID--}} -
- -
- -
-
- {{--Template ID--}} -
- -
- -
-
- {{--Console ID--}} -
- -
- +
+
+
vCenter Configuration
+ + + +
+ +
+
VM Information
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
- +
+ @else
-
Access Denied - You are not assigned to any Module vCenter - management department
+
Access Denied - You are not assigned to any Module vCenter management department
@endif @endsection + +@push('plugin-scripts') + @foreach (config('assets.datatable.js') as $datatable) + + @endforeach +@endpush diff --git a/resources/views/administrator/pages/package/vm/edit.blade.php b/resources/views/administrator/pages/package/vm/edit.blade.php index a559448..e94c3e2 100644 --- a/resources/views/administrator/pages/package/vm/edit.blade.php +++ b/resources/views/administrator/pages/package/vm/edit.blade.php @@ -1,99 +1,128 @@ -@extends("administrator.layout.master") +@extends('administrator.layout.master') +@push('plugin-styles') + @foreach (config('assets.datatable.css') as $datatable) + + @endforeach +@endpush @section('breadcrumb') @php $breadcrumbItems = [ ['label' => 'Modules'], - ['label' => 'Package vCenter'], + ['label' => 'Package vCenter', 'route' => 'package.vm.index'], ['label' => 'Virtual Machine', 'route' => 'package.vm.index'], - ['label' => $vm->name ?? $vm->vm_id ?? 'Edit', 'active' => true], + ['label' => 'Edit VM', 'active' => true], ]; @endphp @endsection -@section("content") +@section('content') @if(auth()->guard('admins')->user()->can("add module vcenter")) -
-
- @csrf - @method('put') -
- {{--Name--}} -
- -
- + + @csrf + @method('PUT') +
+
+
+
+
Edit Virtual Machine
+
+
+
+
vCenter Configuration
+ + + +
+ +
+
VM Information
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
Status
+
+
+
+ +
+ @if($vm->power_state == 'POWERED_ON') + Đang bật + @elseif($vm->power_state == 'POWERED_OFF') + Đang tắt + @else + {{ $vm->power_state ?? 'N/A' }} + @endif +
+
+
+
+
- {{--VM ID--}} -
- -
- +
+ +
+
+
+
Actions
-
- {{--Power State--}} -
- -
- @if($vm->power_state == 'POWERED_ON') - Đang bật - @elseif($vm->power_state == 'POWERED_OFF') - Đang tắt - @else - {{ $vm->power_state }} +
+ Save Changes + Cancel + + @if($vm->vm_id && $vm->power_state == 'POWERED_ON') + Open Console + @elseif($vm->vm_id) + Console (VM Off) @endif
- {{--CPU--}} -
- -
- -
-
- {{--RAM (MB)--}} -
- -
- -
-
- {{--Datacenter--}} -
- -
- -
-
- {{--Host--}} -
- -
- -
-
- - -
+
+ @else
-
Access Denied - You are not assigned to any Module vCenter - management department
+
Access Denied - You are not assigned to any Module vCenter management department
@endif @endsection + +@push('plugin-scripts') + @foreach (config('assets.datatable.js') as $datatable) + + @endforeach +@endpush diff --git a/resources/views/components/module/datacenter.blade.php b/resources/views/components/module/datacenter.blade.php index baa901a..bc530c5 100644 --- a/resources/views/components/module/datacenter.blade.php +++ b/resources/views/components/module/datacenter.blade.php @@ -10,6 +10,8 @@ if (!$selectedDatacenterId && $model) { $selectedDatacenterId = $model->host?->module_datacenter_id; } elseif ($model instanceof \App\Models\ModuleIpAddress) { $selectedDatacenterId = $model->host?->module_datacenter_id; + } elseif ($model instanceof \App\Models\VirtualMachines) { + $selectedDatacenterId = $model->datacenter_id; } elseif (isset($model->module_datacenter_id)) { $selectedDatacenterId = $model->module_datacenter_id; } elseif (method_exists($model, 'host') && $model->host) { diff --git a/resources/views/components/module/host.blade.php b/resources/views/components/module/host.blade.php index 79d9cb5..82fd546 100644 --- a/resources/views/components/module/host.blade.php +++ b/resources/views/components/module/host.blade.php @@ -1,5 +1,5 @@ @php -$selectedHostId = old('module_host_id') ?? ($model?->module_host_id ?? ($model?->ipaddress?->module_host_id ?? null)); +$selectedHostId = old('module_host_id') ?? ($model?->module_host_id ?? ($model?->host_id ?? ($model?->ipaddress?->module_host_id ?? null))); @endphp diff --git a/resources/views/components/module/v-center.blade.php b/resources/views/components/module/v-center.blade.php index cdbda1c..7c71a4f 100644 --- a/resources/views/components/module/v-center.blade.php +++ b/resources/views/components/module/v-center.blade.php @@ -1,8 +1,9 @@ @php $selectedVcenterId = old('vcenter_id') ?? ($model?->host?->datacenter?->vcenter_id ?? ( - $model?->ipaddress?->host?->datacenter?->vcenter?->id ?? - $model?->vcenter_id ?? null + $model?->datacenter?->vcenter_id ?? + ($model?->ipaddress?->host?->datacenter?->vcenter?->id ?? + $model?->vcenter_id ?? null) )); @endphp