Kaydet (Commit) 94770c01 authored tarafından mertcelen's avatar mertcelen

Extension install service improved, now it reads and parse data from database.

üst 8c8dc2b8
......@@ -244,7 +244,6 @@ class OneController extends Controller
// Retrieve Service name from extension.
$service = Extension::where('name', 'like', \request('extension'))->first()->service;
//
$output = server()->run("sudo systemctl " . \request('action') . ' ' . $service);
return [
"result" => 200,
......@@ -254,9 +253,14 @@ class OneController extends Controller
public function enableExtension()
{
// Retrieve extension object.
$extension = Extension::where('_id', \request('extension_id'))->first();
// If server is not accessible through ssh, we can assume it is already installed
if(server()->type == "linux" || server()->type == "windows"){
// Simply, retrieve array and add extension id.
$extensions_array = server()->extensions;
$extensions_array[$extension->_id] = [];
server()->extensions = $extensions_array;
......@@ -264,16 +268,27 @@ class OneController extends Controller
return respond('Servis başarıyla eklendi.');
}
// Get Install script from extension.
$script = Script::where('unique_code', $extension->setup)->first();
$server = server();
//Just a double check if script is not installed, warn user.
if(!$script){
return respond("Kurulum betiği bulunamadığı için işlem iptal edildi.",201);
}
// Create a notification to inform user.
$notification = Notification::new(
__("Servis Yükleniyor."),
"onhold",
__(":server isimli sunucuda :new kuruluyor.",["server"=>server()->name,"new"=>$extension->name])
);
$job = new InstallService($script, $server,\request('domain') . " "
// Create and dispatch the job immediately.
$job = new InstallService($script, server(),\request('domain') . " "
. \request('interface'),\Auth::user(),$notification ,$extension);
dispatch($job);
// Forward request and inform user.
return respond("Kurulum talebi başarıyla alındı. Gelişmeleri bildirim üzerinden takip edebilirsiniz.");
}
......
......@@ -250,25 +250,23 @@
],
"submit_text" => "İndir"
])
<?php
$input_extensions = [];
foreach($available_extensions as $extension){
$arr = [];
foreach($extension->install as $key => $parameter){
$arr[$parameter["name"]] = $key . ":" . $parameter["type"];
}
$arr[$extension->name . ":" . $extension->_id] = "extension_id:hidden";
$input_extensions[$extension->name . ":" . $extension->_id] = $arr;
}
?>
@include('modal',[
"id"=>"install_extension",
"title" => "Servis Yükle",
"url" => route('server_extension'),
"next" => "message",
"selects" => [
"DNS:5c0a170f7b57f19953126e37" => [
"Domain Adı" => "domain:text",
"Arayüz" => "interface:text",
"DNS:5c0a170f7b57f19953126e37" => "extension_id:hidden"
],
"DHCP:5c0a1c5f7b57f19953126e38" => [
"Domain Adı" => "domain:text",
"Arayüz" => "interface:text",
"Subnet" => "subnet:text",
"DHCP:5c0a1c5f7b57f19953126e38" => "extension_id:hidden"
]
],
"selects" => $input_extensions,
"inputs" => [
"Sunucu Id:$server->_id" => "server_id:hidden"
],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment