Martin Vidner write:
> On Tue, Jun 14, 2011 at 12:53:18PM -0000, [email protected] wrote:
> > Author: jreidinger
> > Date: Tue Jun 14 14:53:17 2011
> > New Revision: 64348
> > 
> > URL: http://svn.opensuse.org/viewcvs/yast?rev=64348&view=rev
> > Log:
> > merge SP1 features to ca management
> > 
> > Modified:
> >     trunk/ca-management/   (props changed)
> >     trunk/ca-management/VERSION
> >     trunk/ca-management/package/yast2-ca-management.changes
> >     trunk/ca-management/src/CaMgm.ycp
> >     trunk/ca-management/src/ca_mgm_proposal.ycp
> >     trunk/ca-management/src/ca_select_proposal.ycp
> >     trunk/ca-management/src/new_cert_read_write.ycp
> > 
> > Modified: trunk/ca-management/VERSION
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/VERSION?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/VERSION (original)
> > +++ trunk/ca-management/VERSION Tue Jun 14 14:53:17 2011
> > @@ -1 +1 @@
> > -2.21.0
> > +2.21.1
> > 
> > Modified: trunk/ca-management/package/yast2-ca-management.changes
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/package/yast2-ca-management.changes?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/package/yast2-ca-management.changes (original)
> > +++ trunk/ca-management/package/yast2-ca-management.changes Tue Jun 14 
> > 14:53:17 2011
> > @@ -1,4 +1,12 @@
> >  -------------------------------------------------------------------
> > +Tue Jun 14 13:02:34 CEST 2011 - [email protected]
> > +
> > +- version 2.21.1
> > +- country selection combobox is editable to allow choose of
> 
> choosing
> 
> > +  countries not listed there (FATE#310179)
> > +- allow to change altarnative name in CA proposal (FATE#308423)
> 
> alternative

thanks for review. I am not sure if I can backwards change changelog

> 
> > +
> > +-------------------------------------------------------------------
> >  Fri Apr 29 11:32:34 CEST 2011 - [email protected]
> >  
> >  - version 2.21.0
> > 
> > Modified: trunk/ca-management/src/CaMgm.ycp
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/CaMgm.ycp?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/src/CaMgm.ycp (original)
> > +++ trunk/ca-management/src/CaMgm.ycp Tue Jun 14 14:53:17 2011
> > @@ -136,6 +136,7 @@
> >  global symbol   prop_selection = `def; // `none, `disk
> >  
> >  global list<map> prop_subject_alt_name_list = [];
> > +global boolean     prop_adv_cri_issuer_alt_name = false;
> 
> bbrvtns! i lv bbrvtns!
> f ths s prt f xstng cnvntn (*sgh*) , plz dd cmmnt, lk:
> // property: advanced criminal issuer altimeter name

It is not my code and I implement there just feature (and don't plan maintain 
it :), so I follow existing style to be consistent. Actually this variable is 
prop_<global variable name>

> 
> >  
> >  global boolean adv_subject_alt_name_show_email = false;
> >  
> > 
> > Modified: trunk/ca-management/src/ca_mgm_proposal.ycp
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/ca_mgm_proposal.ycp?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/src/ca_mgm_proposal.ycp (original)
> > +++ trunk/ca-management/src/ca_mgm_proposal.ycp Tue Jun 14 14:53:17 2011
> > @@ -54,18 +54,20 @@
> >  
> >             map<string,string> host_ips = getHostIPs ();
> >             string hostname_bak = "";
> > -           CaMgm::prop_subject_alt_name_list = [];
> > +           if (size(CaMgm::prop_subject_alt_name_list) <= 0){
> > +                    CaMgm::prop_subject_alt_name_list = [];
> >             
> > -           foreach(string key, string value, host_ips, {
> > -                                                                           
> >  if(value == "DNS")
> > -                                                                           
> >  {
> > -                                                                           
> >          hostname_bak = key;
> > -                                                                           
> >  }
> > -                                                                           
> >  map elem = $[];
> > -                                                                           
> >  elem["kind"] = value;
> > -                                                                           
> >  elem["name"] = key;
> > -                                                                           
> >  CaMgm::prop_subject_alt_name_list = add 
> > (CaMgm::prop_subject_alt_name_list, elem);     
> > -                    });
> > +               foreach(string key, string value, host_ips, {
> > +                   if(value == "DNS")
> > +                   {
> > +                       hostname_bak = key;
> > +                   }
> > +                   map elem = $[];
> > +                   elem["kind"] = value;
> > +                   elem["name"] = key;
> > +                   CaMgm::prop_subject_alt_name_list = add 
> > (CaMgm::prop_subject_alt_name_list, elem);
> > +                    });
> > +                }
> 
> Thanks for fixing the indentation. Could you please make such fixes
> in separate commits, it makes reviewing easier.

It was separate commit, but merge in svn is quite stupid and do it as one 
commit in trunk.

> 
> >             
> >             map retmap = (map) SCR::Execute (.target.bash_output,
> >                                                                             
> >  "/bin/hostname --long",
> > 
> > Modified: trunk/ca-management/src/ca_select_proposal.ycp
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/ca_select_proposal.ycp?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/src/ca_select_proposal.ycp (original)
> > +++ trunk/ca-management/src/ca_select_proposal.ycp Tue Jun 14 14:53:17 2011
> > @@ -49,6 +49,151 @@
> >     });
> >          return result;     
> >      }
> > +
> > +    define list editAltNames( list<map> initial_set ){
> > +        term alt_dialog = `HBox( `VSpacing(10),
> > +                                 `VBox (`HSpacing(10),
> > +                                        `RadioButtonGroup(`id(`rb),
> > +                                                          `HBox(
> > +                                                                
> > `RadioButton(`id("URI"), `opt(`notify), "URI", true),
> > +                                                                
> > `RadioButton(`id("email"), `opt(`notify), "email"),
> > +                                                                
> > `RadioButton(`id("DNS"), `opt(`notify), "DNS"),
> > +                                                                
> > `RadioButton(`id("IP"), `opt(`notify), "IP"),
> > +                                                                
> > `RadioButton(`id("RID"), `opt(`notify), "RID"),
> > +                                                                
> > `RadioButton(`id("MS-UPN"), `opt(`notify), "MS-UPN"),
> > +                                                                
> > `RadioButton(`id("K5PN"), `opt(`notify), "K5PN")
> > +                                                         )),
> > +                                        `TextEntry(`id(`name), 
> > _("&Name:")),
> 
> labels should not have trailing colons

I just copy there part of advanced settings dialog, so complain to code author

> 
> > +                                        // push button label
> > +                                        `HBox(`PushButton (`id(`cancel), 
> > `opt(`key_F9), Label::CancelButton()),
> > +                                              `HStretch(),
> > +                                              `PushButton (`id(`ok), 
> > `opt(`default, `key_F10), Label::OKButton())
> > +                                             ),
> > +                                        `HSpacing(10)
> > +                                  ),
> > +                                  `VSpacing(10)
> > +                                );
> > +        UI::OpenDialog ( 
> > +            `VBox ( `Left (`CheckBox(`id(`id_adv_cri_subject_alt_name),
> > +                                     _("critical"),
> 
> "critical" what? Add a comment for translators so that they know
> whether it is "kritický" (certifikát) or "kritická" (chyba) or
> "kritické" (čtení kódu)

same here, I just copy part of advanced dialog, actually I don't know what is 
critical (but have some idea ) :)

> 
> > +                                     CaMgm::prop_adv_cri_issuer_alt_name
> > +                    )),
> > +                    `VSpacing(1.5),
> > +                    `HBox(
> > +                          `VSpacing(5),
> > +                          `HWeight (3, `Table (`id 
> > (`id_adv_subject_alt_name),
> > +                                               `header (
> > +                                                          // To 
> > translators: table headers
> > +                                                          _("Kind"),
> > +                                                          _("Name")
> > +                                                        )
> > +                                   )),
> > +                          `HWeight (1, `VBox(
> > +                                             `HBox ( `HWeight 
> > (1,`PushButton (`id (`add),
> > +                                                                           
> >    `opt (`key_F3),
> > +                                                                           
> >    Label::AddButton()
> > +                                                   ))),
> > +                                             `HBox ( `HWeight 
> > (1,`PushButton (`id (`edit),
> > +                                                                           
> >    `opt (`key_F3),
> > +                                                                           
> >    Label::EditButton()
> > +                                                   ))),
> > +                                             `HBox ( `HWeight 
> > (1,`PushButton (`id (`delete),
> > +                                                                           
> >    `opt (`key_F5),
> > +                                                                           
> >    Label::DeleteButton()
> > +                                                   ))),
> > +                                             `VStretch()
> > +                     ))),
> > +                     `VSpacing(1.5),
> > +                     
> > `ButtonBox(`PushButton(`id(`ok),`opt(`key_F10),Label::OKButton()),
> > +                                `PushButton 
> > (`id(`cancel),`opt(`key_F9,`default), Label::CancelButton())
> > +                               )
> > +                   ));
> > +        any ret = nil;
> > +        do {
> > +       integer i = 0;
> > +            list<term> table_list = maplist( map element, initial_set, ``{
> > +           i = i + 1;
> > +                return `item (`id (i), element["kind"]:"", 
> > element["name"]:"" );
> > +            });
> > +            UI::ChangeWidget(`id(`id_adv_subject_alt_name), `Items, 
> > table_list);
> > +            ret = UI::UserInput();
> > +            if (ret == `add || ret == `edit ){
> > +                string current_kind = "";
> > +                string current_name = "";
> > +                if (ret == `edit){
> > +                    integer current_item  = 
> > (integer)UI::QueryWidget(`id(`id_adv_subject_alt_name), `CurrentItem);
> > +                    term table_item = (term) 
> > UI::QueryWidget(`id(`id_adv_subject_alt_name), `Item(current_item));
> > +                    if (table_item == nil)
> > +                    {
> > +                        Popup::Error (_("No item has been selected."));
> > +                        continue;
> > +                    }
> > +
> > +                    current_kind = (string) table_item[1]:"";
> > +                    current_name = (string) table_item[2]:"";
> > +                }
> > +                UI::OpenDialog (`opt(`decorated ),alt_dialog);
> > +                UI::SetFocus (`id(`ok));
> > +                if (ret == `edit){
> > +               UI::ChangeWidget(`id(`name), `Value, current_name);
> > +               UI::ChangeWidget(`id(`rb), `CurrentButton, current_kind);
> > +           }
> > +                if(!CaMgm::adv_subject_alt_name_show_email)
> > +                {
> > +                    UI::ChangeWidget(`id("email"), `Enabled, false);
> > +                } else {
> > +                    UI::ChangeWidget(`id("email"), `Enabled, true);
> > +                }
> > +                while (true)
> > +                {
> > +                    any ret2 = UI::UserInput();
> > +                    if (ret2 == `ok)
> > +                    {
> > +                        map new_entry = (ret==`add) ? $[] :
> > +                                find(map m,initial_set,
> > +                                     ``{return (m["kind"]:"" == 
> > current_kind && m["name"]:"" == current_name);});
> > +                        new_entry["kind"] = (string) 
> > UI::QueryWidget(`id(`rb), `CurrentButton);
> > +                        new_entry["name"] = (string) 
> > UI::QueryWidget(`id(`name), `Value);
> > +                        if (ret == `add)
> > +                        {
> > +                            initial_set       = add (initial_set, 
> > new_entry);
> > +                        }
> > +                        break;
> > +                    }
> > +                    else if (ret2 == `cancel)
> > +                    {
> > +                        break;
> > +                    }
> > +                }
> > +                UI::CloseDialog ();
> > +            } else if (ret == `delete) {
> > +                integer current_item  = 
> > (integer)UI::QueryWidget(`id(`id_adv_subject_alt_name), `CurrentItem);
> > +                term table_item = (term) 
> > UI::QueryWidget(`id(`id_adv_subject_alt_name), `Item(current_item));
> > +
> > +                if (table_item == nil)
> > +                {
> > +                    Popup::Error (_("No item has been selected."));
> > +                    continue;
> > +                }
> > +                string current_kind = (string) table_item[1]:"";
> > +                string current_name = (string) table_item[2]:"";
> 
> Actually 'foo[index]:default' already includes casting the result to
> the type of 'default', so (string) is superfluous here.

Really? Interesting feature. Is it documented?...so if I have table_item[1]:nil 
then type is any?

> 
> > +
> > +                if (Popup::YesNoHeadline (
> > +                        // To translators: ContinueCancel Popup headline
> > +                        _("Delete"),
> > +                        // To translators: ContinueCancel Popup
> > +                        _("Really delete this entry?")))
> > +                {
> > +                    initial_set = filter( map element, initial_set, ``{    
> > +                          return (element["kind"]:"" != current_kind || 
> > element["name"]:"" != current_name );
> > +                        });
> > +                }
> > +            }
> > +        } while ( ret != `ok && ret != `cancel );
> 
> ^^^ yuck. do we have a plan how to improve this "best UI practice"?

This is common event loop, welcome to 90`

> 
> > +   boolean ca_crit = (boolean) 
> > UI::QueryWidget(`id(`id_adv_cri_subject_alt_name), `Value);
> > +   UI::CloseDialog();
> > +        return (ret == `ok) ? [initial_set,ca_crit] : nil; 
> > +    }
> >      
> >      
> >      /**
> > @@ -97,7 +242,7 @@
> >                                      ),
> >                            `HBox(`HWeight (1,`TextEntry(`id(`email), 
> > _("E-Mail"), CaMgm::prop_email)),
> >                                  `HSpacing(2), 
> > -                                `HWeight (1,`Empty())
> > +                                `HWeight (1,`PushButton(`id(`alt),"&Edit 
> > Alternative Names"))
> >                                       )
> >                            );
> >  
> > @@ -119,12 +264,21 @@
> >     // Get the user input.
> >     //
> >     any ret = nil;
> > +        list<map> temp_alt_names = CaMgm::prop_subject_alt_name_list;
> > +        boolean temp_cri_alt = CaMgm::prop_adv_cri_issuer_alt_name;
> >  
> >     repeat
> >         {
> >             ret = Wizard::UserInput();
> >  
> > -           if (ret == `next
> > +                if (ret == `alt)
> > +                {
> > +                    any ret = editAltNames(temp_alt_names);
> 
> hey! how about "list names_and_criminalsorwhatever = ..." ?

Damn, it looks like I don't merge last fix, which stop overwritting ret 
variable, stupid svn :(

Thanks for review
Pepa

> 
> > +                    if (ret != nil)
> > +                        temp_alt_names = ((list)ret)[0]:temp_alt_names;
> > +                        temp_cri_alt = ((list)ret)[1]:temp_cri_alt;
> > +                }
> > +           else if (ret == `next
> >                 ||ret == `back)
> >             {
> >                 confirmPassword = (string) UI::QueryWidget(`id(`pw2), 
> > `Value);
> > @@ -183,6 +337,9 @@
> >                     CaMgm::prop_organisationUnit = (string) 
> > UI::QueryWidget(`id(`id_organisationUnit), `Value);
> >                     CaMgm::prop_locality = (string) 
> > UI::QueryWidget(`id(`id_locality), `Value);
> >                     CaMgm::prop_state = (string) 
> > UI::QueryWidget(`id(`id_state), `Value);
> > +                   CaMgm::prop_subject_alt_name_list = temp_alt_names;
> > +                   CaMgm::prop_adv_cri_issuer_alt_name = temp_cri_alt;
> > +                   y2milestone("alt names %1", 
> > CaMgm::prop_subject_alt_name_list);
> >                 }
> >             }
> >         }
> > 
> > Modified: trunk/ca-management/src/new_cert_read_write.ycp
> > URL: 
> > http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/new_cert_read_write.ycp?rev=64348&r1=64347&r2=64348&view=diff
> > ==============================================================================
> > --- trunk/ca-management/src/new_cert_read_write.ycp (original)
> > +++ trunk/ca-management/src/new_cert_read_write.ycp Tue Jun 14 14:53:17 2011
> > @@ -760,6 +760,7 @@
> >             foreach(map elem, CaMgm::prop_subject_alt_name_list, {
> >                                                                             
> >                                                   
> > CaMgm::adv_subject_alt_name_list = add (CaMgm::adv_subject_alt_name_list, 
> > elem);
> >                                                                             
> >                                           });
> > +           CaMgm::adv_cri_issuer_alt_name = 
> > CaMgm::prop_adv_cri_issuer_alt_name;
> >     }
> >     if (kind == "Client Certificate")
> >     {
> > 
> 

-- 
Josef Reidinger
Appliance Toolkit team
maintaining parts of webyast and SLMS
author of rubygems - studio_api and net_observer (coauthor)
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to