This commit is contained in:
pbao9
2026-02-04 09:26:39 +07:00
parent 064d23d822
commit bae4cc59ae
3 changed files with 180 additions and 91 deletions
@@ -1,57 +1,91 @@
@extends("administrator.layout.master") @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' => 'DNS Server', 'url' => route('module.dns.index')],
['label' => 'Add DNS Server', 'active' => true],
];
@endphp
<x-admin-breadcrumb :items="$breadcrumbItems" />
@endsection
@section("content") @section("content")
@if(auth()->guard('admins')->user()->can("add module dns")) @if(auth()->guard('admins')->user()->can("add module dns"))
<div class="card card-outline card-primary"> <div class="card card-outline card-primary">
<form action="{{ route('module.dns.store') }}" method="post"> <form action="{{ route('module.dns.store') }}" method="post">
@csrf @csrf
<div class="card-body"> <div class="card-body p-4">
<div class="row"> <div class="row g-4">
<div class="col"> {{-- Server Host --}}
{{--Server Host--}} <div class="col-12 col-md-6">
<div class="form-group row"> <label class="form-label fw-medium" for="name">Server Host <span
<label class="col-md-3" for="name">Server Host</label> class="text-danger">*</span></label>
<div class="col-md-9"> <div class="input-group">
<input type="text" id="name" name="name" placeholder="103.42.xx.xxx" <span class="input-group-text bg-light border-end-0">
value="{{ old('name') }}" class="form-control"> <i data-lucide="server" width="18" height="18"></i>
</span>
<input type="text" id="name" name="name" class="form-control border-start-0 ps-3 text-sm"
placeholder="e.g. 103.42.xx.xxx" value="{{ old('name') }}" required>
</div> </div>
</div> </div>
{{--User--}} {{-- User --}}
<div class="form-group row"> <div class="col-12 col-md-6">
<label class="col-md-3" for="user">User</label> <label class="form-label fw-medium" for="user">User <span class="text-danger">*</span></label>
<div class="col-md-9"> <div class="input-group">
<input type="text" id="user" name="user" placeholder="root" <span class="input-group-text bg-light border-end-0">
value="{{ old('user') }}" class="form-control"> <i data-lucide="user" width="18" height="18"></i>
</span>
<input type="text" id="user" name="user" class="form-control border-start-0 ps-3 text-sm"
placeholder="e.g. root" value="{{ old('user') }}" required>
</div> </div>
</div> </div>
{{--Password--}} {{-- Password --}}
<div class="form-group row"> <div class="col-12 col-md-6">
<label class="col-md-3" for="password">Password</label> <label class="form-label fw-medium" for="password">Password <span
<div class="col-md-9"> class="text-danger">*</span></label>
<input type="password" id="password" name="password" placeholder="*********" <div class="input-group">
value="{{ old('password') }}" class="form-control"> <span class="input-group-text bg-light border-end-0">
<i data-lucide="lock" width="18" height="18"></i>
</span>
<input type="password" id="password" name="password"
class="form-control border-start-0 ps-3 text-sm" placeholder="•••••••••"
value="{{ old('password') }}" required>
</div> </div>
</div> </div>
{{--Status--}}
<div class="form-group row"> {{-- Status --}}
<label class="col-md-3" for="password">Status</label> <div class="col-12 col-md-6">
<div class="col-md-9"> <label class="form-label fw-medium" for="status">Status</label>
<label> <div class="input-group flex-nowrap">
<select class="custom-select" name="status"> <span class="input-group-text bg-light border-end-0">
<option value="1">Active</option> <i data-lucide="activity" width="18" height="18"></i>
<option value="0">No Active</option> </span>
</select> <select class="form-control select2 single__select border-start-0 ps-3" name="status"
</label> id="status" style="width: 100%;">
@foreach(App\Enums\Status::getOptions() as $value => $label)
<option value="{{ $value }}">{{ $label }}</option>
@endforeach
</select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="card-footer bg-white border-top p-3 d-flex justify-content-end gap-2">
<div class="card-footer"> <x-button-c-r-m route="module.dns.index" variant="secondary" icon="arrow-left">
<a href="{{ route('module.dns.index') }}" class="btn btn-outline-secondary">Trở về</a> Cancel
<button type="submit" class="btn btn-outline-primary">Lưu dữ liệu</button> </x-button-c-r-m>
</div> <x-button-c-r-m type="submit" variant="primary" icon="save">
</form> Save DNS Server
</div> </x-button-c-r-m>
</div>
</form>
</div>
@else @else
<div class="alert alert-danger alert-dismissible"> <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 dns <h5 class="mb-0"><i class="icon fas fa-ban"></i> Access Denied - You are not assigned to any Module dns
@@ -59,3 +93,13 @@
</div> </div>
@endif @endif
@endsection @endsection
@push('plugin-scripts')
@foreach (config('assets.datatable.js') as $datatable)
<script src="{{ asset($datatable) }}"></script>
@endforeach
<script>
$(document).ready(function () {
$('.select2').select2();
});
</script>
@endpush
@@ -1,58 +1,94 @@
@extends("administrator.layout.master") @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' => 'DNS Server', 'url' => route('module.dns.index')],
['label' => 'Edit DNS Server', 'active' => true],
];
@endphp
<x-admin-breadcrumb :items="$breadcrumbItems" />
@endsection
@section("content") @section("content")
@if(auth()->guard('admins')->user()->can("edit module dns")) @if(auth()->guard('admins')->user()->can("edit module dns"))
<div class="card card-outline card-primary"> <div class="card card-outline card-primary">
<form action="{{ route('module.dns.update',['id' => $server->id]) }}" method="post"> <form action="{{ route('module.dns.update', ['id' => $server->id]) }}" method="post">
@csrf @csrf
@method('put') @method('put')
<div class="card-body"> <div class="card-body p-4">
<div class="row"> <div class="row g-4">
<div class="col"> {{-- Server Host --}}
{{--Server Host--}} <div class="col-12 col-md-6">
<div class="form-group row"> <label class="form-label fw-medium" for="name">Server Host <span
<label class="col-md-3" for="name">Server Host</label> class="text-danger">*</span></label>
<div class="col-md-9"> <div class="input-group">
<input type="text" id="name" name="name" placeholder="103.42.xx.xxx" <span class="input-group-text bg-light border-end-0">
value="{{ $server->name }}" class="form-control"> <i data-lucide="server" width="18" height="18"></i>
</span>
<input type="text" id="name" name="name" class="form-control border-start-0 ps-0 text-sm"
placeholder="e.g. 103.42.xx.xxx" value="{{ $server->name }}" required>
</div> </div>
</div> </div>
{{--User--}}
<div class="form-group row"> {{-- User --}}
<label class="col-md-3" for="user">User</label> <div class="col-12 col-md-6">
<div class="col-md-9"> <label class="form-label fw-medium" for="user">User <span class="text-danger">*</span></label>
<input type="text" id="user" name="user" placeholder="root" <div class="input-group">
value="{{ $server->user }}" class="form-control"> <span class="input-group-text bg-light border-end-0">
<i data-lucide="user" width="18" height="18"></i>
</span>
<input type="text" id="user" name="user" class="form-control border-start-0 ps-0 text-sm"
placeholder="e.g. root" value="{{ $server->user }}" required>
</div> </div>
</div> </div>
{{--Password--}}
<div class="form-group row"> {{-- Password --}}
<label class="col-md-3" for="password">Password</label> <div class="col-12 col-md-6">
<div class="col-md-9"> <label class="form-label fw-medium" for="password">Password</label>
<input type="password" id="password" name="password" placeholder="*********" <div class="input-group">
value="" class="form-control"> <span class="input-group-text bg-light border-end-0">
<i data-lucide="lock" width="18" height="18"></i>
</span>
<input type="password" id="password" name="password"
class="form-control border-start-0 ps-0 text-sm"
placeholder="Leave blank to keep current password" value="">
</div> </div>
</div> </div>
{{--Status--}}
<div class="form-group row"> {{-- Status --}}
<label class="col-md-3" for="password">Status</label> <div class="col-12 col-md-6">
<div class="col-md-9"> <label class="form-label fw-medium" for="status">Status</label>
<label> <div class="input-group">
<select class="custom-select" name="status"> <span class="input-group-text bg-light border-end-0">
<option value="1" @selected($server->status === 1)>Active</option> <i data-lucide="activity" width="18" height="18"></i>
<option value="0" @selected($server->status === 0)>No Active</option> </span>
</select> <select class="form-control select2 single__select border-start-0 ps-0" name="status"
</label> id="status" style="width: 100%;">
@foreach(App\Enums\Status::getOptions() as $value => $label)
<option value="{{ $value }}" {{ $server->status === $value ? 'selected' : '' }}>{{ $label }}
</option>
@endforeach
</select>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="card-footer bg-white border-top p-3 d-flex justify-content-end gap-2">
<div class="card-footer"> <x-button-c-r-m route="module.dns.index" variant="secondary" icon="arrow-left">
<a href="{{ route('module.dns.index') }}" class="btn btn-outline-secondary">Trở về</a> Cancel
<button type="submit" class="btn btn-outline-primary">Lưu dữ liệu</button> </x-button-c-r-m>
</div> <x-button-c-r-m type="submit" variant="primary" icon="save">
</form> Save Changes
</div> </x-button-c-r-m>
</div>
</form>
</div>
@else @else
<div class="alert alert-danger alert-dismissible"> <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 dns <h5 class="mb-0"><i class="icon fas fa-ban"></i> Access Denied - You are not assigned to any Module dns
@@ -60,3 +96,13 @@
</div> </div>
@endif @endif
@endsection @endsection
@push('plugin-scripts')
@foreach (config('assets.datatable.js') as $datatable)
<script src="{{ asset($datatable) }}"></script>
@endforeach
<script>
$(document).ready(function () {
$('.select2').select2();
});
</script>
@endpush
@@ -9,7 +9,6 @@
@php @php
$breadcrumbItems = [ $breadcrumbItems = [
['label' => 'Modules'], ['label' => 'Modules'],
['label' => 'Package vCenter'],
['label' => 'DNS Server', 'active' => true], ['label' => 'DNS Server', 'active' => true],
]; ];
@endphp @endphp
@@ -23,11 +22,11 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<x-datatable id="dnsTable" ajax="{{ route('module.dns.datatable') }}" :columns="[ <x-datatable id="dnsTable" ajax="{{ route('module.dns.datatable') }}" :columns="[
['key' => 'name', 'label' => 'IP Host'], ['key' => 'name', 'label' => 'IP Host'],
['key' => 'counter', 'label' => 'Domain Created'], ['key' => 'counter', 'label' => 'Domain Created'],
['key' => 'status', 'label' => 'Status'], ['key' => 'status', 'label' => 'Status'],
['key' => 'action', 'label' => 'Action'], ['key' => 'action', 'label' => 'Action'],
]" /> ]" />
</div> </div>
</div> </div>
@else @else