diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 2f37095..70490a7 100644 Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 92d0cd8..6958f9e 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: LANGUAGE \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." diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index dfa853d..64ef0d5 100644 Binary files a/locale/fi/LC_MESSAGES/django.mo and b/locale/fi/LC_MESSAGES/django.mo differ diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index f8a6dfb..c148945 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: LANGUAGE \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 duplicate resolver." -msgstr "Jäsenrekisterissä on duplikaattijäseniä.\n" -" Käytä ongelman ratkaisuun duplikaattityökalua." +msgstr "" +"Jäsenrekisterissä on duplikaattijäseniä.\n" +" Käytä ongelman ratkaisuun duplikaattityökalua." #: 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" diff --git a/members/migrations/0013_auto_20170601_1822.py b/members/migrations/0013_auto_20170601_1822.py new file mode 100644 index 0000000..258e13a --- /dev/null +++ b/members/migrations/0013_auto_20170601_1822.py @@ -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'), + ), + ] diff --git a/members/models.py b/members/models.py index 1afdde3..96863c7 100644 --- a/members/models.py +++ b/members/models.py @@ -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)) diff --git a/members/views.py b/members/views.py index 49545a8..59ca9ee 100644 --- a/members/views.py +++ b/members/views.py @@ -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()