diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 22:05:13 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 22:05:13 +0200 |
| commit | dd098e6bab668d5d602b2d5c4dd64af3d0aa62b4 (patch) | |
| tree | 4fdfe0c828e975812fdc6a8ededba4995300ecc2 /ishtar_common/views.py | |
| parent | 5f77b4d18fdd1f4b8c6e967d65dc949197a28243 (diff) | |
| parent | 6bcaf64532e8b1ea76e5e74e3291fac2b238f838 (diff) | |
| download | Ishtar-dd098e6bab668d5d602b2d5c4dd64af3d0aa62b4.tar.bz2 Ishtar-dd098e6bab668d5d602b2d5c4dd64af3d0aa62b4.zip | |
Merge branch 'master' into v0.9
Conflicts:
ishtar_common/views.py
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]: |
