瀏覽代碼

OOM Killer frontend (#820)

Dennis 2 年之前
父節點
當前提交
d41253a1b1

+ 7 - 3
app/Http/Controllers/Admin/ProductController.php

@@ -52,12 +52,13 @@ class ProductController extends Controller
         ]);
         ]);
     }
     }
 
 
-    public function clone(Product $product)
+    public function clone(Product $product, GeneralSettings $general_settings)
     {
     {
         $this->checkPermission(self::WRITE_PERMISSION);
         $this->checkPermission(self::WRITE_PERMISSION);
 
 
         return view('admin.products.create', [
         return view('admin.products.create', [
             'product' => $product,
             'product' => $product,
+            'credits_display_name' =>  $general_settings->credits_display_name,
             'locations' => Location::with('nodes')->get(),
             'locations' => Location::with('nodes')->get(),
             'nests' => Nest::with('eggs')->get(),
             'nests' => Nest::with('eggs')->get(),
         ]);
         ]);
@@ -90,8 +91,10 @@ class ProductController extends Controller
             'oom_killer' => 'nullable',
             'oom_killer' => 'nullable',
         ]);
         ]);
 
 
+
         $disabled = ! is_null($request->input('disabled'));
         $disabled = ! is_null($request->input('disabled'));
-        $product = Product::create(array_merge($request->all(), ['disabled' => $disabled]));
+        $oomkiller = ! is_null($request->input('oom_killer'));
+        $product = Product::create(array_merge($request->all(), ['disabled' => $disabled, 'oom_killer' => $oomkiller]));
 
 
         //link nodes and eggs
         //link nodes and eggs
         $product->eggs()->attach($request->input('eggs'));
         $product->eggs()->attach($request->input('eggs'));
@@ -164,7 +167,8 @@ class ProductController extends Controller
         ]);
         ]);
 
 
         $disabled = ! is_null($request->input('disabled'));
         $disabled = ! is_null($request->input('disabled'));
-        $product->update(array_merge($request->all(), ['disabled' => $disabled]));
+        $oomkiller = ! is_null($request->input('oom_killer'));
+        $product->update(array_merge($request->all(), ['disabled' => $disabled, 'oom_killer' => $oomkiller]));
 
 
         //link nodes and eggs
         //link nodes and eggs
         $product->eggs()->detach();
         $product->eggs()->detach();

+ 1 - 1
app/Http/Controllers/ServerController.php

@@ -164,7 +164,7 @@ class ServerController extends Controller
         }
         }
 
 
         //Required Verification for creating an server
         //Required Verification for creating an server
-        if (!$server_settings->creation_enabled && Auth::user()->role != 'admin') {
+        if (!$server_settings->creation_enabled && Auth::user()->cannot("admin.servers.bypass_creation_enabled")) {
             return redirect()->route('servers.index')->with('error', __('The system administrator has blocked the creation of new servers.'));
             return redirect()->route('servers.index')->with('error', __('The system administrator has blocked the creation of new servers.'));
         }
         }
 
 

+ 1 - 0
config/permissions_web.php

@@ -46,6 +46,7 @@ return [
     'admin.servers.write.owner',
     'admin.servers.write.owner',
     'admin.servers.write.identifier',
     'admin.servers.write.identifier',
     'admin.servers.delete',
     'admin.servers.delete',
+    'admin.servers.bypass_creation_enabled',
 
 
     'admin.products.read',
     'admin.products.read',
     'admin.products.create',
     'admin.products.create',

+ 1 - 1
themes/default/views/servers/index.blade.php

@@ -103,7 +103,7 @@
                                             <span>{{ $server->product->name }}
                                             <span>{{ $server->product->name }}
                                             </span>
                                             </span>
                                             <i data-toggle="popover" data-trigger="hover" data-html="true"
                                             <i data-toggle="popover" data-trigger="hover" data-html="true"
-                                                data-content="{{ __('CPU') }}: {{ $server->product->cpu / 100 }} {{ __('vCores') }} <br/>{{ __('RAM') }}: {{ $server->product->memory }} MB <br/>{{ __('Disk') }}: {{ $server->product->disk }} MB <br/>{{ __('Backups') }}: {{ $server->product->backups }} <br/> {{ __('MySQL Databases') }}: {{ $server->product->databases }} <br/> {{ __('Allocations') }}: {{ $server->product->allocations }} <br/>"
+                                                data-content="{{ __('CPU') }}: {{ $server->product->cpu / 100 }} {{ __('vCores') }} <br/>{{ __('RAM') }}: {{ $server->product->memory }} MB <br/>{{ __('Disk') }}: {{ $server->product->disk }} MB <br/>{{ __('Backups') }}: {{ $server->product->backups }} <br/> {{ __('MySQL Databases') }}: {{ $server->product->databases }} <br/> {{ __('Allocations') }}: {{ $server->product->allocations }} <br/>{{ __('OOM Killer') }}: {{ $server->product->oom_killer ? __("enabled") : __("disabled") }} <br/>"
                                                 class="fas fa-info-circle"></i>
                                                 class="fas fa-info-circle"></i>
                                         </div>
                                         </div>
 
 

+ 12 - 0
themes/default/views/servers/settings.blade.php

@@ -204,6 +204,18 @@
                                 </div>
                                 </div>
                             </div>
                             </div>
                         </div>
                         </div>
+                        <div class="col-lg-6">
+                            <div class="row">
+                                <div class="col-lg-4">
+                                    <label>{{__('OOM Killer')}}</label>
+                                </div>
+                                <div class="col-lg-8">
+                                    <span style="max-width: 250px;" class="d-inline-block text-truncate">
+                                        {{ $server->product->oom_killer ? __("enabled") : __("disabled") }}
+                                    </span>
+                                </div>
+                            </div>
+                        </div>
                         <div class="col-lg-6">
                         <div class="col-lg-6">
                             <div class="row">
                             <div class="row">
                                 <div class="col-lg-4">
                                 <div class="col-lg-4">