Skip to content

Commit 1dd68c3

Browse files
davidfischeragjohnson
authored andcommitted
Allow admins to trigger project builds (#4207)
1 parent b693d56 commit 1dd68c3

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

readthedocs/builds/views.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@
66

77
from django.shortcuts import get_object_or_404
88
from django.views.generic import ListView, DetailView
9-
from django.http import HttpResponsePermanentRedirect, HttpResponseRedirect
10-
from django.conf import settings
9+
from django.http import (
10+
HttpResponseForbidden,
11+
HttpResponsePermanentRedirect,
12+
HttpResponseRedirect,
13+
)
1114
from django.contrib.auth.decorators import login_required
15+
from readthedocs.core.permissions import AdminPermission
1216
from django.core.urlresolvers import reverse
1317
from django.utils.decorators import method_decorator
1418

@@ -38,10 +42,11 @@ class BuildTriggerMixin(object):
3842

3943
@method_decorator(login_required)
4044
def post(self, request, project_slug):
41-
project = get_object_or_404(
42-
Project.objects.for_admin_user(self.request.user),
43-
slug=project_slug
44-
)
45+
project = get_object_or_404(Project, slug=project_slug)
46+
47+
if not AdminPermission.is_admin(request.user, project):
48+
return HttpResponseForbidden()
49+
4550
version_slug = request.POST.get('version_slug')
4651
version = get_object_or_404(
4752
Version,

0 commit comments

Comments
 (0)