@@ -117,6 +117,42 @@ def get_context_data(self, **kwargs):
117
117
return context
118
118
119
119
120
+ class PRBuildList (BuildBase , BuildTriggerMixin , ListView ):
121
+ template_name = 'builds/pr_build_list.html'
122
+
123
+ def get_queryset (self ):
124
+ # this is used to include only internal version
125
+ # builds in the build list page
126
+ self .project_slug = self .kwargs .get ('project_slug' , None )
127
+ self .project = get_object_or_404 (
128
+ Project .objects .protected (self .request .user ),
129
+ slug = self .project_slug ,
130
+ )
131
+ queryset = Build .external .public (
132
+ user = self .request .user ,
133
+ project = self .project ,
134
+ ).select_related ('project' , 'version' )
135
+
136
+ return queryset
137
+
138
+ def get_context_data (self , ** kwargs ):
139
+ context = super ().get_context_data (** kwargs )
140
+
141
+ active_builds = self .get_queryset ().exclude (
142
+ state = 'finished' ,
143
+ ).values ('id' )
144
+
145
+ context ['project' ] = self .project
146
+ context ['active_builds' ] = active_builds
147
+ context ['versions' ] = Version .external .public (
148
+ user = self .request .user ,
149
+ project = self .project ,
150
+ )
151
+ context ['build_qs' ] = self .get_queryset ()
152
+
153
+ return context
154
+
155
+
120
156
class BuildDetail (BuildBase , DetailView ):
121
157
pk_url_kwarg = 'build_pk'
122
158
0 commit comments