summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r--ishtar/furnitures/views.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index 5f1c032a5..29c6e11be 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -21,8 +21,10 @@
Furnitures views
"""
+from django.http import HttpResponse
from django.template import RequestContext
from django.shortcuts import render_to_response
+from django.utils.translation import ugettext, ugettext_lazy as _
from ishtar import settings
from menus import menu
@@ -34,16 +36,21 @@ def index(request):
dct = {}
return render_to_response('index.html', dct,
context_instance=RequestContext(request))
-def action(request, action):
+def action(request, action, obj=None, step=None):
"""
- Main page
+ Action management
"""
-
+ if obj and not menu.items[action].is_available(request.user, obj) or \
+ not menu.items[action].can_be_available(request.user):
+ not_permitted_msg = ugettext(u"Operation not permitted.")
+ return HttpResponse(not_permitted_msg)
dct = {'current_action':action}
+ globals_dct = globals()
+ if action in globals_dct:
+ return globals_dct[action](request, dct, obj, step)
return render_to_response('index.html', dct,
context_instance=RequestContext(request))
-def file_creation(request):
- dct = {'current_action':'file_creation'}
+def file_creation(request, dct, obj, step):
return render_to_response('index.html', dct,
context_instance=RequestContext(request))