From 12fa21fe296a927143644e8ce9b9470ad87adebc Mon Sep 17 00:00:00 2001
From: Sergey Kalinin <banzaj28@yandex.ru>
Date: Fri, 20 Jul 2018 10:55:47 +0300
Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?=
 =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82?=
 =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=8D=D0=BB?=
 =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80=D0=BE?=
 =?UTF-8?q?=D1=84=D0=B8=D0=BB=D1=8F=20=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0?=
 =?UTF-8?q?=D1=81=D0=BD=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 | 50 ++++++++++++++++++++++++++++++++++++------------
 1 file changed, 38 insertions(+), 12 deletions(-)

diff --git a/lib/function.tcl b/lib/function.tcl
index 9a96fe3..1c90be5 100644
--- a/lib/function.tcl
+++ b/lib/function.tcl
@@ -299,6 +299,22 @@ proc GetWorkTreeItems {par} {
     return $item_id
 }
 
+proc GetWorkTreeRow {} {
+    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
+    }
+    return $lst
+}
 namespace eval Run {} {}
 # Получение данных по кластерам
 
@@ -1345,7 +1361,7 @@ proc Add::addin {tree host values} {
     foreach v $var_list {set $v "no"; puts $v}
     unset var_list
     
-    set frm [AddToplevel "Компонента" addin_grey_64]
+    set frm [AddToplevel "Внешняя компонента" addin_grey_64]
     
     label $frm.lbl_name -text "Имя"
     entry $frm.ent_name
@@ -1909,22 +1925,37 @@ proc Edit::profiles {tree host values} {
 }
 
 proc Edit::directory {tree host values} {
-    return
+    global default active_cluster profile_name \
+    agent_user agent_pwd cluster_user cluster_pwd auth
+    set lst [GetWorkTreeRow]
+    set frm [Add::directory $tree $host $profile_name]
+    $frm configure -text "Редактирование виртуального каталога"
+    FormFieldsDataInsert $frm [list $lst]
+    $frm.ent_alias configure -state disable
 }
 proc Edit::addin {tree host values} {
-    return
+    Edit::acl $tree $host addin "Редактирование внешней компоненты"
 }
 proc Edit::module {tree host values} {
-    return
+    Edit::acl $tree $host module "Редактирование"
 }
 proc Edit::com {tree host values} {
-    return
+    Edit::acl $tree $host com "Редактирование COM-класса"
 }
 proc Edit::app {tree host values} {
-    return
+    Edit::acl $tree $host app "Редактирование приложения"
 }
 proc Edit::inet {tree host values} {
-    return
+    Edit::acl $tree $host inet "Редактирование ссылки"
+}
+proc Edit::acl {tree host item descr} {
+    global default active_cluster profile_name \
+    agent_user agent_pwd cluster_user cluster_pwd auth
+    set lst [GetWorkTreeRow]
+    set frm [Add::$item $tree $host $profile_name]
+    $frm configure -text $descr
+    FormFieldsDataInsert $frm [list $lst]
+    $frm.ent_name configure -state disable
 }
 
 proc Del {} {
@@ -2242,8 +2273,3 @@ proc Del::app {tree host profile_name} {
 proc Del::inet {tree host profile_name} {
     Del::acl $host inet [GetWorkTreeItems "name"] $profile_name
 }
-
-
-
-
-