diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 22:23:46 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 22:23:46 +0200 |
| commit | fc835921567bde864b158f0a26a9461334b8facd (patch) | |
| tree | 15c53d3ee13d79e72be949dc98d5c31195338a59 /ishtar_common/views.py | |
| parent | 7f481fdfc8ce76e70bb4496c63770f8b5a9255b6 (diff) | |
| parent | ba25fffca393f1a92d9e91422532a1da177b9e97 (diff) | |
| download | Ishtar-fc835921567bde864b158f0a26a9461334b8facd.tar.bz2 Ishtar-fc835921567bde864b158f0a26a9461334b8facd.zip | |
Merge branch 'v0.9' into wheezy
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index f4a8d02e2..59cfe6321 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -350,7 +350,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if specific_perms and perm not in specific_perms: continue cperm = model._meta.app_label + '.' + perm - if cperm in request.user.get_all_permissions() \ + if request.user.has_perm(cperm)\ + or cperm in request.user.get_all_permissions() \ or (request.user.is_authenticated() and request.user.ishtaruser.has_right( perm, session=request.session)): @@ -416,7 +417,12 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if 'submited' not in request_items: if default_name in request.session and \ request.session[default_name]: - dct = {"pk": request.session[default_name]} + value = request.session[default_name] + if 'basket-' in value: + dct = {"basket__pk": + request.session[default_name].split('-')[-1]} + else: + dct = {"pk": request.session[default_name]} elif not dct: for name in relative_session_names.keys(): if name in request.session and request.session[name]: |
