view share/roundup/templates/devel/html/query.js @ 5220:14d8f61e6ef2

Reimplemented anti-csrf measures by raising exceptions rather than returning booleans. Redoing it using exceptions was the easiest way to return proper xmlrpc fault messages to the clients. Also this code should now properly make values set in the form override values from the database. So no lost work under some circumstances if the csrf requirements are not met. Also this code does a better job of cleaning up old csrf tokens.
author John Rouillard <rouilj@ieee.org>
date Wed, 05 Apr 2017 20:56:08 -0400
parents 04264349c483
children
line wrap: on
line source

var action;

function display(data)
{
  var list = $("div.list");
  list.empty();
  list.append(data);
}

// Run a query with a specific starting point and size
function query_start(start, size)
{
  var inputs = $(":input");
  var data = {}
  if (start > 0) data['@startwith'] = start
  if (size > -1) data['@pagesize'] = size
  for (var i = 0; i < inputs.length; i++)
    data[inputs[i].name] = inputs[i].value;
  jQuery.get(action, data, display);
  return false;
}

// Run a query, starting at the first element
function query()
{
  return query_start(0, -1)
}

// Deactivate the form's submit action, and instead
// invoke the action as part of (inline) query.
function replace_submit()
{
  var form = $("form");
  action = form.attr("action");
  form.attr("action",""); // reset
  form.submit(query);
}


$(document).ready(replace_submit);

Roundup Issue Tracker: http://roundup-tracker.org/