| 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 |
|
GvR
2008/05/11 19:20:49
This is Python 2.5, it has a built-in set type. (E
|
| # 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) |
|
GvR
2008/05/11 19:20:49
I'd prefer to keep reviewers in the order that the
|
| @@ -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): |
|
GvR
2008/05/11 19:20:49
You can use 'not in' for the latter test.
|
| + issue.reviewers.append(request.user.email()) |
|
GvR
2008/05/11 19:20:49
I wouldn't assign to issue.reviewers here, since y
|
| 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'] |