summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Wood <michael.g.wood@intel.com>2016-09-26 13:59:33 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-28 10:45:10 +0100
commitcdc380c188fd17e55d1d270e5b468d931aa436b2 (patch)
treeae66a2aa2daa50894f12daed35f6fb7669fd8c62
parentc7f30a673ab973a2500092d2e981a47da05fbf12 (diff)
downloadbitbake-contrib-cdc380c188fd17e55d1d270e5b468d931aa436b2.tar.gz
toaster: Add backend API for deleting a build
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/toaster/toastergui/api.py30
-rw-r--r--lib/toaster/toastergui/urls.py4
2 files changed, 34 insertions, 0 deletions
diff --git a/lib/toaster/toastergui/api.py b/lib/toaster/toastergui/api.py
index 856918b6a..149abf7a5 100644
--- a/lib/toaster/toastergui/api.py
+++ b/lib/toaster/toastergui/api.py
@@ -832,3 +832,33 @@ class XhrProject(View):
"error": "ok",
"gotoUrl": reverse("all-projects", args=[])
})
+
+
+class XhrBuild(View):
+ """ Delete a build object
+
+ Entry point: /xhr_build/<build_id>
+ """
+ def delete(self, request, *args, **kwargs):
+ """
+ Delete build data
+
+ Args:
+ build_id = build_id
+
+ Returns:
+ {"error": "ok"}
+ or
+ {"error": <error message>}
+ """
+ try:
+ build = Build.objects.get(pk=kwargs['build_id'])
+ project = build.project
+ build.delete()
+ except Build.DoesNotExist:
+ return error_response("Build %s does not exist" %
+ kwargs['build_id'])
+ return JsonResponse({
+ "error": "ok",
+ "gotoUrl": reverse("projectbuilds", args=(project.pk,))
+ })
diff --git a/lib/toaster/toastergui/urls.py b/lib/toaster/toastergui/urls.py
index 0002a5a2e..ece9ac169 100644
--- a/lib/toaster/toastergui/urls.py
+++ b/lib/toaster/toastergui/urls.py
@@ -225,6 +225,10 @@ urlpatterns = patterns('toastergui.views',
api.XhrProject.as_view(),
name='xhr_project'),
+ url(r'xhr_build/(?P<build_id>\d+)$',
+ api.XhrBuild.as_view(),
+ name='xhr_build'),
+
url(r'^mostrecentbuilds$', widgets.MostRecentBuildsView.as_view(),
name='most_recent_builds'),