[yast-commit] r39215 - in /trunk/kerberos-server/src: KerberosServer.pm advanced_items.ycp

Author: mcalmer Date: Fri Jul 6 15:16:34 2007 New Revision: 39215 URL: http://svn.opensuse.org/viewcvs/yast?rev=39215&view=rev Log: add special widget for default_principal_expiration Modified: trunk/kerberos-server/src/KerberosServer.pm trunk/kerberos-server/src/advanced_items.ycp Modified: trunk/kerberos-server/src/KerberosServer.pm URL: http://svn.opensuse.org/viewcvs/yast/trunk/kerberos-server/src/KerberosServe... ============================================================================== --- trunk/kerberos-server/src/KerberosServer.pm (original) +++ trunk/kerberos-server/src/KerberosServer.pm Fri Jul 6 15:16:34 2007 @@ -2381,6 +2381,59 @@ return $out; } +BEGIN { $TYPEINFO{decodeDateTime} = ["function", ["list", "string"], "string"]; } +sub decodeDateTime +{ + my $class = shift; + my $datetime = shift; + + my $date = ""; + my $time = ""; + # convert the datetime format "yyyymmddhhmmss" => "yyy-mm-dd", "hh:mm:ss" + if($datetime =~ /^\s*(\d\d\d\d)\.?(\d\d)\.?(\d\d)\.?(\d\d)\.?(\d\d)\.?(\d\d)\s*/) + { + $date = sprintf("%04d-%02d-%02d",$1, $2, $3); + $time = sprintf("%02d:%02d:%02d",$4, $5, $6); + } + return ["$date","$time"]; +} + +BEGIN { $TYPEINFO{encodeDateTime} = ["function", "string", "string", "string"]; } +sub encodeDateTime +{ + my $class = shift; + my $date = shift || undef; + my $time = shift || undef; + + my $datetime = ""; + + if(!defined $date || !defined $time) + { + return "20070101000000"; + } + + if($date =~ /^\s*(\d\d\d\d)-(\d\d)-(\d\d)\s*$/) + { + $datetime .= sprintf("%04d%02d%02d",$1, $2, $3); + } + else + { + $datetime = "20070101000000"; + } + + if($time =~ /^\s*(\d\d):(\d\d):(\d\d)\s*$/) + { + $datetime .= sprintf("%02d%02d%02d",$1, $2, $3); + } + else + { + $datetime = "20070101000000"; + } + return $datetime; +} + + + sub encodeTime { my $class = shift; @@ -2426,6 +2479,8 @@ return $time; } + + sub toKdb5UtilTime { my $class = shift; Modified: trunk/kerberos-server/src/advanced_items.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/kerberos-server/src/advanced_item... ============================================================================== --- trunk/kerberos-server/src/advanced_items.ycp (original) +++ trunk/kerberos-server/src/advanced_items.ycp Fri Jul 6 15:16:34 2007 @@ -68,15 +68,45 @@ // ################################################################################# define void get_adv_default_principal_expiration() ``{ - y2debug("calling get_adv_default_principal_expiration"); + y2milestone("calling get_adv_default_principal_expiration"); - UI::ChangeWidget(`id(`id_default_principal_expiration), `Value, KerberosServer::getDBvalue("default_principal_expiration")); + string datetime = KerberosServer::getDBvalue("default_principal_expiration"); + + y2milestone("get: datetime = %1", datetime); + + UI::ChangeWidget(`id(`id_default_principal_expiration_available), `Value, (datetime == "")?false:true); + + list<string> dt = KerberosServer::decodeDateTime(datetime); + + UI::ChangeWidget(`id(`id_default_principal_expiration_date), `Value, dt[0]:"2007-01-01"); + UI::ChangeWidget(`id(`id_default_principal_expiration_time), `Value, dt[1]:"00:00:00"); + + UI::ChangeWidget(`id(`id_default_principal_expiration_date), + `Enabled, (KerberosServer::getDBvalue("default_principal_expiration") == "")?false:true); + UI::ChangeWidget(`id(`id_default_principal_expiration_time), + `Enabled, (KerberosServer::getDBvalue("default_principal_expiration") == "")?false:true); } define void set_adv_default_principal_expiration() ``{ - y2debug("calling set_adv_default_principal_expiration"); - - KerberosServer::setDBvalue("default_principal_expiration",(string) UI::QueryWidget(`id(`id_default_principal_expiration), `Value)); + y2milestone("calling set_adv_default_principal_expiration"); + + if((boolean) UI::QueryWidget(`id(`id_default_principal_expiration_available), `Value) == false) + { + y2milestone("checkbox is off"); + KerberosServer::setDBvalue("default_principal_expiration", ""); + } + else + { + y2milestone("checkbox is on"); + string Date = (string) UI::QueryWidget(`id(`id_default_principal_expiration_date), `Value); + string Time = (string) UI::QueryWidget(`id(`id_default_principal_expiration_time), `Value); + + string datetime = KerberosServer::encodeDateTime(Date, Time); + + y2milestone("set: datetime = %1", datetime); + + KerberosServer::setDBvalue("default_principal_expiration", datetime); + } } // ################################################################################# @@ -757,12 +787,23 @@ ], `default_principal_expiration : $["name" : _("Default Principal Expiration"), "widget" : `Frame ("", - `VBox(`TextEntry(`id(`id_default_principal_expiration),"", - KerberosServer::getDBvalue("default_principal_expiration")), + `VBox(`Left(`CheckBox(`id(`id_default_principal_expiration_available), `opt(`notify), + // checkbox text + _("Available"), true)), + `HBox(`Date(`id(`id_default_principal_expiration_date), + _("Date")), + `Time(`id(`id_default_principal_expiration_time), + _("Time")) + ), + /* + + `TextEntry(`id(`id_default_principal_expiration),"", + KerberosServer::getDBvalue("default_principal_expiration")), */ `VSpacing(1.5), `RichText( HELPS["adv_default_principal_expiration"]:"") ) ), + "default" : ``(get_adv_default_principal_expiration()), "getCallback" : ``(get_adv_default_principal_expiration()), "setCallback" : ``(set_adv_default_principal_expiration()) ], -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
mcalmer@svn.opensuse.org