diff --git a/app/Http/Controllers/Admin/ProductController.php b/app/Http/Controllers/Admin/ProductController.php index bfa8bd5a..33d98c50 100644 --- a/app/Http/Controllers/Admin/ProductController.php +++ b/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); return view('admin.products.create', [ 'product' => $product, + 'credits_display_name' => $general_settings->credits_display_name, 'locations' => Location::with('nodes')->get(), 'nests' => Nest::with('eggs')->get(), ]); @@ -90,8 +91,10 @@ class ProductController extends Controller 'oom_killer' => 'nullable', ]); + $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 $product->eggs()->attach($request->input('eggs')); @@ -164,7 +167,8 @@ class ProductController extends Controller ]); $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 $product->eggs()->detach(); diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index acd4392e..30262cac 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -164,7 +164,7 @@ class ServerController extends Controller } //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.')); } diff --git a/config/permissions_web.php b/config/permissions_web.php index 71c1cd1e..0ae789ca 100644 --- a/config/permissions_web.php +++ b/config/permissions_web.php @@ -46,6 +46,7 @@ return [ 'admin.servers.write.owner', 'admin.servers.write.identifier', 'admin.servers.delete', + 'admin.servers.bypass_creation_enabled', 'admin.products.read', 'admin.products.create', diff --git a/themes/default/views/servers/index.blade.php b/themes/default/views/servers/index.blade.php index df47ae53..93f31b7d 100644 --- a/themes/default/views/servers/index.blade.php +++ b/themes/default/views/servers/index.blade.php @@ -103,7 +103,7 @@ {{ $server->product->name }} " class="fas fa-info-circle"> diff --git a/themes/default/views/servers/settings.blade.php b/themes/default/views/servers/settings.blade.php index 4ef71744..9525cd23 100644 --- a/themes/default/views/servers/settings.blade.php +++ b/themes/default/views/servers/settings.blade.php @@ -204,6 +204,18 @@ +
+
+
+ +
+
+ + {{ $server->product->oom_killer ? __("enabled") : __("disabled") }} + +
+
+