diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/views.py | 36 |
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 | ||
62 | def _redirect_parameters(view, g, mandatory_parameters): | 62 | def _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 | ||
187 | def tasks(request, build_id): | 188 | def 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 | ||
200 | def recipes(request, build_id): | 205 | def 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 | ||
210 | def configuration(request, build_id): | 219 | def 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 | ||
246 | def bpackage(request, build_id): | 260 | def 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 | ||