diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-11-07 13:26:45 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-11-12 17:04:49 +0000 |
commit | 7b65fa9bbbee2843e10cf8b8ba8128912100a345 (patch) | |
tree | 7ef9b0d29756f4da2e4a3bb0faa660e469d9d883 /bitbake/lib/toaster/toastergui/views.py | |
parent | abf7551f60cd56129b9abc22730f45e336ece582 (diff) | |
download | poky-7b65fa9bbbee2843e10cf8b8ba8128912100a345.tar.gz |
bitbake: toastergui: changes for the Project page, round 3 of reviews
This patch implements the round 3 of reviews for the Project
page, including fixing the time display, fixing the build list
display, with fade-in and fade-out animations, and various
small layout fixes.
[YOCTO #6587]
[YOCTO #6731]
(Bitbake rev: 09e3ba8f800a03de731b022543cae33a46be17ef)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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: |