Allow review publishing to submitter only

Review Request #7537 — Created July 23, 2015 and submitted

Information

Review Board
release-2.6.x

Reviewers

Reviews can now be published to the review request submitter only. When
published this way, only the submitter and reviewer will receive
e-mails about the review (if they both have e-mail acitivity enabled).
All other users in the target review groups or reviewers will not
receieve e-mails about the review. This is particularly useful when the
review consists of pointing out a small typo, etc.

As such, the review_published signal now expect another argument,
to_submitter_only, which indicates if the review is only for the
review request submitter.

Unit tests have been added to test the front end and backend behaviour.

The new RB.SplitButtonView has been added to facilitate the UI
changes for this patch. It consists of a primary button and a drop down
control which, when hovered, will display a list of alternative
actions.

Ran unit test.
Ran JS tests.

Published a review to a review request that was assigned to more than
one reviewer. Only the review request submitter and review publisher
received e-mails.


Description From Last Updated

Whether you have one or two blank lines between top-level sections is inconsistent in this file.

daviddavid

You can remove the $() from this (so you're just calling append with a string, rather than first constructing a …

daviddavid

Space before the />

daviddavid

Can you do this with the events object?

daviddavid

No space between function and ()

daviddavid

Probably slightly more efficient to do: this._$dropDownBtn .removeClass([this._dropDownShownClass, 'hover']);

daviddavid
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
    
    
  2. 
      
david
  1. 
      
  2. reviewboard/static/rb/css/ui/buttons.less (Diff revision 1)
     
     
     

    Whether you have one or two blank lines between top-level sections is inconsistent in this file.

  3. You can remove the $() from this (so you're just calling append with a string, rather than first constructing a jquery).

  4. Space before the />

  5. Can you do this with the events object?

    1. The _$alternatives element is not a child of SplitButtonView.$el so that won't work.

  6. No space between function and ()

  7. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.js
    
    
  2. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/notifications/tests.py
        reviewboard/webapi/resources/base_review.py
        reviewboard/reviews/models/review.py
        reviewboard/staticbundles.py
        reviewboard/notifications/email.py
        reviewboard/reviews/signals.py
    
    Ignored Files:
        reviewboard/static/rb/js/views/draftReviewBannerView.js
        reviewboard/static/rb/js/views/tests/draftReviewBannerViewTests.js
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/ui/views/splitButtonView.js
        reviewboard/static/rb/js/resources/models/draftReviewModel.js
        reviewboard/static/rb/js/views/reviewDialogView.js
        reviewboard/templates/reviews/reviewable_base.html
        reviewboard/static/rb/css/defs.less
        reviewboard/static/rb/css/ui/buttons.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.js
    
    
  2. 
      
david
  1. 
      
  2. Probably slightly more efficient to do:

    this._$dropDownBtn
        .removeClass([this._dropDownShownClass, 'hover']);
    
    1. removeClass only takes a string of space-separated classes.

  3. 
      
brennie
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-2.6.x (f3f65d0)
Loading...