web/lib/django/contrib/messages/tests/urls.py
changeset 29 cc9b7e14412b
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
       
     1 from django.conf.urls.defaults import *
       
     2 from django.contrib import messages
       
     3 from django.core.urlresolvers import reverse
       
     4 from django.http import HttpResponseRedirect, HttpResponse
       
     5 from django.shortcuts import render_to_response
       
     6 from django.template import RequestContext, Template
       
     7 
       
     8 
       
     9 def add(request, message_type):
       
    10     # don't default to False here, because we want to test that it defaults
       
    11     # to False if unspecified
       
    12     fail_silently = request.POST.get('fail_silently', None)
       
    13     for msg in request.POST.getlist('messages'):
       
    14         if fail_silently is not None:
       
    15             getattr(messages, message_type)(request, msg,
       
    16                                             fail_silently=fail_silently)
       
    17         else:
       
    18             getattr(messages, message_type)(request, msg)
       
    19     show_url = reverse('django.contrib.messages.tests.urls.show')
       
    20     return HttpResponseRedirect(show_url)
       
    21 
       
    22 
       
    23 def show(request):
       
    24     t = Template("""{% if messages %}
       
    25 <ul class="messages">
       
    26     {% for message in messages %}
       
    27     <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
       
    28         {{ message }}
       
    29     </li>
       
    30     {% endfor %}
       
    31 </ul>
       
    32 {% endif %}""")
       
    33     return HttpResponse(t.render(RequestContext(request)))
       
    34 
       
    35 
       
    36 urlpatterns = patterns('',
       
    37     ('^add/(debug|info|success|warning|error)/$', add),
       
    38     ('^show/$', show),
       
    39 )