Show More
@@ -172,8 +172,9 b' class PullrequestsController(BaseRepoCon' | |||||
172 |
|
172 | |||
173 | @NotAnonymous() |
|
173 | @NotAnonymous() | |
174 | def create(self, repo_name): |
|
174 | def create(self, repo_name): | |
|
175 | repo = RepoModel()._get_repo(repo_name) | |||
175 | try: |
|
176 | try: | |
176 | _form = PullRequestForm()().to_python(request.POST) |
|
177 | _form = PullRequestForm(repo.repo_id)().to_python(request.POST) | |
177 | except formencode.Invalid, errors: |
|
178 | except formencode.Invalid, errors: | |
178 | log.error(traceback.format_exc()) |
|
179 | log.error(traceback.format_exc()) | |
179 | if errors.error_dict.get('revisions'): |
|
180 | if errors.error_dict.get('revisions'): |
@@ -327,7 +327,7 b' def UserExtraEmailForm():' | |||||
327 | return _UserExtraEmailForm |
|
327 | return _UserExtraEmailForm | |
328 |
|
328 | |||
329 |
|
329 | |||
330 | def PullRequestForm(): |
|
330 | def PullRequestForm(repo_id): | |
331 | class _PullRequestForm(formencode.Schema): |
|
331 | class _PullRequestForm(formencode.Schema): | |
332 | allow_extra_fields = True |
|
332 | allow_extra_fields = True | |
333 | filter_extra_fields = True |
|
333 | filter_extra_fields = True | |
@@ -337,7 +337,7 b' def PullRequestForm():' | |||||
337 | org_ref = v.UnicodeString(strip=True, required=True) |
|
337 | org_ref = v.UnicodeString(strip=True, required=True) | |
338 | other_repo = v.UnicodeString(strip=True, required=True) |
|
338 | other_repo = v.UnicodeString(strip=True, required=True) | |
339 | other_ref = v.UnicodeString(strip=True, required=True) |
|
339 | other_ref = v.UnicodeString(strip=True, required=True) | |
340 | revisions = All(v.NotReviewedRevisions()(), v.UniqueList(not_empty=True)) |
|
340 | revisions = All(v.NotReviewedRevisions(repo_id)(), v.UniqueList(not_empty=True)) | |
341 | review_members = v.UniqueList(not_empty=True) |
|
341 | review_members = v.UniqueList(not_empty=True) | |
342 |
|
342 | |||
343 | pullrequest_title = v.UnicodeString(strip=True, required=True, min=3) |
|
343 | pullrequest_title = v.UnicodeString(strip=True, required=True, min=3) |
@@ -666,7 +666,7 b' def AttrLoginValidator():' | |||||
666 | return _validator |
|
666 | return _validator | |
667 |
|
667 | |||
668 |
|
668 | |||
669 | def NotReviewedRevisions(): |
|
669 | def NotReviewedRevisions(repo_id): | |
670 | class _validator(formencode.validators.FancyValidator): |
|
670 | class _validator(formencode.validators.FancyValidator): | |
671 | messages = { |
|
671 | messages = { | |
672 | 'rev_already_reviewed': |
|
672 | 'rev_already_reviewed': | |
@@ -678,7 +678,10 b' def NotReviewedRevisions():' | |||||
678 | # check revisions if they are not reviewed, or a part of another |
|
678 | # check revisions if they are not reviewed, or a part of another | |
679 | # pull request |
|
679 | # pull request | |
680 | statuses = ChangesetStatus.query()\ |
|
680 | statuses = ChangesetStatus.query()\ | |
681 |
.filter(ChangesetStatus.revision.in_(value)) |
|
681 | .filter(ChangesetStatus.revision.in_(value))\ | |
|
682 | .filter(ChangesetStatus.repo_id == repo_id)\ | |||
|
683 | .all() | |||
|
684 | ||||
682 | errors = [] |
|
685 | errors = [] | |
683 | for cs in statuses: |
|
686 | for cs in statuses: | |
684 | if cs.pull_request_id: |
|
687 | if cs.pull_request_id: |
General Comments 0
You need to be logged in to leave comments.
Login now