Ñò
À!sMc           @   s‰  d  d k  l Z d  d k l Z d  d k l Z d  d k l Z l	 Z	 d  d k
 l Z l Z l Z d e f d „  ƒ  YZ d e e f d	 „  ƒ  YZ d
 e	 f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   models(   t   ImproperlyConfigured(   t   HttpResponseRedirect(   t   TemplateResponseMixint   View(   t   SingleObjectMixint!   SingleObjectTemplateResponseMixint   BaseDetailViewt	   FormMixinc           B   sh   e  Z d  Z h  Z d	 Z d	 Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z RS(
   sM   
    A mixin that provides a way to show and handle a form in a request.
    c         C   s   |  i  S(   sI   
        Returns the initial data to use for forms on this view.
        (   t   initial(   t   self(    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get_initial   s    c         C   s   |  i  S(   s<   
        Returns the form class to use in this view
        (   t
   form_class(   R
   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get_form_class   s    c         C   s   | |  i  ƒ    S(   sJ   
        Returns an instance of the form to be used in this view.
        (   t   get_form_kwargs(   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get_form   s    c         C   sU   h |  i  ƒ  d 6} |  i i d j o+ | i h |  i i d 6|  i i d 6ƒ n | S(   sK   
        Returns the keyword arguments for instanciating the form.
        R	   t   POSTt   PUTt   datat   files(   s   POSTR   (   R   t   requestt   methodt   updateR   t   FILES(   R
   t   kwargs(    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   $   s    	c         K   s   | S(   N(    (   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get_context_data0   s    c         C   s'   |  i  o |  i  } n t d ƒ ‚ | S(   Ns-   No URL to redirect to. Provide a success_url.(   t   success_urlR   (   R
   t   url(    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get_success_url3   s
    
	c         C   s   t  |  i ƒ  ƒ S(   N(   R   R   (   R
   t   form(    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt
   form_valid;   s    c         C   s   |  i  |  i d | ƒ ƒ S(   NR   (   t   render_to_responseR   (   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   form_invalid>   s    N(   t   __name__t
   __module__t   __doc__R	   t   NoneR   R   R   R   R   R   R   R   R   R    (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   	   s   							t   ModelFormMixinc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   sR   
    A mixin that provides a way to show and handle a modelform in a request.
    c         C   s   |  i  o |  i  S|  i d j	 o |  i } n@ t |  d ƒ o  |  i d j	 o |  i i } n |  i ƒ  i } t i | ƒ Sd S(   s<   
        Returns the form class to use in this view
        t   objectN(	   R   t   modelR$   t   hasattrR&   t	   __class__t   get_querysett   model_formst   modelform_factory(   R
   R'   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   G   s    
 c         C   s0   t  t |  ƒ i ƒ  } | i h |  i d 6ƒ | S(   sK   
        Returns the keyword arguments for instanciating the form.
        t   instance(   t   superR%   R   R   R&   (   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   [   s    c         C   sZ   |  i  o |  i  |  i i } n6 y |  i i ƒ  } Wn t j
 o t d ƒ ‚ n X| S(   Ns^   No URL to redirect to.  Either provide a url or define a get_absolute_url method on the Model.(   R   R&   t   __dict__t   get_absolute_urlt   AttributeErrorR   (   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   c   s    
c         C   s%   | i  ƒ  |  _ t t |  ƒ i | ƒ S(   N(   t   saveR&   R.   R%   R   (   R
   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   o   s    c         K   sO   | } |  i  o; |  i  | d <|  i |  i  ƒ } | o |  i  | | <qK n | S(   NR&   (   R&   t   get_context_object_name(   R
   R   t   contextt   context_object_name(    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   s   s    
(   R!   R"   R#   R   R   R   R   R   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR%   B   s   				t   ProcessFormViewc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s0   
    A mixin that processes a form on POST.
    c         O   s4   |  i  ƒ  } |  i | ƒ } |  i |  i d | ƒ ƒ S(   NR   (   R   R   R   R   (   R
   R   t   argsR   R   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   get   s    c         O   sG   |  i  ƒ  } |  i | ƒ } | i ƒ  o |  i | ƒ S|  i | ƒ Sd  S(   N(   R   R   t   is_validR   R    (   R
   R   R7   R   R   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   post†   s
    c         O   s   |  i  | | Ž  S(   N(   R:   (   R
   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   put   s    (   R!   R"   R#   R8   R:   R;   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR6   }   s   		
t   BaseFormViewc           B   s   e  Z d  Z RS(   s+   
    A base view for displaying a form
    (   R!   R"   R#   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR<   ”   s   t   FormViewc           B   s   e  Z d  Z RS(   sJ   
    A view for displaying a form, and rendering a template response.
    (   R!   R"   R#   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR=   š   s   t   BaseCreateViewc           B   s    e  Z d  Z d „  Z d „  Z RS(   s…   
    Base view for creating an new object instance.

    Using this base class requires subclassing to provide a response mixin.
    c         O   s%   d  |  _ t t |  ƒ i | | | Ž S(   N(   R$   R&   R.   R>   R8   (   R
   R   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR8   ¦   s    	c         O   s%   d  |  _ t t |  ƒ i | | | Ž S(   N(   R$   R&   R.   R>   R:   (   R
   R   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR:   ª   s    	(   R!   R"   R#   R8   R:   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR>       s   	t
   CreateViewc           B   s   e  Z d  Z d Z RS(   s]   
    View for creating an new object instance,
    with a response rendered by template.
    t   _form(   R!   R"   R#   t   template_name_suffix(    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR?   ¯   s   t   BaseUpdateViewc           B   s    e  Z d  Z d „  Z d „  Z RS(   s   
    Base view for updating an existing object.

    Using this base class requires subclassing to provide a response mixin.
    c         O   s+   |  i  ƒ  |  _ t t |  ƒ i | | | Ž S(   N(   t
   get_objectR&   R.   RB   R8   (   R
   R   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR8   ½   s    c         O   s+   |  i  ƒ  |  _ t t |  ƒ i | | | Ž S(   N(   RC   R&   R.   RB   R:   (   R
   R   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR:   Á   s    (   R!   R"   R#   R8   R:   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRB   ·   s   	t
   UpdateViewc           B   s   e  Z d  Z d Z RS(   sQ   
    View for updating an object,
    with a response rendered by template..
    R@   (   R!   R"   R#   RA   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRD   Æ   s   t   DeletionMixinc           B   s/   e  Z d  Z d Z d „  Z d „  Z d „  Z RS(   s9   
    A mixin providing the ability to delete objects
    c         O   s,   |  i  ƒ  |  _ |  i i ƒ  t |  i ƒ  ƒ S(   N(   RC   R&   t   deleteR   R   (   R
   R   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRF   Ô   s    c         O   s   |  i  | | Ž  S(   N(   RF   (   R
   R7   R   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR:   Ú   s    c         C   s"   |  i  o |  i  St d ƒ ‚ d  S(   Ns-   No URL to redirect to. Provide a success_url.(   R   R   (   R
   (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyR   Ý   s    
N(   R!   R"   R#   R$   R   RF   R:   R   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRE   Î   s
   		t   BaseDeleteViewc           B   s   e  Z d  Z RS(   sx   
    Base view for deleting an object.

    Using this base class requires subclassing to provide a response mixin.
    (   R!   R"   R#   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRG   å   s   t
   DeleteViewc           B   s   e  Z d  Z d Z RS(   ss   
    View for deleting an object retrieved with `self.get_object()`,
    with a response rendered by template.
    t   _confirm_delete(   R!   R"   R#   RA   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyRH   í   s   N(   t   django.formsR    R+   t   django.core.exceptionsR   t   django.httpR   t   django.views.generic.baseR   R   t   django.views.generic.detailR   R   R   R&   R   R%   R6   R<   R=   R>   R?   RB   RD   RE   RG   RH   (    (    (    sC   /usr/local/lib/python2.6/dist-packages/django/views/generic/edit.pyt   <module>   s    9;