Author: mzugec
Date: Tue Apr 21 09:29:28 2009
New Revision: 56867
URL: http://svn.opensuse.org/viewcvs/yast?rev=56867&view=rev
Log:
changed dialogs workflow to allow to edit authentication for
connection (fate#305306)
Modified:
trunk/iscsi-client/VERSION
trunk/iscsi-client/package/yast2-iscsi-client.changes
trunk/iscsi-client/src/IscsiClient.ycp
trunk/iscsi-client/src/IscsiClientLib.ycp
trunk/iscsi-client/src/dialogs.ycp
trunk/iscsi-client/src/widgets.ycp
trunk/iscsi-client/src/wizards.ycp
Modified: trunk/iscsi-client/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/VERSION?rev=56867&r1=56866&r2=56867&view=diff
==============================================================================
--- trunk/iscsi-client/VERSION (original)
+++ trunk/iscsi-client/VERSION Tue Apr 21 09:29:28 2009
@@ -1 +1 @@
-2.18.6
+2.18.7
Modified: trunk/iscsi-client/package/yast2-iscsi-client.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/package/yast2-iscsi-client.changes?rev=56867&r1=56866&r2=56867&view=diff
==============================================================================
--- trunk/iscsi-client/package/yast2-iscsi-client.changes (original)
+++ trunk/iscsi-client/package/yast2-iscsi-client.changes Tue Apr 21 09:29:28 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Apr 21 09:23:21 CEST 2009 - mzugec@suse.cz
+
+- changed dialogs workflow to allow to edit authentication for
+ connection (fate#305306)
+- 2.18.7
+
+-------------------------------------------------------------------
Mon Mar 16 15:20:15 CET 2009 - mzugec@suse.cz
- reload service when initiatorname is changed to re-read new value
Modified: trunk/iscsi-client/src/IscsiClient.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/IscsiClient.ycp?rev=56867&r1=56866&r2=56867&view=diff
==============================================================================
--- trunk/iscsi-client/src/IscsiClient.ycp (original)
+++ trunk/iscsi-client/src/IscsiClient.ycp Tue Apr 21 09:29:28 2009
@@ -108,11 +108,12 @@
foreach(string sess, IscsiClientLib::sessions, {
string target = splitstring(sess, " ")[1]:"";
string portal = splitstring(sess, " ")[0]:"";
- map auth = IscsiClientLib::getNode([portal, target]);
+ IscsiClientLib::currentRecord = [portal, target];
+ map auth = IscsiClientLib::getNode();
map new_target =
$["target": target,
"portal" : portal,
- "startup" : IscsiClientLib::getStartupStatus([portal, target]),
+ "startup" : IscsiClientLib::getStartupStatus(),
];
if (auth["authmethod"]:"None"=="None") new_target["authmethod"]="None";
else new_target = union(new_target, auth);
Modified: trunk/iscsi-client/src/IscsiClientLib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/IscsiClientLib.ycp?rev=56867&r1=56866&r2=56867&view=diff
==============================================================================
--- trunk/iscsi-client/src/IscsiClientLib.ycp (original)
+++ trunk/iscsi-client/src/IscsiClientLib.ycp Tue Apr 21 09:29:28 2009
@@ -12,6 +12,7 @@
global list <string> sessions = [];
global list <string> discovered = [];
global list <string> targets = [];
+global list<string> currentRecord = [];
// status of rcopen-iscsi service
boolean serviceStatus = false;
@@ -80,7 +81,7 @@
// use cache if available
if (size(config)==0){
config = (map) SCR::Read(.etc.iscsid.all);
- y2milestone("read config %1", config);
+ y2debug("read config %1", config);
}
return config["value"]:[];
}
@@ -109,8 +110,8 @@
}
-global map getNode(list<string> rec){
- map cmd = (map)SCR::Execute(.target.bash_output, "iscsiadm -S -m node -T $TARGET -p $IP", $["TARGET":rec[1]:"", "IP":rec[0]:""]);
+global map getNode(){
+ map cmd = (map)SCR::Execute(.target.bash_output, "iscsiadm -S -m node -T $TARGET -p $IP", $["TARGET":currentRecord[1]:"", "IP":currentRecord[0]:""]);
if (cmd["exit"]:0!=0) return $[];
map auth = $[];
foreach(string row, splitstring(cmd["stdout"]:"", "\n"), {
@@ -321,11 +322,11 @@
// delete deiscovered target from database
-global boolean deleteRecord(list<string> record){
+global boolean deleteRecord(){
boolean ret = true;
- y2milestone("Delete record %1", record);
+ y2milestone("Delete record %1", currentRecord);
- map retcode = (map)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2 --logout", record[1]:"", record[0]:""));
+ map retcode = (map)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2 --logout", currentRecord[1]:"", currentRecord[0]:""));
if (size(retcode["stderr"]:"")>0) return false;
readSessions();
@@ -333,10 +334,10 @@
}
// get (manual/onboot) status of target connecting
-global string getStartupStatus(list<string> record){
+global string getStartupStatus(){
string status = "";
- y2milestone("Getting status of record %1", record);
- map retcode = (map)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2", record[1]:"", record[0]:""));
+ y2milestone("Getting status of record %1", currentRecord);
+ map retcode = (map)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2", currentRecord[1]:"", currentRecord[0]:""));
if (size(retcode["stderr"]:"")>0) return "";
foreach(string row, splitstring(retcode["stdout"]:"", "\n"), {
if (issubstring(row, "node.conn[0].startup")){
@@ -344,14 +345,14 @@
break;
}
});
- y2milestone("Startup status for %1 is %2", record, status);
+ y2milestone("Startup status for %1 is %2", currentRecord, status);
return status;
}
// update authentication value
-global boolean setValue(list<string> record, string name, string value){
- y2milestone("set %1 for record %2", name, record);
- string command = sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=%3 --value=%4", record[1]:"", record[0]:"", name, value);
+global boolean setValue(string name, string value){
+ y2milestone("set %1 for record %2", name, currentRecord);
+ string command = sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=%3 --value=%4", currentRecord[1]:"", currentRecord[0]:"", name, value);
y2milestone("execute command - %1", command );
boolean ret = true;
map retcode = (map) SCR::Execute(.target.bash_output, command);
@@ -365,12 +366,12 @@
// check if given target is connected
-global boolean connected(list<string> rec, boolean check_ip){
-y2internal("check connected status for %1 with IP check:%2", rec, check_ip);
+global boolean connected(boolean check_ip){
+y2internal("check connected status for %1 with IP check:%2", currentRecord, check_ip);
boolean ret = false;
foreach(string row, sessions, {
list<string> list_row = splitstring(row, " ");
- if (list_row[1]:"" == rec[1]:"" && (check_ip ? splitstring(list_row[0]:"", ",")[0]:"" == splitstring(rec[0]:"", ",")[0]:"" : true)){
+ if (list_row[1]:"" == currentRecord[1]:"" && (check_ip ? splitstring(list_row[0]:"", ",")[0]:"" == splitstring(currentRecord[0]:"", ",")[0]:"" : true)){
ret = true;
break;
}
@@ -379,15 +380,16 @@
}
// change startup status (manual/onboot) for target
-global boolean setStartupStatus(list<string> record, string status){
- y2milestone("Set startup status for %1 to %2", record, status);
+global boolean setStartupStatus(string status){
+ y2milestone("Set startup status for %1 to %2", currentRecord, status);
boolean ret = true;
map retcode = (map) SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.conn[0].startup --value=%3", record[1]:"", record[0]:"", status));
+ sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.conn[0].startup --value=%3", currentRecord[1]:"", currentRecord[0]:"", status));
if (size(retcode["stderr"]:"")>0) return false;
else retcode = (map) SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.startup --value=%3", record[1]:"", record[0]:"", status));
+ sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.startup --value=%3", currentRecord[1]:"", currentRecord[0]:"", status));
+y2internal("retcode %1", retcode);
return ret;
}
@@ -426,37 +428,38 @@
return true;
}
*/
+
global boolean loginIntoTarget(map target){
- list<string> curr_rec = [target["portal"]:"", target["target"]:""];
+ currentRecord = [target["portal"]:"", target["target"]:""];
if (target["authmethod"]:"None"!="None"){
string user_in = target["username_in"]:"";
string pass_in = target["password_in"]:"";
if (size(user_in)>0 && size(pass_in)>0){
- setValue(curr_rec, "node.session.auth.username_in", user_in);
- setValue(curr_rec, "node.session.auth.password_in", pass_in);
+ setValue("node.session.auth.username_in", user_in);
+ setValue("node.session.auth.password_in", pass_in);
} else{
- setValue(curr_rec, "node.session.auth.username_in", "");
- setValue(curr_rec, "node.session.auth.password_in", "");
+ setValue("node.session.auth.username_in", "");
+ setValue("node.session.auth.password_in", "");
}
string user_out = target["username"]:"";
string pass_out = target["password"]:"";
if (size(user_out)>0 && size(pass_out)>0){
- setValue(curr_rec, "node.session.auth.username", user_out);
- setValue(curr_rec, "node.session.auth.password", pass_out);
- setValue(curr_rec, "node.session.auth.authmethod", "CHAP");
+ setValue("node.session.auth.username", user_out);
+ setValue("node.session.auth.password", pass_out);
+ setValue("node.session.auth.authmethod", "CHAP");
} else {
- setValue(curr_rec, "node.session.auth.username", "");
- setValue(curr_rec, "node.session.auth.password", "");
- setValue(curr_rec, "node.session.auth.authmethod", "");
+ setValue("node.session.auth.username", "");
+ setValue("node.session.auth.password", "");
+ setValue("node.session.auth.authmethod", "");
}
- } else setValue(curr_rec, "node.session.auth.authmethod", "None");
+ } else setValue("node.session.auth.authmethod", "None");
map output = (map)SCR::Execute(.target.bash_output,
sformat("iscsiadm -m node -T %1 -p %2 --login", target["target"]:"", target["portal"]:""));
y2internal("output %1", output);
// if (output["exit"]:-1==0){
// set startup status to auto by default (bnc#400610)
- if (!Mode::autoinst()) setStartupStatus(curr_rec, "onboot");
+ if (!Mode::autoinst()) setStartupStatus("onboot");
return true;
/*
} else {
@@ -524,7 +527,8 @@
foreach(map target, ay_settings["targets"]:[], {
y2internal("login into target %1", target);
loginIntoTarget(target);
- setStartupStatus([target["portal"]:"", target["target"]:""], target["startup"]:"manual");
+ currentRecord = [target["portal"]:"", target["target"]:""];
+ setStartupStatus(target["startup"]:"manual");
});
return true;
}
Modified: trunk/iscsi-client/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/dialogs.ycp?rev=56867&r1=56866&r2=56867&view=diff
==============================================================================
--- trunk/iscsi-client/src/dialogs.ycp (original)
+++ trunk/iscsi-client/src/dialogs.ycp Tue Apr 21 09:29:28 2009
@@ -80,8 +80,9 @@
),
`Left(`HBox(
`PushButton(`id(`add), _("Add")),
- `PushButton(`id(`del), _("Log Out")),
- `PushButton(`id(`toggle), _("Toggle Start-Up"))
+ `PushButton(`id(`edit), _("Edit")),
+ `PushButton(`id(`del), _("Log Out"))
+// `PushButton(`id(`toggle), _("Toggle Start-Up"))
))
),
"init" : initConnectedTable,
@@ -133,22 +134,24 @@
"widget" : `custom,
"custom_widget" :
`VBox(
- `Left( `CheckBox(`id(`auth_none),`opt(`notify), _("No Authentication"), true) ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_in),`opt(`notify), _("Incoming Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_in), _("Username")), `Password(`id(`pass_in), _("Password"))
- ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_out),`opt(`notify), _("Outgoing Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_out), _("Username")), `Password(`id(`pass_out), _("Password"))
- )
+ `CheckBoxFrame(`id(`auth_none), `opt(`invertAutoEnable), _("No Authentication"), true ,
+ `VBox(
+ `Left(`Label(_("Incoming Authentication"))),
+ `HBox(
+ `TextEntry(`id(`user_in), _("Username")), `Password(`id(`pass_in), _("Password"))
+ ),
+ `VSpacing(2),
+ `Left( `Label(_("Outgoing Authentication"))),
+ `HBox(
+ `TextEntry(`id(`user_out), _("Username")), `Password(`id(`pass_out), _("Password"))
+ )
+ )
+ )
),
"init" : initDiscAuth,
- "handle" : handleDiscAuth,
- "validate_type" : `function,
- "validate_function" : validateDiscAuth,
+// "handle" : handleDiscAuth,
+// "validate_type" : `function,
+// "validate_function" : validateDiscAuth,
"help" : HELPS["conn_auth"]:""
],
@@ -157,25 +160,37 @@
"widget" : `custom,
"custom_widget" :
`VBox(
- `Left( `CheckBox(`id(`auth_none),`opt(`notify), _("No Authentication"), true) ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_in),`opt(`notify), _("Incoming Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_in), _("Username")), `Password(`id(`pass_in), _("Password"))
- ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_out),`opt(`notify), _("Outgoing Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_out), _("Username")), `Password(`id(`pass_out), _("Password"))
- )
+ `CheckBoxFrame(`id(`auth_none),`opt(`invertAutoEnable), _("No Authentication"), true,
+ `VBox(
+ `Left( `Label(_("Incoming Authentication")) ),
+ `HBox(
+ `TextEntry(`id(`user_in), _("Username")), `Password(`id(`pass_in), _("Password"))
+ ),
+ `VSpacing(2),
+ `Left( `Label(_("Outgoing Authentication")) ),
+ `HBox(
+ `TextEntry(`id(`user_out), _("Username")), `Password(`id(`pass_out), _("Password"))
+ )
+ )
+ )
),
"init" : initConnAuth,
- "handle" : handleDiscAuth,
+// "handle" : handleDiscAuth,
"validate_type" : `function,
"validate_function" : validateConnAuth,
"help" : HELPS["conn_auth"]:""
],
+ "startup" : $[
+ "widget" : `combobox,
+ "opt" : [`hstretch, `notify],
+ "label" : _("Startup"),
+ "items" : [
+ ["manual", "manual"],
+ ["onboot", "onboot"],
+ ["automatic", "automatic"]
+ ]
+ ],
// widget for portal address
"server_location" : $[
"widget" : `custom,
@@ -363,7 +378,7 @@
any ConnAuthDialog(string return_to){
current_tab = return_to;
string caption = _("iSCSI Initiator Discovery");
- list