summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r--bitbake/lib/toaster/toastergui/views.py36
1 files changed, 28 insertions, 8 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 663e03dfd2..7d4d710f83 100644
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -59,10 +59,10 @@ def _verify_parameters(g, mandatory_parameters):
59 return miss 59 return miss
60 return None 60 return None
61 61
62def _redirect_parameters(view, g, mandatory_parameters): 62def _redirect_parameters(view, g, mandatory_parameters, *args, **kwargs):
63 import urllib 63 import urllib
64 from django.core.urlresolvers import reverse 64 from django.core.urlresolvers import reverse
65 url = reverse(view) 65 url = reverse(view, kwargs=kwargs)
66 params = {} 66 params = {}
67 for i in g: 67 for i in g:
68 params[i] = g[i] 68 params[i] = g[i]
@@ -70,7 +70,7 @@ def _redirect_parameters(view, g, mandatory_parameters):
70 if not i in params: 70 if not i in params:
71 params[i] = mandatory_parameters[i] 71 params[i] = mandatory_parameters[i]
72 72
73 return redirect(url + "?%s" % urllib.urlencode(params)) 73 return redirect(url + "?%s" % urllib.urlencode(params), *args, **kwargs)
74 74
75 75
76# shows the "all builds" page 76# shows the "all builds" page
@@ -82,7 +82,7 @@ def builds(request):
82 mandatory_parameters = { 'count': 10, 'page' : 1}; 82 mandatory_parameters = { 'count': 10, 'page' : 1};
83 retval = _verify_parameters( request.GET, mandatory_parameters ) 83 retval = _verify_parameters( request.GET, mandatory_parameters )
84 if retval: 84 if retval:
85 return _redirect_parameters( builds, request.GET, mandatory_parameters) 85 return _redirect_parameters( 'all-builds', request.GET, mandatory_parameters)
86 86
87 # retrieve the objects that will be displayed in the table 87 # retrieve the objects that will be displayed in the table
88 build_info = _build_page_range(Paginator(Build.objects.exclude(outcome = Build.IN_PROGRESS).order_by("-id"), request.GET.get('count', 10)),request.GET.get('page', 1)) 88 build_info = _build_page_range(Paginator(Build.objects.exclude(outcome = Build.IN_PROGRESS).order_by("-id"), request.GET.get('count', 10)),request.GET.get('page', 1))
@@ -125,6 +125,7 @@ def builddashboard(request, build_id):
125 return redirect(builds) 125 return redirect(builds)
126 context = { 126 context = {
127 'build' : Build.objects.filter(pk=build_id)[0], 127 'build' : Build.objects.filter(pk=build_id)[0],
128 'recipecount' : Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id)).count()
128 } 129 }
129 return render(request, template, context) 130 return render(request, template, context)
130 131
@@ -186,8 +187,12 @@ def _find_task_provider(task):
186 187
187def tasks(request, build_id): 188def tasks(request, build_id):
188 template = 'task.html' 189 template = 'task.html'
190 mandatory_parameters = { 'count': 100, 'page' : 1};
191 retval = _verify_parameters( request.GET, mandatory_parameters )
192 if retval:
193 return _redirect_parameters( 'tasks', request.GET, mandatory_parameters, build_id = build_id)
189 194
190 tasks = _build_page_range(Paginator(Task.objects.filter(build=build_id), 100),request.GET.get('page', 1)) 195 tasks = _build_page_range(Paginator(Task.objects.filter(build=build_id, order__gt=0), request.GET.get('count', 100)),request.GET.get('page', 1))
191 196
192 for t in tasks: 197 for t in tasks:
193 if t.outcome == Task.OUTCOME_COVERED: 198 if t.outcome == Task.OUTCOME_COVERED:
@@ -199,16 +204,25 @@ def tasks(request, build_id):
199 204
200def recipes(request, build_id): 205def recipes(request, build_id):
201 template = 'recipe.html' 206 template = 'recipe.html'
207 mandatory_parameters = { 'count': 100, 'page' : 1};
208 retval = _verify_parameters( request.GET, mandatory_parameters )
209 if retval:
210 return _redirect_parameters( 'recipes', request.GET, mandatory_parameters, build_id = build_id)
202 211
203 recipes = _build_page_range(Paginator(Recipe.objects.filter(build_recipe=build_id), 100),request.GET.get('page', 1)) 212 recipes = _build_page_range(Paginator(Recipe.objects.filter(layer_version__id__in=Layer_Version.objects.filter(build=build_id)), request.GET.get('count', 100)),request.GET.get('page', 1))
204 213
205 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects': recipes} 214 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects': recipes, }
206 215
207 return render(request, template, context) 216 return render(request, template, context)
208 217
209 218
210def configuration(request, build_id): 219def configuration(request, build_id):
211 template = 'configuration.html' 220 template = 'configuration.html'
221 mandatory_parameters = { 'count': 100, 'page' : 1};
222 retval = _verify_parameters( request.GET, mandatory_parameters )
223 if retval:
224 return _redirect_parameters( 'configuration', request.GET, mandatory_parameters, build_id = build_id)
225
212 variables = _build_page_range(Paginator(Variable.objects.filter(build=build_id), 50), request.GET.get('page', 1)) 226 variables = _build_page_range(Paginator(Variable.objects.filter(build=build_id), 50), request.GET.get('page', 1))
213 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : variables} 227 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : variables}
214 return render(request, template, context) 228 return render(request, template, context)
@@ -245,7 +259,13 @@ def diskio(request, build_id):
245 259
246def bpackage(request, build_id): 260def bpackage(request, build_id):
247 template = 'bpackage.html' 261 template = 'bpackage.html'
248 packages = Package.objects.filter(build = build_id) 262 mandatory_parameters = { 'count': 100, 'page' : 1};
263 retval = _verify_parameters( request.GET, mandatory_parameters )
264 if retval:
265 return _redirect_parameters( 'packages', request.GET, mandatory_parameters, build_id = build_id)
266
267 packages = _build_page_range(Paginator(Package.objects.filter(build = build_id), request.GET.get('count', 100)),request.GET.get('page', 1))
268
249 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : packages} 269 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : packages}
250 return render(request, template, context) 270 return render(request, template, context)
251 271