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))  | 
