      Adds an X-View header to internal HEAD requests -- used by the documentation system.
      """
      def process_view(self, request, view_func, view_args, view_kwargs):
          """
          If the request method is HEAD and the IP is internal, quickly return
          with an x-header indicating the view function.  This is used by the
          documentation module to lookup the view function for an arbitrary page.
          """
          if request.method == 'HEAD' and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
              response = http.HttpResponse()
              response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__)
              return response
 
</s> remove         if request.method == 'HEAD' and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
 </s> add         if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or (request.user.is_authenticated() and request.user.is_staff)): </s> remove     given HttpRequest object has an IP address within the INTERNAL_IPS setting.
 </s> add     given HttpRequest object has an IP address within the INTERNAL_IPS setting
    or if the request is from a logged in staff member. </s> remove     if request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
 </s> add     if request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or (request.user.is_authenticated() and request.user.is_staff):
        If the request method is HEAD and either the IP is internal or the
        user is a logged-in staff member, quickly return with an x-header
        indicating the view function.  This is used by the documentation module
        to lookup the view function for an arbitrary page.
      Adds an X-View header to internal HEAD requests -- used by the documentation system.
      """
      def process_view(self, request, view_func, view_args, view_kwargs):
          """
        If the request method is HEAD and either the IP is internal or the
        user is a logged-in staff member, quickly return with an x-header
        indicating the view function.  This is used by the documentation module
        to lookup the view function for an arbitrary page.
        If the request method is HEAD and either the IP is internal or the
        user is a logged-in staff member, quickly return with an x-header
        indicating the view function.  This is used by the documentation module
        to lookup the view function for an arbitrary page.
        If the request method is HEAD and either the IP is internal or the
        user is a logged-in staff member, quickly return with an x-header
        indicating the view function.  This is used by the documentation module
        to lookup the view function for an arbitrary page.
          """
          if request.method == 'HEAD' and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
              response = http.HttpResponse()
              response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__)
              return response
keep keep keep keep replace replace replace keep keep keep keep keep
 Fixed #2747 -- Make X-Headers work for staff members. Admins with dyanmic IP
addresses can now use bookmarklets. Thanks, Maximillian Dornseif.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@3786 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/middleware/doc.py