Upgrade site and modules to Django 2.2. Remove and replace obsolete
functionality with current equivalents. Update requirements to latest
versions where possible. Remove unused dependencies.
Allow the recipient on an invoice to be updated without creating a new invoice.
This allows fixing of mistakes easily, especially for when it is given to someone
else to pay and a new invoice would be confusing.
Borrowed from the pyconau-2017 fork
To explain the impact of this - without this patch, if a user has
their invoice refunded, they are able to buy a new ticket; but
t-shirts, dinner tickets and so on do not become available to them
again because they are listed has already been in a cart for them.
Applying the patch now correctly checks to see if they currently have
a ticket.
From 731eee0a4c42a5013ee312b1ff50548e4d89a2ff Mon Sep 17 00:00:00 2001
From: Richard Jones <r1chardj0n3s@gmail.com>
Date: Sun, 4 Jun 2017 13:22:34 +1000
Subject: [PATCH] Fix query modification so that conditions are combined
Previously it was checking if the user has a product from the category
in a cart, and if there is no cart that is released (refunded).
Not *if the user has a product in a cart that is not released*.
This patch combines them. In the absence of a __ne operation in the
joining syntax, a double equality check is needed.
Signed-off-by: Richard Jones <r1chardj0n3s@gmail.com>