• 
      

    Factor out common parts of ReviewRequest and ReviewRequestDraft.

    Review Request #3265 — Created Aug. 9, 2012 and submitted

    Information

    Review Board

    Reviewers

    Factor out common parts of ReviewRequest and ReviewRequestDraft.
    
    ReviewRequest and ReviewRequestDraft have always had many fields and
    methods that operated the same way but were defined separately. This has
    led to a lot of duplicate code, which has always been a pain to keep
    updated.
    
    Now these common fields and methods have been split out into a new
    base class, BaseReviewRequestDetails. This covers the summary,
    description, testing done, bugs closed, branch, field normalization
    during save, human-readable bug list, screenshot/file attachment
    accessors, default reviewers, and updating from a changenum.
    General playing around with the review requests seems to work.
    
    All unit tests pass.
    Description From Last Updated

    Why not use bugs.sort(key=int)?

    ME medanat
    ME
    1. 
        
    2. reviewboard/reviews/models.py (Diff revision 1)
       
       
      Show all issues
      Why not use bugs.sort(key=int)?
      1. Good question. Old code :) Will update.
    3. 
        
    chipx86
    ME
    1. 
        
    2. reviewboard/reviews/models.py (Diff revision 2)
       
       
      Is it possible to have numbers of type <int> in the bugs list?
      
      ie: [1, 2], rather than: ["1", "2"]
      
      If not, why not use bugs.sort(key=str.lower) here to make it case insensitive.
      
      Just a suggestion.
    3. reviewboard/reviews/models.py (Diff revision 2)
       
       
      Is it possible to have numbers of type <int> in the bugs list?
      
      ie: [1, 2], rather than: ["1", "2"]
      
      If not, why not use bugs.sort(key=str.lower) here to make it case insensitive.
      
      Just a suggestion.
      1. Double post bug?
      2. Weird.
        
        If the bug tracker uses ints, we absolutely want to cast (otherwise, "12" < "9"). Otherwise, they're alpha-numeric, and I just don't want to assume that "A" is equal to "a" in that case.
        
        They're stored in the database as a comma-separated string of numbers, so when we parse that out, we get strings back. They'll never start off as an int.
        
        This is just moved logic. The last thing I want to do right now is change how it works and possibly break somebody.
    4. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (7895266)