Negative transactions are never matched automatically, which does not
change. However, when matching them manually, a negative payment was
created, which does not make much sense. Now, if a negative payment is
manually matched, the system checks whether:
a) There is a manual refund in pending state. In this case, the refund
will be marked as done.
b) There is a bank transfer payment of the same amount, in which case
this is handled like a credit card chargeback (i.e. notification on
the dashboard, ...)
c) Otherwise, an error will be returned asking the user to create a
refund object manually.
- [x] Data model
- [x] display in order view in backend
- [x] review all usages of OrderPositions.objects
- [x] review all usages of order.positions
- [x] review all other model usages
- [x] review plugins
- [x] plugins backwards-compatible API?
- [x] decide on way forward for REST API
- [x] need to cancel fees
- [x] tests
- [ ] plugins
- [ ] gdpr
- [ ] reports
- [x] docs
* New models
* CRUD UI
* UI for adding/removing team members
* Log display for teams
* Fix invitations, move frontend
* Drop old models (incomplete)
* Drop more old stuff
* Drop even more old stuff
* Fix tests
* Fix permission test
* flake8 fix
* Add tests fore the new code
* Rebase migrations