Index: rietveld/views.py =================================================================== --- rietveld/views.py (revision 81) +++ rietveld/views.py (working copy) @@ -27,6 +27,7 @@ import random import logging import binascii +import sets # AppEngine imports from google.appengine.api import mail @@ -187,6 +188,9 @@ class MiniPublishForm(forms.Form): send_mail = forms.BooleanField() + reviewers = forms.CharField(required=False, + max_length=1000, + widget=forms.TextInput(attrs={'size': 60})) message = forms.CharField(required=False, max_length=10000, widget=forms.Textarea(attrs={'cols': 60})) @@ -567,7 +571,7 @@ def _get_reviewers(form): """Helper to return the list of reviewers, or None for error.""" - reviewers = [] + reviewers = sets.Set() raw_reviewers = form.cleaned_data.get('reviewers') if raw_reviewers: for reviewer in raw_reviewers.split(','): @@ -583,8 +587,8 @@ except db.BadValueError, err: form.errors['reviewers'] = [unicode(err)] return None - reviewers.append(reviewer) - return reviewers + reviewers.add(reviewer) + return list(reviewers) @@ -942,6 +946,9 @@ else: form_class = MiniPublishForm if request.method != 'POST': + if request.user != issue.owner and (not request.user.email() + in issue.reviewers): + issue.reviewers.append(request.user.email()) form = form_class(initial={'subject': issue.subject, 'reviewers': ', '.join(issue.reviewers), 'send_mail': True, @@ -960,6 +967,7 @@ issue.reviewers = reviewers else: subject = issue.subject + issue.reviewers = reviewers tbd.append(issue) # To update the last modified time message = form.cleaned_data['message'].replace('\r\n', '\n') send_mail = form.cleaned_data['send_mail']