summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py41
1 files changed, 31 insertions, 10 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index fb8075067a..3b29dbcfb2 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -1943,11 +1943,13 @@ if toastermain.settings.MANAGED:
1943 "completed_on" : y.completed_on.strftime('%s')+"000", 1943 "completed_on" : y.completed_on.strftime('%s')+"000",
1944 "build_time" : (y.completed_on - y.started_on).total_seconds(), 1944 "build_time" : (y.completed_on - y.started_on).total_seconds(),
1945 "build_page_url" : reverse('builddashboard', args=(y.pk,)), 1945 "build_page_url" : reverse('builddashboard', args=(y.pk,)),
1946 'build_time_page_url': reverse('buildtime', args=(y.pk,)),
1946 "errors": y.errors_no, 1947 "errors": y.errors_no,
1947 "warnings": y.warnings_no, 1948 "warnings": y.warnings_no,
1948 "completeper": y.completeper(), 1949 "completeper": y.completeper(),
1949 "eta": y.eta().ctime()}, Build.objects.filter(buildrequest = x)), 1950 "eta": y.eta().strftime('%s')+"000"}, Build.objects.filter(buildrequest = x)),
1950 }, prj.buildrequest_set.order_by("-pk")[:5]) 1951 }, list(prj.buildrequest_set.filter(Q(state__lt=BuildRequest.REQ_COMPLETED) or Q(state=BuildRequest.REQ_DELETED)).order_by("-pk")) +
1952 list(prj.buildrequest_set.filter(state__in=[BuildRequest.REQ_COMPLETED, BuildRequest.REQ_FAILED]).order_by("-pk")[:3]))
1951 1953
1952 1954
1953 # Shows the edit project page 1955 # Shows the edit project page
@@ -1979,10 +1981,17 @@ if toastermain.settings.MANAGED:
1979 context = { 1981 context = {
1980 "project" : prj, 1982 "project" : prj,
1981 "completedbuilds": Build.objects.filter(project = prj).exclude(outcome = Build.IN_PROGRESS), 1983 "completedbuilds": Build.objects.filter(project = prj).exclude(outcome = Build.IN_PROGRESS),
1982 "prj" : json.dumps({"name": prj.name, "release": { "id": prj.release.pk, "name": prj.release.name}}), 1984 "prj" : json.dumps({"name": prj.name, "release": { "id": prj.release.pk, "name": prj.release.name, "desc": prj.release.description}}),
1983 #"buildrequests" : prj.buildrequest_set.filter(state=BuildRequest.REQ_QUEUED), 1985 #"buildrequests" : prj.buildrequest_set.filter(state=BuildRequest.REQ_QUEUED),
1984 "builds" : json.dumps(_project_recent_build_list(prj)), 1986 "builds" : json.dumps(_project_recent_build_list(prj)),
1985 "layers" : json.dumps(map(lambda x: {"id": x.layercommit.pk, "name" : x.layercommit.layer.name, "url": x.layercommit.layer.layer_index_url, "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)), "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}}, prj.projectlayer_set.all())), 1987 "layers" : json.dumps(map(lambda x: {
1988 "id": x.layercommit.pk,
1989 "orderid": x.pk,
1990 "name" : x.layercommit.layer.name,
1991 "url": x.layercommit.layer.layer_index_url,
1992 "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)),
1993 "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}},
1994 prj.projectlayer_set.all().order_by("id"))),
1986 "targets" : json.dumps(map(lambda x: {"target" : x.target, "task" : x.task, "pk": x.pk}, prj.projecttarget_set.all())), 1995 "targets" : json.dumps(map(lambda x: {"target" : x.target, "task" : x.task, "pk": x.pk}, prj.projecttarget_set.all())),
1987 "freqtargets": json.dumps(freqtargets), 1996 "freqtargets": json.dumps(freqtargets),
1988 "releases": json.dumps(map(lambda x: {"id": x.pk, "name": x.name}, Release.objects.all())), 1997 "releases": json.dumps(map(lambda x: {"id": x.pk, "name": x.name}, Release.objects.all())),
@@ -2012,12 +2021,17 @@ if toastermain.settings.MANAGED:
2012 for i in request.POST['buildCancel'].strip().split(" "): 2021 for i in request.POST['buildCancel'].strip().split(" "):
2013 try: 2022 try:
2014 br = BuildRequest.objects.select_for_update().get(project = prj, pk = i, state__lte = BuildRequest.REQ_QUEUED) 2023 br = BuildRequest.objects.select_for_update().get(project = prj, pk = i, state__lte = BuildRequest.REQ_QUEUED)
2015 print "selected for delete", br.pk 2024 br.state = BuildRequest.REQ_DELETED
2016 br.delete() 2025 br.save()
2017 print "selected for delete", br.pk
2018 except BuildRequest.DoesNotExist: 2026 except BuildRequest.DoesNotExist:
2019 pass 2027 pass
2020 2028
2029 if 'buildDelete' in request.POST:
2030 for i in request.POST['buildDelete'].strip().split(" "):
2031 try:
2032 br = BuildRequest.objects.select_for_update().get(project = prj, pk = i, state__lte = BuildRequest.REQ_DELETED).delete()
2033 except BuildRequest.DoesNotExist:
2034 pass
2021 2035
2022 if 'targets' in request.POST: 2036 if 'targets' in request.POST:
2023 ProjectTarget.objects.filter(project = prj).delete() 2037 ProjectTarget.objects.filter(project = prj).delete()
@@ -2054,9 +2068,10 @@ if toastermain.settings.MANAGED:
2054 prj.name = request.POST['projectName'] 2068 prj.name = request.POST['projectName']
2055 prj.save(); 2069 prj.save();
2056 2070
2057
2058 if 'projectVersion' in request.POST: 2071 if 'projectVersion' in request.POST:
2059 prj.release = Release.objects.get(pk = request.POST['projectVersion']) 2072 prj.release = Release.objects.get(pk = request.POST['projectVersion'])
2073 # we need to change the bitbake version
2074 prj.bitbake_version = prj.release.bitbake_version
2060 prj.save() 2075 prj.save()
2061 # we need to change the layers 2076 # we need to change the layers
2062 for i in prj.projectlayer_set.all(): 2077 for i in prj.projectlayer_set.all():
@@ -2067,13 +2082,19 @@ if toastermain.settings.MANAGED:
2067 # get rid of the old entry 2082 # get rid of the old entry
2068 i.delete() 2083 i.delete()
2069 2084
2085 if 'machineName' in request.POST:
2086 machinevar = prj.projectvariable_set.get(name="MACHINE")
2087 machinevar.value=request.POST['machineName']
2088 machinevar.save()
2089
2070 # return all project settings 2090 # return all project settings
2071 return HttpResponse(json.dumps( { 2091 return HttpResponse(json.dumps( {
2072 "error": "ok", 2092 "error": "ok",
2073 "layers" : map(lambda x: {"id": x.layercommit.pk, "name" : x.layercommit.layer.name, "url": x.layercommit.layer.layer_index_url, "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)), "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}}, prj.projectlayer_set.all()), 2093 "layers" : map(lambda x: {"id": x.layercommit.pk, "orderid" : x.pk, "name" : x.layercommit.layer.name, "url": x.layercommit.layer.layer_index_url, "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)), "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}}, prj.projectlayer_set.all().order_by("id")),
2074 "builds" : _project_recent_build_list(prj), 2094 "builds" : _project_recent_build_list(prj),
2075 "variables": map(lambda x: (x.name, x.value), prj.projectvariable_set.all()), 2095 "variables": map(lambda x: (x.name, x.value), prj.projectvariable_set.all()),
2076 "prj": {"name": prj.name, "release": { "id": prj.release.pk, "name": prj.release.name}}, 2096 "machine": {"name": prj.projectvariable_set.get(name="MACHINE").value},
2097 "prj": {"name": prj.name, "release": { "id": prj.release.pk, "name": prj.release.name, "desc": prj.release.description}},
2077 }), content_type = "application/json") 2098 }), content_type = "application/json")
2078 2099
2079 except Exception as e: 2100 except Exception as e: