Sergey Kalinin 2018-07-02 16:49:55 +03:00
commit a597995503
1 changed files with 160 additions and 214 deletions

View File

@ -64,7 +64,7 @@ proc InsertItemsWorkList {lst} {
incr work_list_row_count
}
proc RunCommand {root par} {
proc RunCommand {par} {
global dir rac_cmd cluster work_list_row_count \
agent_user agent_pwd cluster_user cluster_pwd
@ -230,7 +230,7 @@ proc GetInfobases {cluster host} {
} else {
set auth ""
}
set lst [RunCommand "" "infobase summary --cluster=$cluster $auth list $host"]
set lst [RunCommand "infobase summary --cluster=$cluster $auth list $host"]
set return_list ""
foreach info_bases_list $lst {
foreach i $info_bases_list {
@ -277,11 +277,31 @@ proc SaveMainServer {host port} {
return "$host:$port"
}
proc GetWorkTreeItems {par} {
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq $par } {
set item_id [lindex $work_tree_values $i]
set tree .frm_work.tree_work
}
incr i
}
return $item_id
}
namespace eval Run {} {}
# Получение данных по кластерам
proc Run::server {tree host values} {
set lst [RunCommand server::$host "cluster list $host"]
set lst [RunCommand "cluster list $host"]
if {$lst eq ""} {return}
set l [lindex $lst 0]
#puts $lst
@ -316,7 +336,7 @@ proc Run::server {tree host values} {
proc Run::cluster {tree host values} {
global active_cluster
set active_cluster $values
RunCommand cluster::$values "cluster info --cluster=$values $host"
RunCommand "cluster info --cluster=$values $host"
}
proc Run::cluster_managers {tree host values} {
@ -336,7 +356,7 @@ proc Run::infobases {tree host values} {
} else {
set auth ""
}
set lst [RunCommand infobase::$values "infobase summary --cluster=$active_cluster $auth list $host"]
set lst [RunCommand "infobase summary --cluster=$active_cluster $auth list $host"]
puts $lst
foreach info_bases_list $lst {
foreach i $info_bases_list {
@ -369,7 +389,7 @@ proc Run::infobase {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand infobase::$values "infobase info --cluster=$active_cluster $auth --infobase=$values $host"]
set lst [RunCommand "infobase info --cluster=$active_cluster $auth --infobase=$values $host"]
foreach l $lst {
InsertItemsWorkList $l
@ -385,7 +405,7 @@ proc Run::List:Base {tree host values par} {
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster $auth --infobase=$values $host"]
set lst [RunCommand "$par list --cluster=$active_cluster $auth --infobase=$values $host"]
foreach l $lst {
InsertItemsWorkList $l
@ -400,7 +420,7 @@ proc Run::List {tree host values par} {
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand infobase::$values "$par list --cluster=$active_cluster $auth $host"]
set lst [RunCommand "$par list --cluster=$active_cluster $auth $host"]
foreach l $lst {
InsertItemsWorkList $l
}
@ -425,7 +445,7 @@ proc Run::servers {tree host values} {
set auth ""
}
set lst [RunCommand infobase::$values "server list --cluster=$active_cluster $auth $host"]
set lst [RunCommand "server list --cluster=$active_cluster $auth $host"]
if {$lst eq ""} {return}
foreach l $lst {
@ -462,7 +482,7 @@ proc Run::work_server {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand infobase::$values "server info --cluster=$active_cluster --server=$values $auth $host"]
set lst [RunCommand "server info --cluster=$active_cluster --server=$values $auth $host"]
foreach l $lst {
InsertItemsWorkList $l
}
@ -478,7 +498,7 @@ proc Run::profiles {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand "" "profile list --cluster=$active_cluster $auth $host"]
set lst [RunCommand "profile list --cluster=$active_cluster $auth $host"]
foreach l $lst {
foreach i $l {
@ -513,7 +533,7 @@ proc Run::work_server_processes {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand work_server_processes::$values "process list --cluster=$active_cluster $auth --server=$values $host"]
set lst [RunCommand "process list --cluster=$active_cluster $auth --server=$values $host"]
foreach l $lst {
InsertItemsWorkList $l
}
@ -526,7 +546,7 @@ proc Run::work_server_licenses {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand work_server_processes::$values "process list --cluster=$active_cluster $auth --server=$values --licenses $host"]
set lst [RunCommand "process list --cluster=$active_cluster $auth --server=$values --licenses $host"]
foreach l $lst {
InsertItemsWorkList $l
}
@ -541,7 +561,7 @@ proc Run::managers {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand cluster::$values "manager list --cluster=$active_cluster $auth $host"]
set lst [RunCommand "manager list --cluster=$active_cluster $auth $host"]
foreach l $lst {
foreach i $l {
set server_list [split $i ":"]
@ -576,7 +596,7 @@ proc Run::manager {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand "" "service list --cluster=$active_cluster $auth $host"]
set lst [RunCommand "service list --cluster=$active_cluster $auth $host"]
foreach l $lst {
#puts $l
foreach i $l {
@ -598,11 +618,10 @@ proc Run::agent_admins {tree host values} {
set agent_auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand "" "agent admin list $agent_auth $host"]
set lst [RunCommand "agent admin list $agent_auth $host"]
foreach l $lst {
InsertItemsWorkList $l
}
return
}
proc Run::admins {tree host values} {
@ -614,13 +633,11 @@ proc Run::admins {tree host values} {
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [
RunCommand "" \
"cluster admin list $auth --cluster=$active_cluster $host"
RunCommand "cluster admin list $auth --cluster=$active_cluster $host"
]
foreach l $lst {
InsertItemsWorkList $l
}
return
}
proc Run::rule {tree host values} {
@ -631,7 +648,7 @@ proc Run::rule {tree host values} {
set auth ""
}
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
set lst [RunCommand "" "rule list --cluster=$active_cluster $auth --server=$values $host"]
set lst [RunCommand "rule list --cluster=$active_cluster $auth --server=$values $host"]
foreach l $lst {
#puts $l
@ -711,7 +728,7 @@ proc Add::agent_admin {tree host value} {
grid rowconfigure $frm 0 -weight 1
#set frm_btn [frame .add.frm_btn -border 0]
.add.frm_btn.btn_ok configure -command {
RunCommand "" "agent admin register \
RunCommand "agent admin register \
--name=[.add.frm.ent_name get] \
--pwd=[.add.frm.ent_pwd get] \
--descr=[.add.frm.ent_descr get] \
@ -736,7 +753,7 @@ proc Add::admin {tree host value} {
wm title .add "Добавление администратора кластера"
.add.frm configure -text "Добавление администратора кластера"
.add.frm_btn.btn_ok configure -command {
RunCommand "" "cluster admin register \
RunCommand "cluster admin register \
--name=[.add.frm.ent_name get] \
--pwd=[.add.frm.ent_pwd get] \
--descr=[.add.frm.ent_descr get] \
@ -850,7 +867,7 @@ proc Add::servers {tree host values} {
grid $frm.check_using -row 11 -column 1 -sticky nw -padx 5 -pady 5
.add.frm_btn.btn_ok configure -command {
RunCommand "" "server insert \
RunCommand "server insert \
--agent-host=[.add.frm.ent_agent_host get] \
--agent-port=[.add.frm.ent_agent_port get] \
--port-range=[.add.frm.ent_port_range get] \
@ -967,7 +984,7 @@ proc Add::infobases {tree host values} {
set db_create ""
}
RunCommand "" "infobase create $db_create \
RunCommand "infobase create $db_create \
--name=[.add.frm.ent_name get] \
--dbms=$dbms \
--db-server=[.add.frm.ent_db_server get] \
@ -1065,7 +1082,7 @@ proc Add::cluster {tree host values} {
grid $frm.check_kill_problem_processes -row 12 -column 1 -sticky nw -padx 5 -pady 5
.add.frm_btn.btn_ok configure -command {
RunCommand "" "cluster insert \
RunCommand "cluster insert \
--host=[.add.frm.ent_host get] \
--port=[.add.frm.ent_port get] \
--name=[.add.frm.ent_name get] \
@ -1129,7 +1146,7 @@ proc Add::rule {tree host values} {
grid $frm.ent_priority -row 4 -column 1 -sticky nsew -padx 5 -pady 5
.add.frm_btn.btn_ok configure -command {
RunCommand "" "rule insert \
RunCommand "rule insert \
--cluster=$active_cluster $auth \
--server=$server \
--position=0 \
@ -1208,7 +1225,7 @@ proc Add::profile {tree host values} {
.add.frm_btn.btn_ok configure -command {
RunCommand "" "profile update \
RunCommand "profile update \
--cluster=$active_cluster $auth \
--name=[.add.frm.ent_name get] \
--descr=[.add.frm.ent_descr get] \
@ -1221,7 +1238,7 @@ proc Add::profile {tree host values} {
--modules-available-for-extension=$modules_available_for_extension \
--modules-not-available-for-extension=$modules_not_available_for_extension \
$host"
Run::profiles $tree $host $server
Run::profiles $tree $host $active_cluster
destroy .add
}
return $frm
@ -1298,7 +1315,7 @@ proc Edit::cluster {tree host values} {
$frm configure -text "Редактирование кластера"
set active_cluster $values
set lst [RunCommand cluster::$values "cluster info --cluster=$active_cluster $host"]
set lst [RunCommand "cluster info --cluster=$active_cluster $host"]
FormFieldsDataInsert $frm $lst
@ -1306,7 +1323,7 @@ proc Edit::cluster {tree host values} {
$frm.ent_port configure -state disable
.add.frm_btn.btn_ok configure -command {
RunCommand "" "cluster update \
RunCommand "cluster update \
--cluster=$active_cluster $auth \
--name=[.add.frm.ent_name get] \
--expiration-timeout=$expiration_timeout \
@ -1325,20 +1342,7 @@ proc Edit::cluster {tree host values} {
}
}
proc Edit::infobases {tree host values} {
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "infobase" } {
set infobase [lindex $work_tree_values $i]
}
incr i
}
set infobase [GetWorkTreeItems "infobase"]
if {[info exists infobase] == 0 || $infobase eq ""} {
return
}
@ -1415,11 +1419,11 @@ proc Edit::infobase {tree host values} {
grid $frm.lbl_external_session_manager_required -row 9 -column 2 -sticky nw -padx 5 -pady 5
grid $frm.check_external_session_manager_required -row 9 -column 3 -sticky nw -padx 5 -pady 5
set lst [RunCommand infobase::$values "infobase info --cluster=$active_cluster --infobase=$values $auth $host"]
set lst [RunCommand "infobase info --cluster=$active_cluster --infobase=$values $auth $host"]
FormFieldsDataInsert $frm $lst
.add.frm_btn.btn_ok configure -command {
RunCommand "" "infobase update \
RunCommand "infobase update \
--infobase=$infobase \
--infobase-user= \
--infobase-pwd= \
@ -1447,20 +1451,7 @@ proc Edit::infobase {tree host values} {
}
}
proc Edit::servers {tree host values} {
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "server" } {
set work_server [lindex $work_tree_values $i]
}
incr i
}
set work_server [GetWorkTreeItems "server"]
if {[info exists work_server] == 0 || $work_server eq ""} {
return
}
@ -1480,7 +1471,7 @@ proc Edit::work_server {tree host values} {
set frm [Add::work_server $tree $host $values]
$frm configure -text "Редактирование рабочего сервера"
set lst [RunCommand cluster::$values "server info --cluster=$active_cluster $auth --server=$server $host"]
set lst [RunCommand "server info --cluster=$active_cluster $auth --server=$server $host"]
FormFieldsDataInsert $frm $lst
$frm.lbl_agent_port configure -state disable
@ -1493,7 +1484,7 @@ proc Edit::work_server {tree host values} {
$frm.ent_cluster_port configure -state disable
.add.frm_btn.btn_ok configure -command {
RunCommand "" "server update \
RunCommand "server update \
--server=$server \
--using=$using \
--infobases-limit=[.add.frm.ent_infobases_limit get] \
@ -1515,21 +1506,8 @@ proc Edit::rule {tree host values} {
} else {
set auth ""
}
set rule [GetWorkTreeItems "rule"]
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "rule" } {
set rule [lindex $work_tree_values $i]
}
incr i
}
if {[info exists rule] == 0 || $rule eq ""} {
return
}
@ -1538,12 +1516,12 @@ proc Edit::rule {tree host values} {
$frm configure -text "Редактирование требования назначения функциональности"
set lst [RunCommand "" "rule info --cluster=$active_cluster $auth --server=$server --rule=$rule $host"]
set lst [RunCommand "rule info --cluster=$active_cluster $auth --server=$server --rule=$rule $host"]
FormFieldsDataInsert $frm $lst
.add.frm_btn.btn_ok configure -command {
RunCommand "" "rule update \
RunCommand "rule update \
--cluster=$active_cluster $auth \
--server=$server \
--rule=$rule \
@ -1557,7 +1535,63 @@ proc Edit::rule {tree host values} {
destroy .add
}
}
proc Edit::profile {tree host values} {
global default active_cluster server agent_user agent_pwd cluster_user cluster_pwd auth
global config priv crypto right_extension right_extension_definition_roles \
all_modules_extension modules_available_for_extension modules_not_available_for_extension
if {$cluster_user ne "" && $cluster_pwd ne ""} {
set auth "--cluster-user=$cluster_user --cluster-pwd=$cluster_pwd"
} else {
set auth ""
}
if {$cluster_user ne "" && $cluster_pwd ne ""} {
set auth "--cluster-user=$cluster_user --cluster-pwd=$cluster_pwd"
} else {
set auth ""
}
set frm [Add::profile $tree $host $values]
$frm configure -text "Редактирование профиля безопасности: $values"
set work_tree_id [.frm_work.tree_work selection]
puts "$work_tree_id"
set work_tree_values_list [.frm_work.tree_work item $work_tree_id -values]
set column_list [.frm_work.tree_work cget -columns]
set l1 [llength $column_list]
set l2 [llength $work_tree_values_list]
if {$l1 == $l2} {
for {set i 0} {$i <= $l1 } {incr i} {
lappend lst "[lindex $column_list $i] : [lindex $work_tree_values_list $i]"
}
} else {
return
}
FormFieldsDataInsert $frm [list $lst]
.add.frm.ent_name configure -state disable
.add.frm_btn.btn_ok configure -command {
RunCommand "profile update \
--cluster=$active_cluster $auth \
--name=[.add.frm.ent_name get] \
--descr=[.add.frm.ent_descr get] \
--config=$config \
--priv=$priv \
--crypto=$crypto \
--right-extension=$right_extension \
--right-extension-definition-roles=$right_extension_definition_roles \
--all-modules-extension=$all_modules_extension \
--modules-available-for-extension=$modules_available_for_extension \
--modules-not-available-for-extension=$modules_not_available_for_extension \
$host"
Run::profiles $tree $host $active_cluster
destroy .add
}
}
proc Edit::profiles {tree host values} {
return
}
proc Del {} {
global active_cluster host
set tree .frm_tree.tree
@ -1598,7 +1632,7 @@ proc Del::admin {tree host values} {
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand "" "cluster admin remove --name=$values --cluster=$active_cluster $auth $host"]
set lst [RunCommand "cluster admin remove --name=$values --cluster=$active_cluster $auth $host"]
#.frm_tree.tree delete "admin::$values"
set cluster_user ""
set cluster_pwd ""
@ -1608,24 +1642,7 @@ proc Del::admin {tree host values} {
}
}
proc Del::admins {tree host values} {
global active_cluster
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "name" } {
set admin_id [lindex $work_tree_values $i]
set tree .frm_work.tree_work
}
incr i
}
Del::admin $tree $host $admin_id
Del::admin $tree $host [GetWorkTreeItems "name"]
}
proc Del::agent_admin {tree host values} {
@ -1640,7 +1657,7 @@ proc Del::agent_admin {tree host values} {
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand "" "agent admin remove --name=$values $agent_auth $host"]
set lst [RunCommand "agent admin remove --name=$values $agent_auth $host"]
#.frm_tree.tree delete "admin::$values"
set agent_user ""
set agent_pwd ""
@ -1651,24 +1668,7 @@ proc Del::agent_admin {tree host values} {
}
proc Del::agent_admins {tree host values} {
global active_cluster
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "name" } {
set admin_id [lindex $work_tree_values $i]
set tree .frm_work.tree_work
}
incr i
}
Del::agent_admin $tree $host $admin_id
Del::agent_admin $tree $host [GetWorkTreeItems "name"]
}
@ -1679,38 +1679,22 @@ proc Del::work_server {tree host values} {
} else {
set auth ""
}
set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "server remove --cluster=$active_cluster $auth --server=$values $host"]
set lst [RunCommand "server remove --cluster=$active_cluster $auth --server=$values $host"]
.frm_tree.tree delete "work_server::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
no {return}
}
}
proc Del::servers {tree host values} {
global active_cluster
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "server" } {
set work_server_id [lindex $work_tree_values $i]
set tree .frm_work.tree_work
}
incr i
}
Del::work_server $tree $host $work_server_id
Del::work_server $tree $host [GetWorkTreeItems "server"]
}
proc Del::cluster {tree host values} {
global agent_user agent_pwd cluster_user cluster_pwd auth
if {$cluster_user ne "" && $cluster_pwd ne ""} {
@ -1718,12 +1702,11 @@ proc Del::cluster {tree host values} {
} else {
set auth ""
}
set answer [tk_messageBox -message "Удалить кластер $values?" \
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "cluster remove --cluster=$values $auth $host"]
set lst [RunCommand "cluster remove --cluster=$values $auth $host"]
$tree delete "cluster::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
@ -1741,7 +1724,7 @@ proc Del::infobase {tree host values} {
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "infobase drop --infobase=$values --cluster=$active_cluster $auth $host"]
set lst [RunCommand "infobase drop --infobase=$values --cluster=$active_cluster $auth $host"]
$tree delete "infobase::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
@ -1749,27 +1732,9 @@ proc Del::infobase {tree host values} {
}
}
proc Del::infobases {tree host values} {
global active_cluster
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "infobase" } {
set values [lindex $work_tree_values $i]
set tree .frm_work.tree_work
}
incr i
}
#puts "$tree $host $values"
Del::infobase $tree $host $values
Del::infobase $tree $host [GetWorkTreeItems "infobase"]
}
proc Del::connections {tree host values} {
global active_cluster agent_user agent_pwd cluster_user cluster_pwd auth
if {$cluster_user ne "" && $cluster_pwd ne ""} {
@ -1778,32 +1743,14 @@ proc Del::connections {tree host values} {
set auth ""
}
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
#puts ">$work_tree_id >$work_tree_values"
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "connection" } {
set connection_id [lindex $work_tree_values $i]
}
if {$l eq "process" } {
set process_id [lindex $work_tree_values $i]
}
incr i
}
#puts "$connection_id $process_id"
set connection_id [GetWorkTreeItems "connection"]
set process_id [GetWorkTreeItems "process"]
set answer [tk_messageBox -message "Удалить соединение $connection_id?" \
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "connection disconnect --process=$process_id --connection=$connection_id --cluster=$active_cluster $auth $host"]
set lst [RunCommand "connection disconnect --process=$process_id --connection=$connection_id --cluster=$active_cluster $auth $host"]
#$tree delete "infobase::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
@ -1818,26 +1765,13 @@ proc Del::sessions {tree host values} {
} else {
set auth ""
}
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
set id [.frm_tree.tree selection]
set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "session" } {
set session_id [lindex $work_tree_values $i]
}
incr i
}
set session_id [GetWorkTreeItems "session"]
set answer [tk_messageBox -message "Прервать сессию $session_id?" \
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "session terminate --session=$session_id --cluster=$active_cluster $auth $host"]
set lst [RunCommand "session terminate --session=$session_id --cluster=$active_cluster $auth $host"]
#$tree delete "infobase::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
@ -1853,21 +1787,8 @@ proc Del::rule {tree host values} {
} else {
set auth ""
}
set rule_id [GetWorkTreeItems "rule"]
set work_tree_id [.frm_work.tree_work selection]
set work_tree_values [.frm_work.tree_work item $work_tree_id -values]
set id [.frm_tree.tree selection]
#set values [.frm_tree.tree item $id -values]
set key [lindex [split $id "::"] 0]
set column_list [.frm_work.tree_work cget -columns]
set i 0
# проверка соответсвия колонки в таблице и ключа в дереве
foreach l $column_list {
if {$l eq "rule" } {
set rule_id [lindex $work_tree_values $i]
}
incr i
}
if {[info exists rule_id] == 0 || $rule_id eq ""} {
return
}
@ -1876,7 +1797,7 @@ proc Del::rule {tree host values} {
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand infobase::$values "rule remove --server=$server --rule=$rule_id --cluster=$active_cluster $auth $host"]
set lst [RunCommand "rule remove --server=$server --rule=$rule_id --cluster=$active_cluster $auth $host"]
#$tree delete "infobase::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
}
@ -1890,12 +1811,10 @@ proc Del::server {tree host values} {
-icon question -type yesno ]
switch -- $answer {
yes {
#set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"]
file copy [file join $dir(work) 1c_srv.cfg] [file join $dir(work) 1c_srv.cfg.bak]
set orig_file [open [file join $dir(work) 1c_srv.cfg.bak] "r"]
set file [open [file join $dir(work) 1c_srv.cfg] "w"]
while {[gets $orig_file line] >=0 } {
#puts $line
if { $line ne "" && $line ne "$values"} {
puts $file $line
}
@ -1910,6 +1829,33 @@ proc Del::server {tree host values} {
no {return}
}
}
proc Del::profile {tree host values} {
global active_cluster agent_user agent_pwd cluster_user cluster_pwd auth
if {$cluster_user ne "" && $cluster_pwd ne ""} {
set auth "--cluster-user=$cluster_user --cluster-pwd=$cluster_pwd"
} else {
set auth ""
}
if {$agent_user ne "" && $agent_pwd ne ""} {
set agent_auth "--agent-user=$agent_user --agent-pwd=$agent_pwd"
} else {
set agent_auth ""
}
set answer [tk_messageBox -message "Удалить профиль безопасности $values?" \
-icon question -type yesno ]
switch -- $answer {
yes {
set lst [RunCommand "profile remove --name=$values --cluster=$active_cluster $auth $host"]
.frm_tree.tree delete "profile::$values"
.frm_work.tree_work delete [ .frm_work.tree_work children {}]
Run::profiles $tree $host $active_cluster
}
no {return}
}
}
proc Del::profiles {tree host values} {
Del::profile $tree $host [GetWorkTreeItems "name"]
}