diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-11-14 17:07:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-11-21 11:49:23 +0000 |
commit | 0b6859cdf3a4b66bb8b94361681a5b6b362f93ae (patch) | |
tree | 37bf5c650e99b023bd0e0605b63a53cc0ebd0b72 /bitbake/lib/toaster/toastergui | |
parent | 5b0616ad7d7c3734f1818a56b631a2d254271678 (diff) | |
download | poky-0b6859cdf3a4b66bb8b94361681a5b6b362f93ae.tar.gz |
bitbake: toastergui: layer name correlation
This patch modifies how layers are identified and matched.
Layers were primarely organized by the source of layer information,
and Releases were separated by both layer git branches and originating
source of layer information. This setup prevented mixing layers from
different sources for a certain release, which didn't match the way
people use Yocto Project / bitbake.
This patch brings name-based indentification, where layers with the
same name are assumed to be equivalent, in the sense of being able
to substitute one another. To facilitate this identification to
humans, layers are differentiated by GIT URI instead of layer sources,
which was a rather arbitrary abstraction.
Additional changes include modification to models in order accomodate
for the new data structure, and to config file loading to match
the new toasterconf.json layout.
(Bitbake rev: 4357200aed522ad56cfd84917f877645b83b6a70)
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')
4 files changed, 55 insertions, 41 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/projectapp.js b/bitbake/lib/toaster/toastergui/static/js/projectapp.js index 9f9a06476a..e9b07c7848 100644 --- a/bitbake/lib/toaster/toastergui/static/js/projectapp.js +++ b/bitbake/lib/toaster/toastergui/static/js/projectapp.js | |||
@@ -173,6 +173,8 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc | |||
173 | if (_data.error != "ok") { | 173 | if (_data.error != "ok") { |
174 | alert("Failed XHR request (" + _status + "): " + _data.error); | 174 | alert("Failed XHR request (" + _status + "): " + _data.error); |
175 | console.error("Failed XHR request: ", _data, _status, _headers, _config); | 175 | console.error("Failed XHR request: ", _data, _status, _headers, _config); |
176 | // stop refreshing hte page | ||
177 | $interval.cancel($scope.pollHandle); | ||
176 | deffered.reject(_data.error); | 178 | deffered.reject(_data.error); |
177 | } | 179 | } |
178 | else { | 180 | else { |
diff --git a/bitbake/lib/toaster/toastergui/templates/layers.html b/bitbake/lib/toaster/toastergui/templates/layers.html index 8cb079d0a3..2bca84b503 100644 --- a/bitbake/lib/toaster/toastergui/templates/layers.html +++ b/bitbake/lib/toaster/toastergui/templates/layers.html | |||
@@ -9,9 +9,9 @@ | |||
9 | {% block projectinfomain %} | 9 | {% block projectinfomain %} |
10 | <div class="page-header"> | 10 | <div class="page-header"> |
11 | <h1> | 11 | <h1> |
12 | {% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %} | 12 | {% if request.GET.filter and total_count > 0 or request.GET.search and total_count > 0 %} |
13 | {{objects.paginator.count}} layer{{objects.paginator.count|pluralize}} found | 13 | {{total_count}} layer{{total_count|pluralize}} found |
14 | {% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %} | 14 | {% elif request.GET.filter and total_count == 0 or request.GET.search and total_count == 0 %} |
15 | No layers found | 15 | No layers found |
16 | {%else%} | 16 | {%else%} |
17 | All layers | 17 | All layers |
diff --git a/bitbake/lib/toaster/toastergui/templates/project.html b/bitbake/lib/toaster/toastergui/templates/project.html index 4e8a7e29aa..e1ef824779 100644 --- a/bitbake/lib/toaster/toastergui/templates/project.html +++ b/bitbake/lib/toaster/toastergui/templates/project.html | |||
@@ -236,9 +236,9 @@ vim: expandtab tabstop=2 | |||
236 | <p><a href="{% url 'layers' %}">View all layers</a> | <a href="{% url 'importlayer' %}">Import layer</a></p> | 236 | <p><a href="{% url 'layers' %}">View all layers</a> | <a href="{% url 'importlayer' %}">Import layer</a></p> |
237 | <ul class="unstyled configuration-list"> | 237 | <ul class="unstyled configuration-list"> |
238 | <li ng-repeat="l in layers track by l.id" class="animate-repeat"> | 238 | <li ng-repeat="l in layers track by l.id" class="animate-repeat"> |
239 | <a href="{[l.layerdetailurl]}" target="_#" class="layer-info" data-toggle="tooltip" tooltip="{[l.branch.layersource]} | {[l.branch.name]}">{[l.name]} </a> | 239 | <a href="{[l.layerdetailurl]}" target="_#" class="layer-info" data-toggle="tooltip" tooltip="{[l.giturl]} | {[l.branch.name]}">{[l.name]}</a> |
240 | <i class="icon-trash" ng-click="layerDel(l.id)" tooltip="Delete"></i> | 240 | <i class="icon-trash" ng-click="layerDel(l.id)" tooltip="Delete"></i> |
241 | </li> | 241 | </li> |
242 | </ul> | 242 | </ul> |
243 | </div> | 243 | </div> |
244 | 244 | ||
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 5e92c24a8d..1b4bb9ff69 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
@@ -1881,7 +1881,10 @@ if toastermain.settings.MANAGED: | |||
1881 | "MANAGED" : toastermain.settings.MANAGED | 1881 | "MANAGED" : toastermain.settings.MANAGED |
1882 | } | 1882 | } |
1883 | if 'project_id' in request.session: | 1883 | if 'project_id' in request.session: |
1884 | ret['project'] = Project.objects.get(pk = request.session['project_id']) | 1884 | try: |
1885 | ret['project'] = Project.objects.get(pk = request.session['project_id']) | ||
1886 | except Project.DoesNotExist: | ||
1887 | del request.session['project_id'] | ||
1885 | return ret | 1888 | return ret |
1886 | 1889 | ||
1887 | # new project | 1890 | # new project |
@@ -1989,6 +1992,7 @@ if toastermain.settings.MANAGED: | |||
1989 | "id": x.layercommit.pk, | 1992 | "id": x.layercommit.pk, |
1990 | "orderid": x.pk, | 1993 | "orderid": x.pk, |
1991 | "name" : x.layercommit.layer.name, | 1994 | "name" : x.layercommit.layer.name, |
1995 | "giturl": x.layercommit.layer.vcs_url, | ||
1992 | "url": x.layercommit.layer.layer_index_url, | 1996 | "url": x.layercommit.layer.layer_index_url, |
1993 | "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)), | 1997 | "layerdetailurl": reverse("layerdetails", args=(x.layercommit.layer.pk,)), |
1994 | "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}}, | 1998 | "branch" : { "name" : x.layercommit.up_branch.name, "layersource" : x.layercommit.up_branch.layer_source.name}}, |
@@ -2053,6 +2057,9 @@ if toastermain.settings.MANAGED: | |||
2053 | except Exception as e: | 2057 | except Exception as e: |
2054 | return HttpResponse(jsonfilter({"error":str(e) + "\n" + traceback.format_exc()}), content_type = "application/json") | 2058 | return HttpResponse(jsonfilter({"error":str(e) + "\n" + traceback.format_exc()}), content_type = "application/json") |
2055 | 2059 | ||
2060 | |||
2061 | |||
2062 | |||
2056 | def xhr_projectedit(request, pid): | 2063 | def xhr_projectedit(request, pid): |
2057 | try: | 2064 | try: |
2058 | prj = Project.objects.get(id = pid) | 2065 | prj = Project.objects.get(id = pid) |
@@ -2078,11 +2085,14 @@ if toastermain.settings.MANAGED: | |||
2078 | # we need to change the layers | 2085 | # we need to change the layers |
2079 | for i in prj.projectlayer_set.all(): | 2086 | for i in prj.projectlayer_set.all(): |
2080 | # find and add a similarly-named layer on the new branch | 2087 | # find and add a similarly-named layer on the new branch |
2081 | lv = Layer_Version.objects.filter(layer__name = i.layercommit.layer.name, up_branch__release = prj.release) | 2088 | try: |
2082 | if lv.count() == 1: | 2089 | lv = Layer_Version.objects.filter(layer__name = i.layercommit.layer.name, up_branch__name = prj.release.branch_name)[0].get_equivalents_wpriority(prj)[0] |
2083 | ProjectLayer.objects.get_or_create(project = prj, layercommit = lv[0]) | 2090 | ProjectLayer.objects.get_or_create(project = prj, layercommit = lv) |
2084 | # get rid of the old entry | 2091 | except IndexError: |
2085 | i.delete() | 2092 | pass |
2093 | finally: | ||
2094 | # get rid of the old entry | ||
2095 | i.delete() | ||
2086 | 2096 | ||
2087 | if 'machineName' in request.POST: | 2097 | if 'machineName' in request.POST: |
2088 | machinevar = prj.projectvariable_set.get(name="MACHINE") | 2098 | machinevar = prj.projectvariable_set.get(name="MACHINE") |
@@ -2092,7 +2102,7 @@ if toastermain.settings.MANAGED: | |||
2092 | # return all project settings | 2102 | # return all project settings |
2093 | return HttpResponse(jsonfilter( { | 2103 | return HttpResponse(jsonfilter( { |
2094 | "error": "ok", | 2104 | "error": "ok", |
2095 | "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")), | 2105 | "layers" : map(lambda x: {"id": x.layercommit.pk, "orderid" : x.pk, "name" : x.layercommit.layer.name, "giturl" : x.layercommit.layer.vcs_url, "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")), |
2096 | "builds" : _project_recent_build_list(prj), | 2106 | "builds" : _project_recent_build_list(prj), |
2097 | "variables": map(lambda x: (x.name, x.value), prj.projectvariable_set.all()), | 2107 | "variables": map(lambda x: (x.name, x.value), prj.projectvariable_set.all()), |
2098 | "machine": {"name": prj.projectvariable_set.get(name="MACHINE").value}, | 2108 | "machine": {"name": prj.projectvariable_set.get(name="MACHINE").value}, |
@@ -2107,45 +2117,46 @@ if toastermain.settings.MANAGED: | |||
2107 | @csrf_exempt | 2117 | @csrf_exempt |
2108 | def xhr_datatypeahead(request): | 2118 | def xhr_datatypeahead(request): |
2109 | try: | 2119 | try: |
2120 | prj = None | ||
2121 | if 'project_id' in request.session: | ||
2122 | prj = Project.objects.get(pk = request.session['project_id']) | ||
2123 | |||
2110 | # returns layers for current project release that are not in the project set | 2124 | # returns layers for current project release that are not in the project set |
2111 | if request.GET['type'] == "layers": | 2125 | if request.GET['type'] == "layers": |
2112 | queryset_all = Layer_Version.objects.all() | 2126 | queryset_all = Layer_Version.objects.filter(layer__name__icontains=request.GET.get('value','')) |
2113 | if 'project_id' in request.session: | 2127 | queryset_all = queryset_all.filter(up_branch__name= prj.release.branch_name).exclude(pk__in = [x.id for x in reduce(lambda x, y: list(x) + list(y), map(lambda x: x.layercommit.get_equivalents_wpriority(prj), prj.projectlayer_set.all()))]) |
2114 | prj = Project.objects.get(pk = request.session['project_id']) | 2128 | |
2115 | queryset_all = queryset_all.filter(up_branch__release = prj.release).exclude(pk__in = map(lambda x: x.layercommit_id, prj.projectlayer_set.all())) | 2129 | queryset_all = set([x.get_equivalents_wpriority(prj)[0] for x in queryset_all[:8]]) |
2116 | queryset_all = queryset_all.filter(layer__name__icontains=request.GET.get('value','')) | 2130 | |
2117 | return HttpResponse(jsonfilter( { "error":"ok", | 2131 | return HttpResponse(jsonfilter( { "error":"ok", |
2118 | "list" : map( lambda x: {"id": x.pk, "name": x.layer.name, "detail": "(" + x.layer.layer_source.name + (")" if x.up_branch == None else " | "+x.up_branch.name+")")}, | 2132 | "list" : map( lambda x: {"id": x.pk, "name": "%s" % (x.layer.name, ), "detail": "(" + x.layer.vcs_url + (")" if x.up_branch == None else " | "+x.up_branch.name+")")}, |
2119 | queryset_all[:8]) | 2133 | queryset_all) |
2120 | }), content_type = "application/json") | 2134 | }), content_type = "application/json") |
2121 | 2135 | ||
2136 | |||
2122 | # returns layer dependencies for a layer, excluding current project layers | 2137 | # returns layer dependencies for a layer, excluding current project layers |
2123 | if request.GET['type'] == "layerdeps": | 2138 | if request.GET['type'] == "layerdeps": |
2124 | queryset_all = LayerVersionDependency.objects.filter(layer_version_id = request.GET['value']) | 2139 | queryset_all = LayerVersionDependency.objects.filter(layer_version_id = request.GET['value']) |
2125 | 2140 | queryset_all = queryset_all.exclude(depends_on__in = reduce(lambda x, y: list(x) + list(y), map(lambda x: x.layercommit.get_equivalents_wpriority(prj), prj.projectlayer_set.all()))) | |
2126 | if 'project_id' in request.session: | ||
2127 | prj = Project.objects.get(pk = request.session['project_id']) | ||
2128 | queryset_all = queryset_all.exclude(depends_on__in = map(lambda x: x.layercommit, prj.projectlayer_set.all())) | ||
2129 | |||
2130 | queryset_all.order_by("-up_id"); | 2141 | queryset_all.order_by("-up_id"); |
2131 | 2142 | ||
2132 | return HttpResponse(jsonfilter( { "error":"ok", | 2143 | return HttpResponse(jsonfilter( { "error":"ok", |
2133 | "list" : map( | 2144 | "list" : map( |
2134 | lambda x: {"id": x.pk, "name": x.layer.name, "detail": "(" + x.layer.layer_source.name + (")" if x.up_branch == None else " | "+x.up_branch.name+")"), | 2145 | lambda x: {"id": x.pk, "name": x.layer.name, "detail": "(" + x.layer.layer_source.name + (")" if x.up_branch == None else " | "+x.up_branch.name+")"), |
2135 | "layerdetailurl" : reverse('layerdetails', args=(x.pk,))}, | 2146 | "giturl": x.layer.vcs_url, "layerdetailurl" : reverse('layerdetails', args=(x.pk,))}, |
2136 | map(lambda x: x.depends_on, queryset_all)) | 2147 | map(lambda x: x.depends_on.get_equivalents_wpriority(prj)[0], queryset_all)) |
2137 | }), content_type = "application/json") | 2148 | }), content_type = "application/json") |
2138 | 2149 | ||
2150 | |||
2139 | # returns layer versions that would be deleted on the new release__pk | 2151 | # returns layer versions that would be deleted on the new release__pk |
2140 | if request.GET['type'] == "versionlayers": | 2152 | if request.GET['type'] == "versionlayers": |
2141 | if not 'project_id' in request.session: | 2153 | if not 'project_id' in request.session: |
2142 | raise Exception("This call cannot makes no sense outside a project context") | 2154 | raise Exception("This call cannot makes no sense outside a project context") |
2143 | 2155 | ||
2144 | retval = [] | 2156 | retval = [] |
2145 | prj = Project.objects.get(pk = request.session['project_id']) | ||
2146 | for i in prj.projectlayer_set.all(): | 2157 | for i in prj.projectlayer_set.all(): |
2147 | lv = Layer_Version.objects.filter(layer__name = i.layercommit.layer.name, up_branch__release__pk=request.GET['value']) | 2158 | lv = Layer_Version.objects.filter(layer__name = i.layercommit.layer.name, up_branch__name = Release.objects.get(pk=request.GET['value']).branch_name) |
2148 | if lv.count() != 1: # there is no layer_version with the new release id, and the same name | 2159 | if lv.count() < 1: # there is no layer_version with the new release id, and the same name |
2149 | retval.append(i) | 2160 | retval.append(i) |
2150 | 2161 | ||
2151 | return HttpResponse(jsonfilter( {"error":"ok", | 2162 | return HttpResponse(jsonfilter( {"error":"ok", |
@@ -2153,11 +2164,11 @@ if toastermain.settings.MANAGED: | |||
2153 | lambda x: {"id": x.layercommit.pk, "name": x.layercommit.layer.name, "detail": "(" + x.layercommit.layer.layer_source.name + (")" if x.layercommit.up_branch == None else " | "+x.layercommit.up_branch.name+")")}, | 2164 | lambda x: {"id": x.layercommit.pk, "name": x.layercommit.layer.name, "detail": "(" + x.layercommit.layer.layer_source.name + (")" if x.layercommit.up_branch == None else " | "+x.layercommit.up_branch.name+")")}, |
2154 | retval) }), content_type = "application/json") | 2165 | retval) }), content_type = "application/json") |
2155 | 2166 | ||
2167 | |||
2156 | # returns targets provided by current project layers | 2168 | # returns targets provided by current project layers |
2157 | if request.GET['type'] == "targets": | 2169 | if request.GET['type'] == "targets": |
2158 | queryset_all = Recipe.objects.all() | 2170 | queryset_all = Recipe.objects.all() |
2159 | if 'project_id' in request.session: | 2171 | queryset_all = queryset_all.filter(layer_version__in = reduce(lambda x, y: list(x) + list(y), map(lambda x: x.layercommit.get_equivalents_wpriority(prj), ProjectLayer.objects.filter(project = prj)))) |
2160 | queryset_all = queryset_all.filter(layer_version__layer__in = map(lambda x: x.layercommit.layer, ProjectLayer.objects.filter(project_id=request.session['project_id']))) | ||
2161 | return HttpResponse(jsonfilter({ "error":"ok", | 2172 | return HttpResponse(jsonfilter({ "error":"ok", |
2162 | "list" : map ( lambda x: {"id": x.pk, "name": x.name, "detail":"[" + x.layer_version.layer.name+ (" | " + x.layer_version.up_branch.name + "]" if x.layer_version.up_branch is not None else "]")}, | 2173 | "list" : map ( lambda x: {"id": x.pk, "name": x.name, "detail":"[" + x.layer_version.layer.name+ (" | " + x.layer_version.up_branch.name + "]" if x.layer_version.up_branch is not None else "]")}, |
2163 | queryset_all.filter(name__icontains=request.GET.get('value',''))[:8]), | 2174 | queryset_all.filter(name__icontains=request.GET.get('value',''))[:8]), |
@@ -2208,13 +2219,14 @@ if toastermain.settings.MANAGED: | |||
2208 | queryset_all = Layer_Version.objects.all() | 2219 | queryset_all = Layer_Version.objects.all() |
2209 | 2220 | ||
2210 | prj = Project.objects.get(pk = request.session['project_id']) | 2221 | prj = Project.objects.get(pk = request.session['project_id']) |
2211 | queryset_all = queryset_all.filter(up_branch__release = prj.release) | 2222 | queryset_all = queryset_all.filter(up_branch__name = prj.release.branch_name) |
2212 | 2223 | ||
2213 | queryset_with_search = _get_queryset(Layer_Version, queryset_all, None, search_term, ordering_string, '-layer__name') | 2224 | queryset_all = _get_queryset(Layer_Version, queryset_all, filter_string, search_term, ordering_string, '-layer__name') |
2214 | queryset = _get_queryset(Layer_Version, queryset_all, filter_string, search_term, ordering_string, '-layer__name') | 2225 | |
2226 | objects_all= list(set([x.get_equivalents_wpriority(prj)[0] for x in queryset_all[:pagesize]])) | ||
2215 | 2227 | ||
2216 | # retrieve the objects that will be displayed in the table; layers a paginator and gets a page range to display | 2228 | # retrieve the objects that will be displayed in the table; layers a paginator and gets a page range to display |
2217 | layer_info = _build_page_range(Paginator(queryset, request.GET.get('count', 10)),request.GET.get('page', 1)) | 2229 | layer_info = _build_page_range(Paginator(objects_all, request.GET.get('count', 10)),request.GET.get('page', 1)) |
2218 | 2230 | ||
2219 | 2231 | ||
2220 | context = { | 2232 | context = { |
@@ -2222,7 +2234,7 @@ if toastermain.settings.MANAGED: | |||
2222 | 'objects' : layer_info, | 2234 | 'objects' : layer_info, |
2223 | 'objectname' : "layers", | 2235 | 'objectname' : "layers", |
2224 | 'default_orderby' : 'layer__name:+', | 2236 | 'default_orderby' : 'layer__name:+', |
2225 | 'total_count': queryset_with_search.count(), | 2237 | 'total_count': queryset_all.count(), |
2226 | 2238 | ||
2227 | 'tablecols' : [ | 2239 | 'tablecols' : [ |
2228 | { 'name': 'Layer', | 2240 | { 'name': 'Layer', |
@@ -2241,7 +2253,7 @@ if toastermain.settings.MANAGED: | |||
2241 | 'filter': { | 2253 | 'filter': { |
2242 | 'class': 'layer', | 2254 | 'class': 'layer', |
2243 | 'label': 'Show:', | 2255 | 'label': 'Show:', |
2244 | 'options': map(lambda x: (x.name + " layers", 'layer_source__pk:' + str(x.id), queryset_with_search.filter(layer_source__pk = x.id).count() ), LayerSource.objects.all()), | 2256 | 'options': map(lambda x: (x.name + " layers", 'layer_source__pk:' + str(x.id), queryset_all.filter(layer_source__pk = x.id).count() ), LayerSource.objects.all()), |
2245 | } | 2257 | } |
2246 | }, | 2258 | }, |
2247 | { 'name': 'Git repository URL', | 2259 | { 'name': 'Git repository URL', |
@@ -2269,8 +2281,8 @@ if toastermain.settings.MANAGED: | |||
2269 | 'class': 'add-del-layers', | 2281 | 'class': 'add-del-layers', |
2270 | 'label': 'Show:', | 2282 | 'label': 'Show:', |
2271 | 'options': [ | 2283 | 'options': [ |
2272 | ('Layers added to this project', "projectlayer__project:" + str(prj.id), queryset_with_search.filter(projectlayer__project = prj.id).count()), | 2284 | ('Layers added to this project', "projectlayer__project:" + str(prj.id), queryset_all.filter(projectlayer__project = prj.id).count()), |
2273 | ('Layers not added to this project', "projectlayer__project:NOT" + str(prj.id), queryset_with_search.exclude(projectlayer__project = prj.id).count()), | 2285 | ('Layers not added to this project', "projectlayer__project:NOT" + str(prj.id), queryset_all.exclude(projectlayer__project = prj.id).count()), |
2274 | ] | 2286 | ] |
2275 | 2287 | ||
2276 | } | 2288 | } |
@@ -2300,7 +2312,7 @@ if toastermain.settings.MANAGED: | |||
2300 | (filter_string, search_term, ordering_string) = _search_tuple(request, Recipe) | 2312 | (filter_string, search_term, ordering_string) = _search_tuple(request, Recipe) |
2301 | 2313 | ||
2302 | prj = Project.objects.get(pk = request.session['project_id']) | 2314 | prj = Project.objects.get(pk = request.session['project_id']) |
2303 | queryset_all = Recipe.objects.filter(Q(layer_version__up_branch__release = prj.release) | Q(layer_version__build__in = prj.build_set.all())) | 2315 | queryset_all = Recipe.objects.filter(Q(layer_version__up_branch__name= prj.release.name) | Q(layer_version__build__in = prj.build_set.all())) |
2304 | 2316 | ||
2305 | queryset_with_search = _get_queryset(Recipe, queryset_all, None, search_term, ordering_string, '-name') | 2317 | queryset_with_search = _get_queryset(Recipe, queryset_all, None, search_term, ordering_string, '-name') |
2306 | 2318 | ||
@@ -2404,7 +2416,7 @@ if toastermain.settings.MANAGED: | |||
2404 | 2416 | ||
2405 | queryset_all = Machine.objects.all() | 2417 | queryset_all = Machine.objects.all() |
2406 | # if 'project_id' in request.session: | 2418 | # if 'project_id' in request.session: |
2407 | # queryset_all = queryset_all.filter(Q(layer_version__up_branch__release = Project.objects.get(request.session['project_id']).release) | Q(layer_version__build__in = Project.objects.get(request.session['project_id']).build_set.all())) | 2419 | # queryset_all = queryset_all.filter(Q(layer_version__up_branch__name = Project.objects.get(request.session['project_id']).release.branch_name) | Q(layer_version__build__in = Project.objects.get(request.session['project_id']).build_set.all())) |
2408 | 2420 | ||
2409 | queryset_with_search = _get_queryset(Machine, queryset_all, None, search_term, ordering_string, '-name') | 2421 | queryset_with_search = _get_queryset(Machine, queryset_all, None, search_term, ordering_string, '-name') |
2410 | queryset = _get_queryset(Machine, queryset_all, filter_string, search_term, ordering_string, '-name') | 2422 | queryset = _get_queryset(Machine, queryset_all, filter_string, search_term, ordering_string, '-name') |