summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py12
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]: