From c8151f3b161892cf3df465699602f86e885fc005 Mon Sep 17 00:00:00 2001 From: Sergey Kalinin Date: Mon, 25 Jun 2018 08:09:07 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=20=D1=84=D1=83=D0=BD=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20RunCommand.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/function.tcl | 88 ++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/lib/function.tcl b/lib/function.tcl index 0c7bcda..e9e4eb5 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -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 { @@ -281,7 +281,7 @@ 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 +316,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 +336,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 +369,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 +385,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 +400,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 +425,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 +462,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 +478,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 +513,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 +526,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 +541,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 +576,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 +598,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 +613,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 +628,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 +708,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] \ @@ -734,7 +731,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] \ @@ -848,7 +845,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] \ @@ -965,7 +962,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] \ @@ -1063,7 +1060,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] \ @@ -1126,7 +1123,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 \ @@ -1205,7 +1202,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] \ @@ -1295,7 +1292,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 @@ -1303,7 +1300,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 \ @@ -1412,11 +1409,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= \ @@ -1477,7 +1474,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 @@ -1490,7 +1487,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] \ @@ -1535,12 +1532,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 \ @@ -1595,7 +1592,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 "" @@ -1637,7 +1634,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 "" @@ -1681,7 +1678,7 @@ proc Del::work_server {tree host 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 {}] } @@ -1720,7 +1717,7 @@ proc Del::cluster {tree host 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 {}] } @@ -1738,7 +1735,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 {}] } @@ -1800,7 +1797,7 @@ proc Del::connections {tree host values} { -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 {}] } @@ -1834,7 +1831,7 @@ proc Del::sessions {tree host values} { -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 {}] } @@ -1873,7 +1870,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 {}] } @@ -1887,12 +1884,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 } @@ -1908,4 +1903,3 @@ proc Del::server {tree host values} { } } - From 234ad208fb1fc0b1628d958946d612ed46a19da9 Mon Sep 17 00:00:00 2001 From: Sergey Kalinin Date: Mon, 25 Jun 2018 08:41:32 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20Get?= =?UTF-8?q?WorkTreeItems?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/function.tcl | 200 ++++++++--------------------------------------- 1 file changed, 34 insertions(+), 166 deletions(-) diff --git a/lib/function.tcl b/lib/function.tcl index e9e4eb5..11a3b77 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -277,6 +277,26 @@ 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 {} {} # Получение данных по кластерам @@ -1319,20 +1339,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 } @@ -1441,20 +1448,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 } @@ -1509,21 +1503,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 } @@ -1602,24 +1583,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} { @@ -1645,24 +1609,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"] } @@ -1673,7 +1620,6 @@ proc Del::work_server {tree host values} { } else { set auth "" } - set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \ -icon question -type yesno ] switch -- $answer { @@ -1685,26 +1631,11 @@ proc Del::work_server {tree host values} { 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 ""} { @@ -1712,7 +1643,6 @@ proc Del::cluster {tree host values} { } else { set auth "" } - set answer [tk_messageBox -message "Удалить кластер $values?" \ -icon question -type yesno ] switch -- $answer { @@ -1743,27 +1673,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 ""} { @@ -1772,26 +1684,8 @@ 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 ] @@ -1812,20 +1706,7 @@ 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 ] @@ -1847,21 +1728,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 } From 4195f8e3758e2370a8b4f96bb71c3f2d3ad3f48c Mon Sep 17 00:00:00 2001 From: Sergey Kalinin Date: Mon, 25 Jun 2018 10:25:17 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D0=B4=D1=83=D1=80?= =?UTF-8?q?=D1=8B=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B8=20=D1=83=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/function.tcl | 88 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/lib/function.tcl b/lib/function.tcl index 11a3b77..4f18e48 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -1235,7 +1235,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 @@ -1532,7 +1532,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 @@ -1770,4 +1826,32 @@ 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"] +} +