Fix payment reference issue with duplicate resolver
This commit is contained in:
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-29 22:48+0300\n"
|
||||
"POT-Creation-Date: 2017-06-01 18:11+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -394,96 +394,96 @@ msgid "Language"
|
||||
msgstr "Language"
|
||||
|
||||
#: members/templates/settings.html:20 sikweb/settings-sample.py:179
|
||||
#: sikweb/settings.py:177
|
||||
#: sikweb/settings.py:178
|
||||
msgid "Finnish"
|
||||
msgstr "Finnish"
|
||||
|
||||
#: members/templates/settings.html:21 sikweb/settings-sample.py:178
|
||||
#: sikweb/settings.py:176
|
||||
#: sikweb/settings.py:177
|
||||
msgid "English"
|
||||
msgstr "English"
|
||||
|
||||
#: members/views.py:128 members/views.py:185 members/views.py:204
|
||||
#: members/views.py:129 members/views.py:186 members/views.py:205
|
||||
msgid "No member id specified"
|
||||
msgstr "No member id specified"
|
||||
|
||||
#: members/views.py:150
|
||||
#: members/views.py:151
|
||||
msgid "Successfully added member"
|
||||
msgstr "Successfully added member"
|
||||
|
||||
#: members/views.py:171
|
||||
#: members/views.py:172
|
||||
msgid "Successfully updated member"
|
||||
msgstr "Successfully updated member"
|
||||
|
||||
#: members/views.py:175
|
||||
#: members/views.py:176
|
||||
msgid "Could not update member object"
|
||||
msgstr "Could not update member object"
|
||||
|
||||
#: members/views.py:189
|
||||
#: members/views.py:190
|
||||
msgid "Successfully deleted member"
|
||||
msgstr "Successfully deleted member"
|
||||
|
||||
#: members/views.py:195
|
||||
#: members/views.py:196
|
||||
msgid "Could not delete member object"
|
||||
msgstr "Could not delete member object"
|
||||
|
||||
#: members/views.py:238 members/views.py:272 members/views.py:290
|
||||
#: members/views.py:239 members/views.py:273 members/views.py:291
|
||||
msgid "No application id specified"
|
||||
msgstr "No application id specified"
|
||||
|
||||
#: members/views.py:259
|
||||
#: members/views.py:260
|
||||
msgid "Successfully accepted application"
|
||||
msgstr "Successfully accepted application"
|
||||
|
||||
#: members/views.py:262
|
||||
#: members/views.py:263
|
||||
msgid "Could not accept application object"
|
||||
msgstr "Could not accept application object"
|
||||
|
||||
#: members/views.py:276
|
||||
#: members/views.py:277
|
||||
msgid "Successfully deleted application"
|
||||
msgstr "Successfully deleted application"
|
||||
|
||||
#: members/views.py:281
|
||||
#: members/views.py:282
|
||||
msgid "Could not delete application object"
|
||||
msgstr "Could not delete application object"
|
||||
|
||||
#: members/views.py:345
|
||||
#: members/views.py:346
|
||||
msgid "Successfully added payment for member"
|
||||
msgstr "Successfully added payment for member"
|
||||
|
||||
#: members/views.py:358 members/views.py:371 members/views.py:385
|
||||
#: members/views.py:359 members/views.py:372 members/views.py:386
|
||||
msgid "No payment id specified"
|
||||
msgstr "No payment id specified"
|
||||
|
||||
#: members/views.py:389
|
||||
#: members/views.py:390
|
||||
msgid "Successfully deleted payment"
|
||||
msgstr "Successfully deleted payment"
|
||||
|
||||
#: members/views.py:394
|
||||
#: members/views.py:395
|
||||
msgid "Could not delete payment object"
|
||||
msgstr "Could not delete payment object"
|
||||
|
||||
#: members/views.py:409
|
||||
#: members/views.py:410
|
||||
msgid "Successfully updated payment"
|
||||
msgstr "Successfully updated payment"
|
||||
|
||||
#: members/views.py:412
|
||||
#: members/views.py:413
|
||||
msgid "Could not update payment object"
|
||||
msgstr "Could not update payment object"
|
||||
|
||||
#: members/views.py:429
|
||||
#: members/views.py:430
|
||||
msgid "Missing \"textfield\" POST request field"
|
||||
msgstr "Missing \"textfield\" POST request field"
|
||||
|
||||
#: members/views.py:434
|
||||
#: members/views.py:435
|
||||
msgid "Successfully imported multiple members"
|
||||
msgstr "Successfully imported multiple members"
|
||||
|
||||
#: members/views.py:437
|
||||
#: members/views.py:438
|
||||
msgid "Failed to import members"
|
||||
msgstr "Failed to import members"
|
||||
|
||||
#: members/views.py:497
|
||||
#: members/views.py:498
|
||||
#, fuzzy
|
||||
#| msgid "Successfully deleted member"
|
||||
msgid "Successfully resolved all member conflicts."
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-29 22:48+0300\n"
|
||||
"POT-Creation-Date: 2017-06-01 18:11+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -300,7 +300,8 @@ msgstr "Ongelmalliset jäsentiedot"
|
||||
#: members/templates/member_duplicates.html:13
|
||||
msgid ""
|
||||
"Found conflicting member entries. Choose how to handle the problematic data."
|
||||
msgstr "Ongelmallista jäsendataa havaittu. Valitse, miten ongelmat ratkaistaan."
|
||||
msgstr ""
|
||||
"Ongelmallista jäsendataa havaittu. Valitse, miten ongelmat ratkaistaan."
|
||||
|
||||
#: members/templates/member_duplicates.html:29
|
||||
msgid "Which one has the correct information for this member?"
|
||||
@@ -330,8 +331,10 @@ msgstr "Jäsenrekisteri"
|
||||
msgid ""
|
||||
"There are duplicate member entries in the register.\n"
|
||||
" Please visit <a href=\"/members/duplicates\">duplicate resolver</a>."
|
||||
msgstr "Jäsenrekisterissä on duplikaattijäseniä.\n"
|
||||
" Käytä ongelman ratkaisuun <a href=\"/members/duplicates\">duplikaattityökalua</a>."
|
||||
msgstr ""
|
||||
"Jäsenrekisterissä on duplikaattijäseniä.\n"
|
||||
" Käytä ongelman ratkaisuun <a href=\"/members/duplicates"
|
||||
"\">duplikaattityökalua</a>."
|
||||
|
||||
#: members/templates/member_list.html:30
|
||||
msgid "Download CSV"
|
||||
@@ -399,100 +402,98 @@ msgid "Language"
|
||||
msgstr "Kieli"
|
||||
|
||||
#: members/templates/settings.html:20 sikweb/settings-sample.py:179
|
||||
#: sikweb/settings.py:177
|
||||
#: sikweb/settings.py:178
|
||||
msgid "Finnish"
|
||||
msgstr "suomi"
|
||||
|
||||
#: members/templates/settings.html:21 sikweb/settings-sample.py:178
|
||||
#: sikweb/settings.py:176
|
||||
#: sikweb/settings.py:177
|
||||
msgid "English"
|
||||
msgstr "englanti"
|
||||
|
||||
#: members/views.py:128 members/views.py:185 members/views.py:204
|
||||
#: members/views.py:129 members/views.py:186 members/views.py:205
|
||||
msgid "No member id specified"
|
||||
msgstr "Jäsenen ID ei määritelty"
|
||||
|
||||
#: members/views.py:150
|
||||
#: members/views.py:151
|
||||
msgid "Successfully added member"
|
||||
msgstr "Onnistuneesti lisättiin jäsen"
|
||||
|
||||
#: members/views.py:171
|
||||
#: members/views.py:172
|
||||
msgid "Successfully updated member"
|
||||
msgstr "Onnistuneesti päivitettiin jäsen"
|
||||
|
||||
#: members/views.py:175
|
||||
#: members/views.py:176
|
||||
msgid "Could not update member object"
|
||||
msgstr "Jäsenobjektia ei voitu päivittää"
|
||||
|
||||
#: members/views.py:189
|
||||
#: members/views.py:190
|
||||
msgid "Successfully deleted member"
|
||||
msgstr "Onnistuneesti poistettiin jäsen"
|
||||
|
||||
#: members/views.py:195
|
||||
#: members/views.py:196
|
||||
msgid "Could not delete member object"
|
||||
msgstr "Jäsenobjektia ei voitu poistaa"
|
||||
|
||||
#: members/views.py:238 members/views.py:272 members/views.py:290
|
||||
#: members/views.py:239 members/views.py:273 members/views.py:291
|
||||
msgid "No application id specified"
|
||||
msgstr "Hakemuksen ID ei määritelty"
|
||||
|
||||
#: members/views.py:259
|
||||
#: members/views.py:260
|
||||
msgid "Successfully accepted application"
|
||||
msgstr "Onnistuneesti hyväksyttiin hakemus"
|
||||
|
||||
#: members/views.py:262
|
||||
#: members/views.py:263
|
||||
msgid "Could not accept application object"
|
||||
msgstr "Hakemusobjektia ei voitu hyväksyä"
|
||||
|
||||
#: members/views.py:276
|
||||
#: members/views.py:277
|
||||
msgid "Successfully deleted application"
|
||||
msgstr "Onnistuneesti poistettiin hakemus"
|
||||
|
||||
#: members/views.py:281
|
||||
#: members/views.py:282
|
||||
msgid "Could not delete application object"
|
||||
msgstr "Hakemusobjektia ei voitu poistaa"
|
||||
|
||||
#: members/views.py:345
|
||||
#: members/views.py:346
|
||||
msgid "Successfully added payment for member"
|
||||
msgstr "Onnistuneesti lisättiin maksutapahtuma jäsenelle"
|
||||
|
||||
#: members/views.py:358 members/views.py:371 members/views.py:385
|
||||
#: members/views.py:359 members/views.py:372 members/views.py:386
|
||||
msgid "No payment id specified"
|
||||
msgstr "Maksutapahtuman ID ei määritelty"
|
||||
|
||||
#: members/views.py:389
|
||||
#: members/views.py:390
|
||||
msgid "Successfully deleted payment"
|
||||
msgstr "Onnistuneesti poistettiin maksutapahtuma"
|
||||
|
||||
#: members/views.py:394
|
||||
#: members/views.py:395
|
||||
msgid "Could not delete payment object"
|
||||
msgstr "Maksutapahtumaobjektia ei voitu poistaa"
|
||||
|
||||
#: members/views.py:409
|
||||
#: members/views.py:410
|
||||
msgid "Successfully updated payment"
|
||||
msgstr "Onnistuneesti päivitettiin maksutapahtuma"
|
||||
|
||||
#: members/views.py:412
|
||||
#: members/views.py:413
|
||||
msgid "Could not update payment object"
|
||||
msgstr "Maksutapahtumaobjektia ei voitu päivittää"
|
||||
|
||||
#: members/views.py:429
|
||||
#: members/views.py:430
|
||||
msgid "Missing \"textfield\" POST request field"
|
||||
msgstr "Puuttuva \"textfield\" POST-kenttä"
|
||||
|
||||
#: members/views.py:434
|
||||
#: members/views.py:435
|
||||
msgid "Successfully imported multiple members"
|
||||
msgstr "Onnistuneesti tuotu useita jäseniä"
|
||||
|
||||
#: members/views.py:437
|
||||
#: members/views.py:438
|
||||
msgid "Failed to import members"
|
||||
msgstr "Jäsenten tuonti epäonnistui"
|
||||
|
||||
#: members/views.py:497
|
||||
#, fuzzy
|
||||
#| msgid "Successfully deleted member"
|
||||
#: members/views.py:498
|
||||
msgid "Successfully resolved all member conflicts."
|
||||
msgstr "Onnistuneesti poistettiin jäsen"
|
||||
msgstr "Kaikki jäsenkonfliktit ratkaistu onnistuneesti."
|
||||
|
||||
#: templates/footer.html:7
|
||||
msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry"
|
||||
|
||||
@@ -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