diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-09-04 17:00:11 +0100 |
---|---|---|
committer | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-09-04 17:00:11 +0100 |
commit | 39d0f0c2e87d4b161f1eeaa2657e61b5a6bc9ee2 (patch) | |
tree | 0a2e9578e40ed062861657890706929d7d8a7595 | |
parent | c2ad9c9bb83f61c171434324df8c4d5ee655a556 (diff) | |
download | bitbake-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-x | lib/toaster/toastergui/views.py | 18 |
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') |