Fix payment reference issue with duplicate resolver
This commit is contained in:
@@ -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
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user