Send email when closing review requests

Review Request #3707 — Created Dec. 29, 2012 and submitted — Latest diff uploaded

Information

Review Board
master

Reviewers

Optionally send emails when closing review requests.
    
Add a flag in the Email settings page that will allow for sending emails when
a review request is closed (Submitted/Discarded).
    
Files Changed:
* reviewboard/admin/forms.py
  + Added Boolean to store the value of "mail_send_review_close_mail" in settings
    
* reviewboard/notifications/email.py
  + Added callback method for review_request_closed signal
    
* reviewboard/templates/notifications/review_request_email.html
* reviewboard/templates/notifications/review_request_email.txt
  + Added code to display the "Status" of the review request when its closed
    before the "Description" section.
    
* Tests:
  + Added test for review request closing
  + Modified other review related tests to fix counts or expected results
Added test for this feature and ran all tests. Verified in UI.
                                                                                                                                                                                                                                                               
Delivered-To: rajasaur@gmail.com
Received: by 10.114.18.240 with SMTP id z16csp429951ldd;
        Sat, 29 Dec 2012 10:31:16 -0800 (PST)
X-Received: by 10.66.88.37 with SMTP id bd5mr108760917pab.75.1356805875302;
        Sat, 29 Dec 2012 10:31:15 -0800 (PST)
Return-Path: <noreply@example.com>
Received: from test.symfony ([122.174.4.223])
        by mx.google.com with ESMTPS id u7si36003892paw.301.2012.12.29.10.31.13
        (version=TLSv1/SSLv3 cipher=OTHER);
        Sat, 29 Dec 2012 10:31:15 -0800 (PST)
Received-SPF: fail (google.com: domain of noreply@example.com does not designate 122.174.4.223 as permitted sender) client-ip=122.174.4.223;
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of noreply@
                                                                                                                                                                                                                                                               
Delivered-To: rajasaur@gmail.com
Received: by 10.114.21.232 with SMTP id y8csp12472lde;
        Wed, 23 Jan 2013 07:58:34 -0800 (PST)
X-Received: by 10.66.83.232 with SMTP id t8mr5565055pay.73.1358956713671;
        Wed, 23 Jan 2013 07:58:33 -0800 (PST)
Return-Path: <noreply@example.com>
Received: from test.symfony ([122.174.57.195])
        by mx.google.com with ESMTPS id x6si21298960pay.64.2013.01.23.07.58.32
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Wed, 23 Jan 2013 07:58:33 -0800 (PST)
Received-SPF: fail (google.com: domain of noreply@example.com does not designate 122.174.57.195 as permitted sender) client-ip=122.174.57.195;
Authentication-Results: mx.google.com;
       spf=hardfail (googl
                                                                                                                                                                                                                                                               
Delivered-To: rajasaur@gmail.com
Received: by 10.114.21.232 with SMTP id y8csp138255lde;
        Fri, 25 Jan 2013 19:30:22 -0800 (PST)
X-Received: by 10.68.235.200 with SMTP id uo8mr19380667pbc.29.1359171021720;
        Fri, 25 Jan 2013 19:30:21 -0800 (PST)
Return-Path: <noreply@example.com>
Received: from test.symfony ([122.164.162.92])
        by mx.google.com with ESMTPS id q4si3006096pav.241.2013.01.25.19.30.19
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Fri, 25 Jan 2013 19:30:21 -0800 (PST)
Received-SPF: fail (google.com: domain of noreply@example.com does not designate 122.164.162.92 as permitted sender) client-ip=122.164.162.92;
Authentication-Results: mx.google.com;
       spf=hardfail (g

reviewboard/admin/forms.py
reviewboard/cmdline/rbsite.py
reviewboard/notifications/email.py
reviewboard/notifications/tests.py
reviewboard/reviews/tests.py
reviewboard/reviews/fixtures/test_reviewrequests.json
reviewboard/templates/notifications/review_request_email.html
reviewboard/templates/notifications/review_request_email.txt
reviewboard/webapi/tests.py
Loading...