StudentProposal content is now a TextProperty.
This is necessary to allow more then 500 bytes of content.
Patch by: Lennard de Rijk
Reviewed by: to-be-reviewed
"""A few bits of helper functions for comment views."""import urllibimport textwrapfrom django.http import HttpResponseRedirectfrom django.core import urlresolversfrom django.shortcuts import render_to_responsefrom django.template import RequestContextfrom django.core.exceptions import ObjectDoesNotExistfrom django.conf import settingsfrom django.contrib import commentsdef next_redirect(data, default, default_view, **get_kwargs): """ Handle the "where should I go next?" part of comment views. The next value could be a kwarg to the function (``default``), or a ``?next=...`` GET arg, or the URL of a given view (``default_view``). See the view modules for examples. Returns an ``HttpResponseRedirect``. """ next = data.get("next", default) if next is None: next = urlresolvers.reverse(default_view) if get_kwargs: next += "?" + urllib.urlencode(get_kwargs) return HttpResponseRedirect(next)def confirmation_view(template, doc="Display a confirmation view."): """ Confirmation view generator for the "comment was posted/flagged/deleted/approved" views. """ def confirmed(request): comment = None if 'c' in request.GET: try: comment = comments.get_model().objects.get(pk=request.GET['c']) except ObjectDoesNotExist: pass return render_to_response(template, {'comment': comment}, context_instance=RequestContext(request) ) confirmed.__doc__ = textwrap.dedent("""\ %s Templates: `%s`` Context: comment The posted comment """ % (doc, template) ) return confirmed