From e9ff7cdafa056585d6eff17980309a813726dd58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Farka?= <stepanfarka11@gmail.com> Date: Thu, 19 May 2022 15:22:36 +0200 Subject: [PATCH] [ADD] custom price options for monthly payment --- ...homepage_form_monthly_amount_1_and_more.py | 127 +++++++++++++++++ ...0_donateinfopage_form_amount_1_and_more.py | 129 ++++++++++++++++++ donate/models.py | 75 +++++++++- donate/static/donate/assets/js/scripts.js | 30 +++- donate/templates/donate/donate_home_page.html | 7 +- donate/templates/donate/donate_info_page.html | 19 +-- .../templates/donate/donate_project_page.html | 12 +- .../donate/donate_project_page_coalition.html | 12 +- .../templates/donate/donate_region_page.html | 8 +- .../donate_targeted_donations_page.html | 19 +-- .../donate/form_amounts_snippet.html | 8 +- .../donate/form_monthly_amounts_snippet.html | 16 +++ 12 files changed, 418 insertions(+), 44 deletions(-) create mode 100644 donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py create mode 100644 donate/migrations/0020_donateinfopage_form_amount_1_and_more.py create mode 100644 donate/templates/donate/form_monthly_amounts_snippet.html diff --git a/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py b/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py new file mode 100644 index 00000000..161b9c95 --- /dev/null +++ b/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py @@ -0,0 +1,127 @@ +# Generated by Django 4.0.4 on 2022-05-19 11:42 + +from django.db import migrations, models + + +def update_monthly_values(page): + page.form_monthly_amount_1 = page.form_amount_1 + page.form_monthly_amount_2 = page.form_amount_2 + page.form_monthly_amount_3 = page.form_amount_3 + page.form_monthly_amount_4 = page.form_amount_4 + page.form_monthly_preselected = page.form_preselected + page.save() + + +def set_monthly_prices(apps, schema_editor): + DonateHomePage = apps.get_model("donate", "DonateHomePage") + DonateProjectPage = apps.get_model("donate", "DonateProjectPage") + DonateRegionPage = apps.get_model("donate", "DonateRegionPage") + + for page in DonateHomePage.objects.all(): + update_monthly_values(page) + + for page in DonateProjectPage.objects.all(): + update_monthly_values(page) + + for page in DonateRegionPage.objects.all(): + update_monthly_values(page) + + +class Migration(migrations.Migration): + + dependencies = [ + ("donate", "0018_donatehomepage_form_amount_4_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="donatehomepage", + name="form_monthly_amount_1", + field=models.IntegerField(default=100, verbose_name="měsíční částka 1"), + ), + migrations.AddField( + model_name="donatehomepage", + name="form_monthly_amount_2", + field=models.IntegerField(default=200, verbose_name="měsíční částka 2"), + ), + migrations.AddField( + model_name="donatehomepage", + name="form_monthly_amount_3", + field=models.IntegerField(default=500, verbose_name="měsíční částka 3"), + ), + migrations.AddField( + model_name="donatehomepage", + name="form_monthly_amount_4", + field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"), + ), + migrations.AddField( + model_name="donatehomepage", + name="form_monthly_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí měsíční částka", + ), + ), + migrations.AddField( + model_name="donateprojectpage", + name="form_monthly_amount_1", + field=models.IntegerField(default=100, verbose_name="měsíční částka 1"), + ), + migrations.AddField( + model_name="donateprojectpage", + name="form_monthly_amount_2", + field=models.IntegerField(default=200, verbose_name="měsíční částka 2"), + ), + migrations.AddField( + model_name="donateprojectpage", + name="form_monthly_amount_3", + field=models.IntegerField(default=500, verbose_name="měsíční částka 3"), + ), + migrations.AddField( + model_name="donateprojectpage", + name="form_monthly_amount_4", + field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"), + ), + migrations.AddField( + model_name="donateprojectpage", + name="form_monthly_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí měsíční částka", + ), + ), + migrations.AddField( + model_name="donateregionpage", + name="form_monthly_amount_1", + field=models.IntegerField(default=100, verbose_name="měsíční částka 1"), + ), + migrations.AddField( + model_name="donateregionpage", + name="form_monthly_amount_2", + field=models.IntegerField(default=200, verbose_name="měsíční částka 2"), + ), + migrations.AddField( + model_name="donateregionpage", + name="form_monthly_amount_3", + field=models.IntegerField(default=500, verbose_name="měsíční částka 3"), + ), + migrations.AddField( + model_name="donateregionpage", + name="form_monthly_amount_4", + field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"), + ), + migrations.AddField( + model_name="donateregionpage", + name="form_monthly_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí měsíční částka", + ), + ), + migrations.RunPython( + set_monthly_prices, reverse_code=migrations.RunPython.noop + ), + ] diff --git a/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py b/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py new file mode 100644 index 00000000..29770b15 --- /dev/null +++ b/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py @@ -0,0 +1,129 @@ +# Generated by Django 4.0.4 on 2022-05-19 12:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("donate", "0019_donatehomepage_form_monthly_amount_1_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="donateinfopage", + name="form_amount_1", + field=models.IntegerField(default=100, verbose_name="pevná částka 1"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_amount_2", + field=models.IntegerField(default=200, verbose_name="pevná částka 2"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_amount_3", + field=models.IntegerField(default=500, verbose_name="pevná částka 3"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_amount_4", + field=models.IntegerField(default=1000, verbose_name="pevná částka 4"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_monthly_amount_1", + field=models.IntegerField(default=100, verbose_name="měsíční částka 1"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_monthly_amount_2", + field=models.IntegerField(default=200, verbose_name="měsíční částka 2"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_monthly_amount_3", + field=models.IntegerField(default=500, verbose_name="měsíční částka 3"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_monthly_amount_4", + field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_monthly_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí měsíční částka", + ), + ), + migrations.AddField( + model_name="donateinfopage", + name="form_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí částka", + ), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_amount_1", + field=models.IntegerField(default=100, verbose_name="pevná částka 1"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_amount_2", + field=models.IntegerField(default=200, verbose_name="pevná částka 2"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_amount_3", + field=models.IntegerField(default=500, verbose_name="pevná částka 3"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_amount_4", + field=models.IntegerField(default=1000, verbose_name="pevná částka 4"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_monthly_amount_1", + field=models.IntegerField(default=100, verbose_name="měsíční částka 1"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_monthly_amount_2", + field=models.IntegerField(default=200, verbose_name="měsíční částka 2"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_monthly_amount_3", + field=models.IntegerField(default=500, verbose_name="měsíční částka 3"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_monthly_amount_4", + field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_monthly_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí měsíční částka", + ), + ), + migrations.AddField( + model_name="donatetargeteddonationspage", + name="form_preselected", + field=models.IntegerField( + choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")], + default=1, + verbose_name="výchozí částka", + ), + ), + ] diff --git a/donate/models.py b/donate/models.py index 81e99ee0..45cfb106 100644 --- a/donate/models.py +++ b/donate/models.py @@ -77,6 +77,14 @@ class DonateFormAmountsMixin(models.Model): "výchozí částka", default=FIRST, choices=FORM_CHOICES ) + form_monthly_amount_1 = models.IntegerField("měsíční částka 1", default=100) + form_monthly_amount_2 = models.IntegerField("měsíční částka 2", default=200) + form_monthly_amount_3 = models.IntegerField("měsíční částka 3", default=500) + form_monthly_amount_4 = models.IntegerField("měsíční částka 4", default=1000) + form_monthly_preselected = models.IntegerField( + "výchozí měsíční částka", default=FIRST, choices=FORM_CHOICES + ) + class Meta: abstract = True @@ -169,6 +177,11 @@ class DonateHomePage( FieldPanel("form_amount_3"), FieldPanel("form_amount_4"), FieldPanel("form_preselected"), + FieldPanel("form_monthly_amount_1"), + FieldPanel("form_monthly_amount_2"), + FieldPanel("form_monthly_amount_3"), + FieldPanel("form_monthly_amount_4"), + FieldPanel("form_monthly_preselected"), ], "nastavení darů", ), @@ -297,6 +310,11 @@ class DonateRegionPage( FieldPanel("form_amount_3"), FieldPanel("form_amount_4"), FieldPanel("form_preselected"), + FieldPanel("form_monthly_amount_1"), + FieldPanel("form_monthly_amount_2"), + FieldPanel("form_monthly_amount_3"), + FieldPanel("form_monthly_amount_4"), + FieldPanel("form_monthly_preselected"), ], "nastavení darů", ), @@ -449,6 +467,11 @@ class DonateProjectPage( FieldPanel("form_amount_3"), FieldPanel("form_amount_4"), FieldPanel("form_preselected"), + FieldPanel("form_monthly_amount_1"), + FieldPanel("form_monthly_amount_2"), + FieldPanel("form_monthly_amount_3"), + FieldPanel("form_monthly_amount_4"), + FieldPanel("form_monthly_preselected"), ], "nastavení darů", ), @@ -548,7 +571,12 @@ class DonateTextPage(Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPage class DonateInfoPage( - DonateFormMixin, Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin + DonateFormMixin, + DonateFormAmountsMixin, + Page, + ExtendedMetadataPageMixin, + SubpageMixin, + MetadataPageMixin, ): ### FIELDS @@ -560,7 +588,24 @@ class DonateInfoPage( promote_panels = make_promote_panels() - settings_panels = [] + settings_panels = [ + PublishingPanel(), + MultiFieldPanel( + [ + FieldPanel("form_amount_1"), + FieldPanel("form_amount_2"), + FieldPanel("form_amount_3"), + FieldPanel("form_amount_4"), + FieldPanel("form_preselected"), + FieldPanel("form_monthly_amount_1"), + FieldPanel("form_monthly_amount_2"), + FieldPanel("form_monthly_amount_3"), + FieldPanel("form_monthly_amount_4"), + FieldPanel("form_monthly_preselected"), + ], + "nastavení darů", + ), + ] ### RELATIONS @@ -609,7 +654,12 @@ class TargetedDonation(Orderable): class DonateTargetedDonationsPage( - DonateFormMixin, Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin + DonateFormMixin, + DonateFormAmountsMixin, + Page, + ExtendedMetadataPageMixin, + SubpageMixin, + MetadataPageMixin, ): ### FIELDS @@ -624,7 +674,24 @@ class DonateTargetedDonationsPage( promote_panels = make_promote_panels() - settings_panels = [] + settings_panels = [ + PublishingPanel(), + MultiFieldPanel( + [ + FieldPanel("form_amount_1"), + FieldPanel("form_amount_2"), + FieldPanel("form_amount_3"), + FieldPanel("form_amount_4"), + FieldPanel("form_preselected"), + FieldPanel("form_monthly_amount_1"), + FieldPanel("form_monthly_amount_2"), + FieldPanel("form_monthly_amount_3"), + FieldPanel("form_monthly_amount_4"), + FieldPanel("form_monthly_preselected"), + ], + "nastavení darů", + ), + ] ### RELATIONS diff --git a/donate/static/donate/assets/js/scripts.js b/donate/static/donate/assets/js/scripts.js index f6134225..058cdd68 100644 --- a/donate/static/donate/assets/js/scripts.js +++ b/donate/static/donate/assets/js/scripts.js @@ -59,12 +59,34 @@ $("input[name='custom_amount']").focus(function() { $('#customamount').attr('required', true); - $( "#amount1" ).prop( "checked", false ); - $( "#amount2" ).prop( "checked", false ); - $( "#amount3" ).prop( "checked", false ); - $( "#amount4" ).prop( "checked", false ); + $('input[name=amount]:checked', '#js-donate-form').prop('checked', false); }) + // Function for handling switching between monthly and one-time prices + $("input[name='periodicity']").change(function () { + + // periodicity 730 === monthly + if ($(this).attr('value') === '730') { + const $monthlyAmounts = $('#monthlyAmounts') + + const selectRadio = $monthlyAmounts.data('default-selected') + $('input[name=amount]:checked', '#js-donate-form').prop('checked', false); + $(`#monthlyAmounts input[name=amount]:eq("${selectRadio - 1}")`).prop('checked', true); + + $monthlyAmounts.show(); + $('#oneTimeAmounts').hide(); + } else { + const $oneTimeAmounts = $('#oneTimeAmounts') + + const selectRadio = $oneTimeAmounts.data('default-selected') + $('input[name=amount]:checked', '#js-donate-form').prop('checked', false); + $(`#oneTimeAmounts input[name=amount]:eq("${selectRadio - 1}")`).prop('checked', true); + + $oneTimeAmounts.show(); + $('#monthlyAmounts').hide(); + } + }); + // Trigger correct state onload $("input[name='amount']:checked").change(); diff --git a/donate/templates/donate/donate_home_page.html b/donate/templates/donate/donate_home_page.html index afa25c37..beb4771c 100644 --- a/donate/templates/donate/donate_home_page.html +++ b/donate/templates/donate/donate_home_page.html @@ -69,7 +69,12 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-4 col-form-label-lg">Částka</legend> <div class="col-md-8"> - {% include "donate/form_amounts_snippet.html" %} + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} + </div> + <div id="oneTimeAmounts" style="display: None" data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} + </div> </div> </div> <div class="form-group row mb-0 align-items-center" id="js-custom-amount-input"> diff --git a/donate/templates/donate/donate_info_page.html b/donate/templates/donate/donate_info_page.html index 3e8a762a..b1b33380 100644 --- a/donate/templates/donate/donate_info_page.html +++ b/donate/templates/donate/donate_info_page.html @@ -50,21 +50,12 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend> <div class="col-md-12"> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount1" name="amount" value="200" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount1">200 Kč</label> - </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount2" name="amount" value="500" class="custom-control-input" checked> - <label class="custom-control-label col-form-label-lg" for="amount2">500 Kč</label> + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount3" name="amount" value="1000" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount3">1000 Kč</label> - </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount4" name="amount" value="1500" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount4">1500 Kč</label> + <div id="oneTimeAmounts" style="display: None" + data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} </div> </div> </div> diff --git a/donate/templates/donate/donate_project_page.html b/donate/templates/donate/donate_project_page.html index fadec300..1eb05714 100644 --- a/donate/templates/donate/donate_project_page.html +++ b/donate/templates/donate/donate_project_page.html @@ -101,7 +101,17 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend> <div class="col-md-12"> - {% include "donate/form_amounts_snippet.html" %} + {% if page.allow_periodic_donations %} + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} + </div> + <div id="oneTimeAmounts" style="display: None" + data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} + </div> + {% else %} + {% include "donate/form_amounts_snippet.html" with show_selected=True %} + {% endif %} </div> </div> <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input"> diff --git a/donate/templates/donate/donate_project_page_coalition.html b/donate/templates/donate/donate_project_page_coalition.html index b190b2af..c92de764 100644 --- a/donate/templates/donate/donate_project_page_coalition.html +++ b/donate/templates/donate/donate_project_page_coalition.html @@ -103,7 +103,17 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend> <div class="col-md-12"> - {% include "donate/form_amounts_snippet.html" %} + {% if page.allow_periodic_donations %} + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} + </div> + <div id="oneTimeAmounts" style="display: None" + data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} + </div> + {% else %} + {% include "donate/form_amounts_snippet.html" with show_selected=True %} + {% endif %} </div> </div> <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input"> diff --git a/donate/templates/donate/donate_region_page.html b/donate/templates/donate/donate_region_page.html index 823f92de..7214f9fd 100644 --- a/donate/templates/donate/donate_region_page.html +++ b/donate/templates/donate/donate_region_page.html @@ -57,7 +57,13 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend> <div class="col-md-12"> - {% include "donate/form_amounts_snippet.html" %} + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} + </div> + <div id="oneTimeAmounts" style="display: None" + data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} + </div> </div> </div> <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input"> diff --git a/donate/templates/donate/donate_targeted_donations_page.html b/donate/templates/donate/donate_targeted_donations_page.html index 796425af..8dbcf06b 100644 --- a/donate/templates/donate/donate_targeted_donations_page.html +++ b/donate/templates/donate/donate_targeted_donations_page.html @@ -65,21 +65,12 @@ <div class="form-group row mb-4 align-items-center"> <legend class="col-form-label col-md-3 col-form-label-lg">Částka</legend> <div class="col-md-9"> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount1" name="amount" value="200" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount1">200 Kč</label> - </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount2" name="amount" value="500" class="custom-control-input" checked> - <label class="custom-control-label col-form-label-lg" for="amount2">500 Kč</label> + <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}"> + {% include "donate/form_monthly_amounts_snippet.html" %} </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount3" name="amount" value="1000" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount3">1000 Kč</label> - </div> - <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount4" name="amount" value="1500" class="custom-control-input"> - <label class="custom-control-label col-form-label-lg" for="amount4">1500 Kč</label> + <div id="oneTimeAmounts" style="display: None" + data-default-selected="{{ page.form_preselected }}"> + {% include "donate/form_amounts_snippet.html" %} </div> </div> </div> diff --git a/donate/templates/donate/form_amounts_snippet.html b/donate/templates/donate/form_amounts_snippet.html index 66cf49ea..516b5bdb 100644 --- a/donate/templates/donate/form_amounts_snippet.html +++ b/donate/templates/donate/form_amounts_snippet.html @@ -1,16 +1,16 @@ <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount1" name="amount" value="{{ page.form_amount_1 }}" class="custom-control-input"{% if page.form_preselected == page.FIRST %} checked{% endif %}> + <input type="radio" id="amount1" name="amount" value="{{ page.form_amount_1 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.FIRST %} checked{% endif %}> <label class="custom-control-label col-form-label-lg" for="amount1">{{ page.form_amount_1 }} Kč</label> </div> <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount2" name="amount" value="{{ page.form_amount_2 }}" class="custom-control-input"{% if page.form_preselected == page.SECOND %} checked{% endif %}> + <input type="radio" id="amount2" name="amount" value="{{ page.form_amount_2 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.SECOND %} checked{% endif %}> <label class="custom-control-label col-form-label-lg" for="amount2">{{ page.form_amount_2 }} Kč</label> </div> <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount3" name="amount" value="{{ page.form_amount_3 }}" class="custom-control-input"{% if page.form_preselected == page.THIRD %} checked{% endif %}> + <input type="radio" id="amount3" name="amount" value="{{ page.form_amount_3 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.THIRD %} checked{% endif %}> <label class="custom-control-label col-form-label-lg" for="amount3">{{ page.form_amount_3 }} Kč</label> </div> <div class="custom-control custom-radio custom-control-inline"> - <input type="radio" id="amount4" name="amount" value="{{ page.form_amount_4 }}" class="custom-control-input"{% if page.form_preselected == page.FOURTH %} checked{% endif %}> + <input type="radio" id="amount4" name="amount" value="{{ page.form_amount_4 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.FOURTH %} checked{% endif %}> <label class="custom-control-label col-form-label-lg" for="amount4">{{ page.form_amount_4 }} Kč</label> </div> diff --git a/donate/templates/donate/form_monthly_amounts_snippet.html b/donate/templates/donate/form_monthly_amounts_snippet.html new file mode 100644 index 00000000..d0c46892 --- /dev/null +++ b/donate/templates/donate/form_monthly_amounts_snippet.html @@ -0,0 +1,16 @@ +<div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount5" name="amount" value="{{ page.form_monthly_amount_1 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.FIRST %} checked{% endif %}> + <label class="custom-control-label col-form-label-lg" for="amount5">{{ page.form_monthly_amount_1 }} Kč</label> +</div> +<div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount6" name="amount" value="{{ page.form_monthly_amount_2 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.SECOND %} checked{% endif %}> + <label class="custom-control-label col-form-label-lg" for="amount6">{{ page.form_monthly_amount_2 }} Kč</label> +</div> +<div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount7" name="amount" value="{{ page.form_monthly_amount_3 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.THIRD %} checked{% endif %}> + <label class="custom-control-label col-form-label-lg" for="amount7">{{ page.form_monthly_amount_3 }} Kč</label> +</div> +<div class="custom-control custom-radio custom-control-inline"> + <input type="radio" id="amount8" name="amount" value="{{ page.form_monthly_amount_4 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.FOURTH %} checked{% endif %}> + <label class="custom-control-label col-form-label-lg" for="amount8">{{ page.form_monthly_amount_4 }} Kč</label> +</div> -- GitLab