diff options
Diffstat (limited to 'ishtar/furnitures/views.py')
| -rw-r--r-- | ishtar/furnitures/views.py | 17 |
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)) |
