From 2501d034db8f93cea6650ed4456b4a501d041ea9 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 30 Oct 2017 14:43:16 +0200 Subject: [PATCH] Split board and non-board applications to 2 tables --- locale/en/LC_MESSAGES/django.mo | Bin 9781 -> 9781 bytes locale/en/LC_MESSAGES/django.po | 22 +++++++++++++++------- locale/fi/LC_MESSAGES/django.mo | Bin 14956 -> 15006 bytes locale/fi/LC_MESSAGES/django.po | 25 ++++++++++++++++--------- webapp/tables.py | 10 ++++------ webapp/templates/kaehmy_export.html | 11 ++++++++++- webapp/views.py | 22 ++++++++++++++-------- 7 files changed, 59 insertions(+), 31 deletions(-) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 1df24975e4c3e04fe8f47dbec8d258cbe11545ec..ec48ec6d7a5c586861ffcf6c0127edb61ef90fa1 100644 GIT binary patch delta 17 Ycmdn$v(;yVn delta 17 Ycmdn$v(;yVn\n" "Language-Team: LANGUAGE \n" @@ -818,7 +818,7 @@ msgstr "" msgid "Role" msgstr "" -#: .\webapp\models.py:251 .\webapp\tables.py:16 +#: .\webapp\models.py:251 .\webapp\tables.py:18 msgid "Roles" msgstr "" @@ -846,10 +846,6 @@ msgstr "" msgid "Telegram channels" msgstr "" -#: .\webapp\tables.py:17 -msgid "Applied for board" -msgstr "" - #: .\webapp\templates\admin_index.html:6 msgid "SIK Admin" msgstr "SIK Admin" @@ -938,7 +934,19 @@ msgstr "Election meeting, part 3 (non-board election)" msgid "All applications" msgstr "Applications" -#: .\webapp\templates\kaehmy_export.html:14 +#: .\webapp\templates\kaehmy_export.html:13 +#, fuzzy +#| msgid "Applications" +msgid "Board applications" +msgstr "Applications" + +#: .\webapp\templates\kaehmy_export.html:18 +#, fuzzy +#| msgid "Member applications" +msgid "Non-board applications" +msgstr "Member applications" + +#: .\webapp\templates\kaehmy_export.html:23 msgid "Front page" msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 8ebd2967caa4a7855c2461c924ce0f193ef45f38..a1860c533edaa77dbc4df160d85f49191ebe7178 100644 GIT binary patch delta 4631 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 yl%T@=l!Br$MZ?)l1of&T;P^YP{Y delta 4602 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 diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 34433c8..bcde704 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-30 11:39+0100\n" -"PO-Revision-Date: 2017-10-29 11:57+0200\n" +"POT-Creation-Date: 2017-10-30 13:41+0100\n" +"PO-Revision-Date: 2017-10-30 14:42+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fi\n" @@ -799,7 +799,7 @@ msgstr "Toimari: {}" msgid "Role" msgstr "Rooli" -#: .\webapp\models.py:251 .\webapp\tables.py:16 +#: .\webapp\models.py:251 .\webapp\tables.py:18 msgid "Roles" msgstr "Roolit" @@ -827,10 +827,6 @@ msgstr "Telegram-kanava" msgid "Telegram channels" msgstr "Telegram-kanavat" -#: .\webapp\tables.py:17 -msgid "Applied for board" -msgstr "Hakenut hallitukseen" - #: .\webapp\templates\admin_index.html:6 msgid "SIK Admin" msgstr "SIK Hallintapaneeli" @@ -920,7 +916,15 @@ msgstr "Vaalikokous, osa 3 (toimarien valinta)" msgid "All applications" msgstr "Kaikki kaehmyt" -#: .\webapp\templates\kaehmy_export.html:14 +#: .\webapp\templates\kaehmy_export.html:13 +msgid "Board applications" +msgstr "Hallituskaehmyt" + +#: .\webapp\templates\kaehmy_export.html:18 +msgid "Non-board applications" +msgstr "Toimarikaehmyt" + +#: .\webapp\templates\kaehmy_export.html:23 msgid "Front page" msgstr "Etusivulle" @@ -1017,4 +1021,7 @@ msgstr "Kaikki haasteet" #: .\webapp\templates\ohlhafv_list.html:15 msgid "Total challenges:" -msgstr "Haasteita yhteensä:" \ No newline at end of file +msgstr "Haasteita yhteensä:" + +#~ msgid "Applied for board" +#~ msgstr "Hakenut hallitukseen" diff --git a/webapp/tables.py b/webapp/tables.py index 540a5a8..465b92a 100644 --- a/webapp/tables.py +++ b/webapp/tables.py @@ -1,5 +1,7 @@ import django_tables2 as tables +from django.db.models import Count, Q from django.utils.translation import ugettext as _ + from webapp.models import OhlhafvChallenge, KaehmyForm @@ -11,10 +13,6 @@ class OhlhafvTable(tables.Table): class KaehmyExportTable(tables.Table): class Meta: model = KaehmyForm - exclude = ['text', 'messageparent_ptr', 'custom_role_name', 'custom_role_is_board'] + exclude = ['text', 'messageparent_ptr', 'custom_role_name', 'custom_role_is_board', 'timestamp'] - all_roles = tables.Column(verbose_name=_('Roles')) - has_any_board_role = tables.BooleanColumn(verbose_name=_('Applied for board')) - - def __init__(self, *args, **kwargs): - super(KaehmyExportTable, self).__init__(*args, **kwargs) + all_roles = tables.Column(verbose_name=_('Roles'), orderable=False) diff --git a/webapp/templates/kaehmy_export.html b/webapp/templates/kaehmy_export.html index 668ee68..7d30fea 100644 --- a/webapp/templates/kaehmy_export.html +++ b/webapp/templates/kaehmy_export.html @@ -9,7 +9,16 @@

{% trans "All applications" %}

- {{ table|safe }} +
+

{% trans "Board applications" %}

+ {{ board_table|safe }} +
+ +
+

{% trans "Non-board applications" %}

+ {{ non_board_table|safe }} +
+ diff --git a/webapp/views.py b/webapp/views.py index 125368c..4f9a527 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -319,16 +319,22 @@ def kaehmy_submit(request, *args, **kwargs): @require_http_methods(['GET']) def kaehmy_export_view(request, *args, **kwargs): + def make_table(queryset): + table = KaehmyExportTable(queryset, + request=request, + exclude=['id'], + attrs={'class': 'table table-bordered table-hover'}) + + table.paginate(page=request.GET.get('page', 1), per_page=9999) + table_html = convert_table_to_html(table, request) + return table_html + kaehmys = KaehmyForm.objects.all() + non_board = filter(lambda q: not q.has_any_board_role(), kaehmys) + board = filter(lambda q: q.has_any_board_role(), kaehmys) - table = KaehmyExportTable(kaehmys, - request=request, - exclude=['id'], - attrs={'class': 'table table-bordered table-hover'}) - - table.paginate(page=request.GET.get('page', 1), per_page=9999) - table_html = convert_table_to_html(table, request) context = { - 'table': table_html, + 'non_board_table': make_table(non_board), + 'board_table': make_table(board), } return render(request, 'kaehmy_export.html', context)