Send an X-CSRFToken header when deleting integrations

Review Request #8490 — Created Oct. 25, 2016 and submitted

Information

Djblets
release-0.10.x

Reviewers

Previously, integrations could not be deleted. The view required a CSRF
token to be submitted but we were not sending one. Now we check for a
CSRF token field in the form before executing our HTTP DELETE request
and, if present, we add the X-CSRFToken header to the request. This
allows integrations to be deleted.

Able to delete an integration with this patch applied.

Description From Last Updated

Because there's only ever one of these on the page, and .val() returns undefined when there are no matching elements, …

daviddavid

There should only ever be one <input name="csrfmiddlewaretoken"> on the page, so this selector can just be $('input[name="csrfmiddlewaretoken"]')

daviddavid
reviewbot
  1. Tool: PEP8 Style Checker
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
    
    Tool: Pyflakes
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
  2. 
      
david
  1. 
      
  2. Show all issues

    Because there's only ever one of these on the page, and .val() returns undefined when there are no matching elements, this whole thing could be:

    var csrfToken = $('input[name="csrfmiddlewaretoken"]').val();
    
    if (csrfToken) {
        xhr.setRequestHeader('X-CSRFToken', csrfToken);
    }
    
  3. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
    
    Tool: Pyflakes
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
  2. 
      
david
  1. 
      
  2. Show all issues

    There should only ever be one <input name="csrfmiddlewaretoken"> on the page, so this selector can just be $('input[name="csrfmiddlewaretoken"]')

  3. 
      
brennie
reviewbot
  1. Tool: PEP8 Style Checker
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
    
    Tool: Pyflakes
    Ignored Files:
        djblets/integrations/templates/integrations/configure_integration.html
    
    
  2. 
      
david
  1. Ship It!
  2. 
      
brennie
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.10.x (70b7578)