+from django.contrib.auth.decorators import login_required, permission_required
+
+from django.core.urlresolvers import reverse
+from django.http import HttpResponse
+from django.utils import simplejson as json
+from django.views.generic.simple import direct_to_template
+from django.shortcuts import render_to_response
+from django.template import RequestContext
+from django.contrib.auth.decorators import login_required
+
+from explorer import forms
+# from api.models import PullRequest
+from bookthemes.models import Theme
+
+def ajax_login_required(view):
+ """Similar ro @login_required, but instead of redirect,
+ just return some JSON stuff with error."""
+ def view_with_auth(request, *args, **kwargs):
+ if request.user.is_authenticated():
+ return view(request, *args, **kwargs)
+ # not authenticated
+ return HttpResponse( json.dumps({'result': 'access_denied', 'errors': ['Brak dostępu.']}) );
+ return view_with_auth
+
+@login_required
+def display_editor(request, path):
+ user = request.GET.get('user', request.user.username)
+ gallery_form = forms.GalleryChoiceForm()
+
+ return render_to_response('explorer/editor.html',
+ # mimetype="text/html",
+ dictionary = {
+ 'fileid': path,
+ 'euser': user,
+ 'gallery_form': gallery_form,
+ 'available_themes': ({'first_letter': t.name[0].upper(), 'name': t.name} for t in Theme.objects.order_by('name')),
+ }, context_instance=RequestContext(request))