Fix payment reference issue with duplicate resolver

This commit is contained in:
Jan Tuomi
2017-06-01 18:39:26 +03:00
parent 5c8dfdfd1d
commit c36ef9ad3f
7 changed files with 87 additions and 55 deletions
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11 on 2017-06-01 15:22
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('members', '0012_memberconflict'),
]
operations = [
migrations.AlterField(
model_name='payment',
name='member',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='payments', to='members.Member'),
),
]
+5 -1
View File
@@ -85,7 +85,11 @@ class Payment(models.Model):
('bank_transfer', _('Bank transfer')),
], max_length=255)
member = models.ForeignKey('Member', on_delete=models.SET_NULL, blank=True, null=True)
member = models.ForeignKey('Member',
on_delete=models.PROTECT,
blank=True,
null=True,
related_name='payments')
def __str__(self):
return 'Payment no. {}, {}'.format(self.id, str(self.date))
+6
View File
@@ -486,8 +486,14 @@ def resolve_conflict(request, *args, **kwargs):
second_member = conflict.second_member
if action == 'first':
for payment in second_member.payments.all():
payment.member = first_member
payment.save()
second_member.delete()
elif action == 'second':
for payment in first_member.payments.all():
payment.member = second_member
payment.save()
first_member.delete()
conflict.delete()