web/lib/django/views/generic/create_update.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
     4 from django.core.xheaders import populate_xheaders
     4 from django.core.xheaders import populate_xheaders
     5 from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured
     5 from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured
     6 from django.utils.translation import ugettext
     6 from django.utils.translation import ugettext
     7 from django.contrib.auth.views import redirect_to_login
     7 from django.contrib.auth.views import redirect_to_login
     8 from django.views.generic import GenericViewError
     8 from django.views.generic import GenericViewError
       
     9 from django.contrib import messages
     9 
    10 
    10 
    11 
    11 def apply_extra_context(extra_context, context):
    12 def apply_extra_context(extra_context, context):
    12     """
    13     """
    13     Adds items from extra_context dict to context.  If a value in extra_context
    14     Adds items from extra_context dict to context.  If a value in extra_context
   108     model, form_class = get_model_and_form_class(model, form_class)
   109     model, form_class = get_model_and_form_class(model, form_class)
   109     if request.method == 'POST':
   110     if request.method == 'POST':
   110         form = form_class(request.POST, request.FILES)
   111         form = form_class(request.POST, request.FILES)
   111         if form.is_valid():
   112         if form.is_valid():
   112             new_object = form.save()
   113             new_object = form.save()
   113             if request.user.is_authenticated():
   114             
   114                 request.user.message_set.create(message=ugettext("The %(verbose_name)s was created successfully.") % {"verbose_name": model._meta.verbose_name})
   115             msg = ugettext("The %(verbose_name)s was created successfully.") %\
       
   116                                     {"verbose_name": model._meta.verbose_name}
       
   117             messages.success(request, msg, fail_silently=True)
   115             return redirect(post_save_redirect, new_object)
   118             return redirect(post_save_redirect, new_object)
   116     else:
   119     else:
   117         form = form_class()
   120         form = form_class()
   118 
   121 
   119     # Create the template, context, response
   122     # Create the template, context, response
   150 
   153 
   151     if request.method == 'POST':
   154     if request.method == 'POST':
   152         form = form_class(request.POST, request.FILES, instance=obj)
   155         form = form_class(request.POST, request.FILES, instance=obj)
   153         if form.is_valid():
   156         if form.is_valid():
   154             obj = form.save()
   157             obj = form.save()
   155             if request.user.is_authenticated():
   158             msg = ugettext("The %(verbose_name)s was updated successfully.") %\
   156                 request.user.message_set.create(message=ugettext("The %(verbose_name)s was updated successfully.") % {"verbose_name": model._meta.verbose_name})
   159                                     {"verbose_name": model._meta.verbose_name}
       
   160             messages.success(request, msg, fail_silently=True)
   157             return redirect(post_save_redirect, obj)
   161             return redirect(post_save_redirect, obj)
   158     else:
   162     else:
   159         form = form_class(instance=obj)
   163         form = form_class(instance=obj)
   160 
   164 
   161     if not template_name:
   165     if not template_name:
   192 
   196 
   193     obj = lookup_object(model, object_id, slug, slug_field)
   197     obj = lookup_object(model, object_id, slug, slug_field)
   194 
   198 
   195     if request.method == 'POST':
   199     if request.method == 'POST':
   196         obj.delete()
   200         obj.delete()
   197         if request.user.is_authenticated():
   201         msg = ugettext("The %(verbose_name)s was deleted.") %\
   198             request.user.message_set.create(message=ugettext("The %(verbose_name)s was deleted.") % {"verbose_name": model._meta.verbose_name})
   202                                     {"verbose_name": model._meta.verbose_name}
       
   203         messages.success(request, msg, fail_silently=True)
   199         return HttpResponseRedirect(post_delete_redirect)
   204         return HttpResponseRedirect(post_delete_redirect)
   200     else:
   205     else:
   201         if not template_name:
   206         if not template_name:
   202             template_name = "%s/%s_confirm_delete.html" % (model._meta.app_label, model._meta.object_name.lower())
   207             template_name = "%s/%s_confirm_delete.html" % (model._meta.app_label, model._meta.object_name.lower())
   203         t = template_loader.get_template(template_name)
   208         t = template_loader.get_template(template_name)