aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2014-09-04 17:00:11 +0100
committerAlexandru DAMIAN <alexandru.damian@intel.com>2014-09-04 17:00:11 +0100
commit39d0f0c2e87d4b161f1eeaa2657e61b5a6bc9ee2 (patch)
tree0a2e9578e40ed062861657890706929d7d8a7595
parentc2ad9c9bb83f61c171434324df8c4d5ee655a556 (diff)
downloadbitbake-39d0f0c2e87d4b161f1eeaa2657e61b5a6bc9ee2.tar.gz
toaster: do not save objects in session
In order to avoid problems when using JSON serializer for saving sessions, we move from storing the objects themselves in the session to storing the object id and reloading the object when retrieved. This allows, for example, to use cookie-storage sessions if the infrastructure owner so desires. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
-rwxr-xr-xlib/toaster/toastergui/views.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 13788b0d5..22b26d0e8 100755
--- a/lib/toaster/toastergui/views.py
+++ b/lib/toaster/toastergui/views.py
@@ -1774,8 +1774,8 @@ if toastermain.settings.MANAGED:
"projects": Project.objects.all(),
"MANAGED" : toastermain.settings.MANAGED
}
- if 'project' in request.session:
- ret['project'] = request.session['project']
+ if 'project_id' in request.session:
+ ret['project'] = Project.objects.get(pk = request.session['project_id'])
return ret
# new project
@@ -1841,7 +1841,7 @@ if toastermain.settings.MANAGED:
puser = None
# we use implicit knowledge of the current user's project to filter layer information, e.g.
- request.session['project'] = prj
+ request.session['project_id'] = prj.id
context = {
"project" : prj,
@@ -1937,8 +1937,8 @@ if toastermain.settings.MANAGED:
(filter_string, search_term, ordering_string) = _search_tuple(request, Layer_Version)
queryset_all = Layer_Version.objects.all()
- if 'project' in request.session:
- queryset_all = queryset_all.filter(up_branch__in = Branch.objects.filter(name = request.session['project'].release.name))
+ if 'project_id' in request.session:
+ queryset_all = queryset_all.filter(up_branch__in = Branch.objects.filter(name = Project.objects.get(pk = request.session['project_id']).release.name))
queryset_with_search = _get_queryset(Layer_Version, queryset_all, None, search_term, ordering_string, '-layer__name')
queryset = _get_queryset(Layer_Version, queryset_all, filter_string, search_term, ordering_string, '-layer__name')
@@ -2023,8 +2023,8 @@ if toastermain.settings.MANAGED:
(filter_string, search_term, ordering_string) = _search_tuple(request, Recipe)
queryset_all = Recipe.objects.all()
- if 'project' in request.session:
- queryset_all = queryset_all.filter(Q(layer_version__up_branch__in = Branch.objects.filter(name = request.session['project'].release.name)) | Q(layer_version__build__in = request.session['project'].build_set.all()))
+ if 'project_id' in request.session:
+ queryset_all = queryset_all.filter(Q(layer_version__up_branch__in = Branch.objects.filter(name = Project.objects.get(pk=request.session['project_id']).release.name)) | Q(layer_version__build__in = Project.objects.get(pk = request.session['project_id']).build_set.all()))
queryset_with_search = _get_queryset(Recipe, queryset_all, None, search_term, ordering_string, '-name')
queryset = _get_queryset(Recipe, queryset_all, filter_string, search_term, ordering_string, '-name')
@@ -2107,8 +2107,8 @@ if toastermain.settings.MANAGED:
(filter_string, search_term, ordering_string) = _search_tuple(request, Machine)
queryset_all = Machine.objects.all()
-# if 'project' in request.session:
-# queryset_all = queryset_all.filter(Q(layer_version__up_branch__in = Branch.objects.filter(name = request.session['project'].release.name)) | Q(layer_version__build__in = request.session['project'].build_set.all()))
+# if 'project_id' in request.session:
+# queryset_all = queryset_all.filter(Q(layer_version__up_branch__in = Branch.objects.filter(name = Project.objects.get(request.session['project_id']).release.name)) | Q(layer_version__build__in = Project.objects.get(request.session['project_id']).build_set.all()))
queryset_with_search = _get_queryset(Machine, queryset_all, None, search_term, ordering_string, '-name')
queryset = _get_queryset(Machine, queryset_all, filter_string, search_term, ordering_string, '-name')