def post(self, request, format=None): pr = PullRequest(name = request.DATA.get('name'), url = request.DATA.get('url'), author_id = User.objects.all().get(id = request.DATA.get('authorId')).id) pr.save() reviewers = request.DATA.get('reviewers') for reviewer in reviewers : r = Reviewer(pull_request_id = pr.id, user_id = reviewer) r.save() return render(request, 'board.html', {'pull_requests': PullRequest.objects.all()}, content_type="application/xhtml+xml")
def _create_reviewer(self, pull_request, stash_reviewer): try: lord_user = LordUser.objects.get(stash_id=stash_reviewer.id) except ObjectDoesNotExist: return reviewer = Reviewer(pull_request_id=pull_request.id, user_id=lord_user.id) if stash_reviewer.approved: reviewer.state = Reviewer.APPROVE else: reviewer.state = Reviewer.TODO lord_user.save() reviewer.save()
def put(self, request, format=None): pullRequestData = json.loads(request.body, object_hook=lambda d: namedtuple('X', d.keys())(*d.values())) for reviewerData in pullRequestData.reviewers: reviewer = Reviewer.objects.get(pk=reviewerData.id) reviewer.state = Reviewer.extract_state_from_string(reviewerData.state) reviewer.save() pullRequest = PullRequest.objects.get(pk=pullRequestData.pullRequestId) serializer = PullRequestSerializer(pullRequest, context={'request': request}) serializer.data return Response(serializer.data, status=status.HTTP_201_CREATED)