• 
      

    Fix mysterious scope loss of a radio button callback in rb-site wizard

    Review Request #2374 — Created May 18, 2011 and submitted — Latest diff uploaded

    Information

    Review Board

    Reviewers

    As a student of GSoC'11 I got my first task was to install RB and fix trivial bug. During installation I ran rb-site and noticed strange behavior of the setup wizard. Namely, it didn't remember my choice of caching method and still tried to ask about memcached server location. Investigation the reason of this behavior I found out that the user choice wasn't actually stored as the button callback function lost its scope and hence coulnd't find the object to write. As the result each time I toggled a radio button I got 
    
    Traceback (most recent call last):
      File "/home/mbait/src/reviewboard/reviewboard/cmdline/rbsite.py", line 1044, in on_toggled
        setattr(save_obj, save_var, valid_choices[radio_button])
    NameError: free variable 'save_obj' referenced before assignment in enclosing scope
    
    Incidentally I fixed some other possible corner case related errors
    Manual testing