diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
| -rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 41 |
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: |
