Author: fehr
Date: Wed Apr 4 19:41:40 2012
New Revision: 67860
URL: http://svn.opensuse.org/viewcvs/yast?rev=67860&view=rev
Log:
update for backup purposes
Modified:
branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/dialogs.ycp
branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/widgets.ycp
Modified: branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/dialogs.ycp?rev=67860&r1=67859&r2=67860&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/dialogs.ycp Wed Apr 4 19:41:40 2012
@@ -117,8 +117,7 @@
`PushButton(`id(`add), _("Add")),
`PushButton(`id(`edit), _("Edit")),
`PushButton(`id(`delete), _("Delete"))
- )),
- `Left( `PushButton(`id(`expert),`opt(`disabled), _("Expert Settings")) )
+ ))
)),
`HWeight( 2, `Empty() ))
Modified: branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/widgets.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/widgets.ycp?rev=67860&r1=67859&r2=67860&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/widgets.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/iscsi-lio-server/src/widgets.ycp Wed Apr 4 19:41:40 2012
@@ -4,6 +4,8 @@
import "IscsiServerFunctions";
import "IscsiLioData";
import "Label";
+import "Event";
+import "ContextMenu";
import "IP";
// **************** global funcions and variables *****
string curr_target = "";
@@ -62,16 +64,16 @@
}
term lun_dialog =
`VBox(
- `Left( `InputField( `id( `lun ), `opt(`hstretch), "LUN", previous[1]:lun_def ) ),
+ `Left( `InputField( `id( `lun ), `opt(`hstretch), _("LUN"), previous[1]:lun_def ) ),
`VSpacing(1),
`HBox(
`InputField( `id( `path ), `opt(`hstretch), _("Path:"), previous[3]:""),
`VBox( `Label(""), `PushButton(`id(`browse), _("Browse")))),
`InputField( `id( `name ), `opt(`hstretch), "Name (autogenerated when empty):", previous[2]:"" ),
`VSpacing(1),
- `Left( `HBox(
+ `ButtonBox(
`PushButton(`id(`ok), `opt(`default), Label::OKButton() ),
- `PushButton(`id(`cancel), Label::CancelButton() )))
+ `PushButton(`id(`cancel), Label::CancelButton() ))
);
UI::OpenDialog(lun_dialog);
UI::ChangeWidget(`id(`lun), `ValidChars, "0123456789" );
@@ -116,6 +118,122 @@
return ret;
}
+integer TpgIdFromTpgItem( string s )
+ {
+ integer val = tointeger(s);
+ if( val==nil )
+ val = -1;
+ return( val );
+ }
+
+string TpgItemFromTpgId( integer i )
+ {
+ return( (i>=0) ? tostring(i) : "-" );
+ }
+
+void ChangeTpgItems( integer id, integer value, list<term>& items )
+ {
+ y2milestone( "ChangeTpgItems id:%1 value:%2", id, value );
+ term it = items[id]:`Empty();
+ it[2] = TpgItemFromTpgId( value );
+ items[id] = it;
+ }
+
+map LUNMapDialog( string clnt )
+ {
+ y2milestone( "LUNMapDialog clnt:%1", clnt );
+ map lmap = IscsiLioData::GetClntLun( curr_target, curr_tpg, clnt );
+ y2milestone( "LUNMapDialog map:%1", lmap );
+ list<integer> ll = maplist( integer l, integer d, lmap, ``(l));
+ list<term> lt = maplist( integer l, map d, IscsiLioData::GetLun(curr_target,curr_tpg),
+ ``(`item(`id(l),tostring(l))));
+ lt = add( lt, `item(`id(-1),"-"));
+ integer mx = 0;
+ if( ll[size(ll)-1]:0 > mx )
+ mx = ll[size(ll)-1]:0;
+ integer i = 0;
+ list<term> items = [];
+ while( i<=mx )
+ {
+ items = add( items, `item( `id(i), tostring(i), haskey(lmap,i)?tostring(lmap[i]:99):"-" ));
+ i=i+1;
+ }
+ y2milestone( "LUNMapDialog items:%1", items );
+ term lun_dialog =
+ `VBox(
+ `MinHeight( 10, `Table(`id(`lun), `opt(`immediate,`notify,`notifyContextMenu),
+ `header(_("Client Lun"), _("Target LUN")),
+ items )),
+ `Left( `HBox(
+ `PushButton(`id(`add), _("Add") ),
+ `PushButton(`id(`delete), _("Delete") ),
+ `Label(_("Change:")), `ComboBox(`id(`change), `opt(`notify), "", lt ))),
+ `ButtonBox(
+ `PushButton(`id(`ok), `opt(`default), Label::OKButton() ),
+ `PushButton(`id(`cancel), Label::CancelButton() ))
+ );
+ UI::OpenDialog(lun_dialog);
+ UI::ChangeWidget(`id(`change), `Value, TpgIdFromTpgItem(items[0,2]:"-") );
+ symbol sym = `nil;
+ while(sym != `ok && sym !=`cancel)
+ {
+ map ev = UI::WaitForEvent();
+ sym = Event::IsWidgetActivatedOrSelectionChanged(ev);
+ if( sym==nil )
+ sym = Event::IsWidgetValueChanged(ev);
+ if( sym==nil )
+ sym = Event::IsWidgetContextMenuActivated(ev);
+ y2milestone( "LUNMapDialog event:%1", ev );
+ y2milestone( "LUNMapDialog isCtxt:%1 sym:%2", Event::IsWidgetContextMenuActivated(ev), sym );
+ if(sym==`lun)
+ {
+ integer id = (integer)UI::QueryWidget(`lun,`CurrentItem);
+ y2milestone( "LUNMapDialog id:%1 item:%2", id, items[id]:nil );
+ if( Event::IsWidgetContextMenuActivated(ev)!=nil )
+ {
+ UI::OpenContextMenu(`menu(lt));
+ integer value = (integer)UI::UserInput();
+ ChangeTpgItems( id, value, items );
+ UI::ChangeWidget(`id(`lun), `Items, items );
+ UI::ChangeWidget(`id(`lun), `CurrentItem, id );
+ UI::ChangeWidget(`id(`change), `Value, value );
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`change), `Value, TpgIdFromTpgItem(items[id,2]:"-") );
+ }
+ }
+ else if( sym==`add )
+ {
+ }
+ else if( sym==`delete )
+ {
+ }
+ else if( sym==`change )
+ {
+ integer id = (integer)UI::QueryWidget(`lun,`CurrentItem);
+ integer value = (integer)UI::QueryWidget(`change,`Value);
+ if( id!=nil && id lmap )
+ {
+ string s = "";
+ foreach( integer l1, integer l2, lmap,
+ {
+ if(!isempty(s))
+ s = s + "-";
+ s = s + sformat("%1:%2",l1,l2);
+ });
+ return( s );
+ }
+
void initClient(string key)
{
y2milestone( "initClient %1 %2", curr_target, curr_tpg );
@@ -689,13 +819,8 @@
}
string lun = "";
map lmap = IscsiLioData::GetClntLun( curr_target, curr_tpg, s );
- foreach( integer l1, integer l2, lmap,
- {
- if(!isempty(lun))
- lun = lun + "-";
- lun = lun + sformat("%1:%2",l1,l2);
- });
- inc_items = add( inc_items, `item(`id(size(inc_items)), s, lun, auth));
+ string luns = GetLunList( IscsiLioData::GetClntLun( curr_target, curr_tpg, s ) );
+ inc_items = add( inc_items, `item(`id(size(inc_items)), s, luns, auth));
});
UI::ChangeWidget(`id(`clnt_table), `Items, inc_items);
}
@@ -721,20 +846,24 @@
y2milestone("handleClient: Delete canceled");
}
break;
- case `edit:
- list<term> items = (list<term>)UI::QueryWidget(`clnt_table, `Items);
+ case `edit_lun:
integer edit_pos=tointeger(UI::QueryWidget(`clnt_table, `CurrentItem));
- y2milestone( "handleClient pos:%1 items:%2", edit_pos, items );
- term ret = LUNDetailDialog( edit_pos, items );
- y2milestone( "handleClient ret:%1 em:%2 eq:%3", ret, `Empty(), ret!=`Empty() );
- if( ret!=`Empty() )
+ list<term> items = (list<term>)UI::QueryWidget(`clnt_table, `Items);
+ term it = items[edit_pos]:`Empty();
+ string s = it[1]:"";
+ y2milestone( "handleClient pos:%1 clnt:%2", edit_pos, s );
+ map lm = LUNMapDialog( s );
+ y2milestone( "handleClient lun_map:%1", lm );
+ if( lm!=nil )
{
- items[edit_pos]=ret;
+ it[2] = GetLunList(lm);
+ items[edit_pos] = it;
UI::ChangeWidget(`clnt_table, `Items, items);
UI::ChangeWidget(`clnt_table, `CurrentItem, edit_pos);
}
break;
case `add:
+ /*
items = (list<term>)UI::QueryWidget(`clnt_table, `Items);
ret = LUNDetailDialog( -1, items );
if( ret!=`Empty() )
@@ -743,14 +872,16 @@
UI::ChangeWidget(`clnt_table, `Items, items);
UI::ChangeWidget(`clnt_table, `CurrentItem, size(items)-1);
}
+ */
break;
}
}
boolean enab = !isempty((list)UI::QueryWidget(`clnt_table, `Items));
UI::ChangeWidget(`edit_lun, `Enabled, enab);
- UI::ChangeWidget(`edit_auth, `Enabled, enab);
UI::ChangeWidget(`delete, `Enabled, enab);
UI::ChangeWidget(`copy, `Enabled, enab);
+ enab = enab && IscsiLioData::GetTpgAuth( curr_target, curr_tpg );
+ UI::ChangeWidget(`edit_auth, `Enabled, enab);
}
boolean validateClient(string key, map event)
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org