From 786041344a7744a78a80f757f79fd1c2f36540d9 Mon Sep 17 00:00:00 2001 From: Tobias dpausp Date: Wed, 16 Aug 2023 02:09:03 +0200 Subject: [PATCH] WIP process tab --- .editorconfig | 6 + src/ekklesia_portal/app.py | 2 + .../concepts/proposition/proposition_cells.py | 115 +++++++++++++-- .../concepts/proposition/proposition_views.py | 11 ++ .../proposition_detail_top_draft.j2.jade | 6 - .../proposition_detail_top_qualified.j2.jade | 6 - .../proposition_detail_top_scheduled.j2.jade | 6 - .../proposition_detail_top_submitted.j2.jade | 18 ++- .../proposition_secret_voting.j2.jade | 36 ++--- .../templates/proposition_small.j2.jade | 2 +- .../templates/proposition_support.j2.jade | 53 +++---- .../templates/proposition_tabs.j2.jade | 16 ++- .../proposition_status_finished.j2.jade | 2 +- .../proposition_status_scheduled.j2.jade | 39 +++-- .../proposition_status_submitted.j2.jade | 23 +-- .../tab/proposition_tab_associated.j2.jade | 2 +- .../tab/proposition_tab_discussion.j2.jade | 2 +- .../tab/proposition_tab_process.j2.jade | 101 +++++++++++++ src/ekklesia_portal/datamodel.py | 9 ++ .../helper/missing_translations.py | 1 + src/ekklesia_portal/sass/portal.sass | 28 +++- src/ekklesia_portal/static/img/spinner.gif | Bin 0 -> 8451 bytes .../translations/de/LC_MESSAGES/messages.po | 123 ++++++++-------- .../translations/en/LC_MESSAGES/messages.po | 136 +++++++++--------- 24 files changed, 481 insertions(+), 262 deletions(-) create mode 100644 src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade create mode 100644 src/ekklesia_portal/static/img/spinner.gif diff --git a/.editorconfig b/.editorconfig index d7bf630e..7cdd5e06 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,6 +10,12 @@ trim_trailing_whitespace = true end_of_line = lf charset = utf-8 +[*.sass] +indent_size = 2 + +[*.nix] +indent_size = 2 + [*.py] max_line_length = 140 diff --git a/src/ekklesia_portal/app.py b/src/ekklesia_portal/app.py index 5c7b6061..0dea5b08 100644 --- a/src/ekklesia_portal/app.py +++ b/src/ekklesia_portal/app.py @@ -49,6 +49,8 @@ def app_setting_section(): "internal_login_enabled": True, "languages": ["de", "en"], "login_visible": False, + "public_submitters": False, + "public_supporters": False, "report_url": None, "source_code_url": "https://github.com/edemocracy/ekklesia-portal", "title": "Ekklesia Portal Dev", diff --git a/src/ekklesia_portal/concepts/proposition/proposition_cells.py b/src/ekklesia_portal/concepts/proposition/proposition_cells.py index f149e394..1899c854 100644 --- a/src/ekklesia_portal/concepts/proposition/proposition_cells.py +++ b/src/ekklesia_portal/concepts/proposition/proposition_cells.py @@ -1,3 +1,4 @@ +from collections import Counter import urllib.parse import math from operator import attrgetter @@ -18,7 +19,7 @@ from ekklesia_portal.concepts.proposition.proposition_permissions import SubmitDraftPermission from ekklesia_portal.datamodel import Department, Document, Proposition, PropositionNote, PropositionType, Tag, VotingPhase, SecretVoter from ekklesia_portal.helper.url_shortener import make_tiny -from ekklesia_portal.enums import ArgumentType, OpenSlidesVotingResult, PropositionStatus, SecretVoterStatus +from ekklesia_portal.enums import ArgumentType, OpenSlidesVotingResult, PropositionStatus, SecretVoterStatus, SupporterStatus from ekklesia_portal.lib.url import url_change_query from ekklesia_portal.permission import CreatePermission, EditPermission, SupportPermission @@ -163,6 +164,9 @@ def share_twitter_url(self): twitter_url = 'https://twitter.com/intent/tweet?' + twitter_url return twitter_url + def amendment_count(self): + return len(self._model.derivations) + def ballot_url(self): return self.link(self._model.ballot) @@ -176,6 +180,9 @@ def ballot_title(self): def discussion_url(self): return self.link(self._model) + "#bottom" + def process_url(self): + return self.link(self._model, 'process') + "#bottom" + def propositions_badge_url(self, department_name, subject_area_name=None, tag_name=None): params = {"department": department_name} @@ -206,7 +213,10 @@ def discussion_link_class(self): return 'active' if self.options.get('active_tab') == 'discussion' else '' def associated_link_class(self): - return 'active' if self.options.get('active_tab') == 'associated' else '' + return "active" if self.options.get("active_tab") == "associated" else "" + + def process_link_class(self): + return 'active' if self.options.get('active_tab') == 'process' else '' def new_amendment_url(self): return self.link(self._model, '+new_amendment') @@ -230,6 +240,18 @@ def missing_submitters_count(self): def supporter_count(self): return self._model.active_supporter_count + def supporter_group_count(self): + return len(self._supporters_and_groups[1]) + + def support_still_required(self): + return self._model.status in (PropositionStatus.SUBMITTED) + + def support_still_possible(self): + return self._model.status in ( + PropositionStatus.QUALIFIED, + PropositionStatus.VOTING, + ) + def become_submitter_action(self): return self.link(self._model, 'become_submitter') @@ -260,14 +282,32 @@ def ready_to_submit(self): return self._model.ready_to_submit def show_support(self): - return self._model.status in (PropositionStatus.SUBMITTED, PropositionStatus.QUALIFIED) + return True + + if self.current_user is None: + return False + + if self._model.status not in ( + PropositionStatus.SUBMITTED, + PropositionStatus.QUALIFIED, + ): + return False + + if self._request.identity.has_global_admin_permissions: + return True + + return self._request.permitted_for_current_user(self._model, SupportPermission) def can_support(self): - return self.show_support and self._request.permitted_for_current_user(self._model, SupportPermission) + return self.show_support def supporter_quorum_percent(self): if self._model.qualification_quorum > 0: - return self._model.active_supporter_count / self._model.qualification_quorum * 100 + return ( + self._model.active_supporter_count + / self._model.qualification_quorum + * 100 + ) def show_secret_voting(self): return self._model.status in ( @@ -308,10 +348,13 @@ def show_create_counter_proposition(self): PropositionStatus.SCHEDULED ) and self._request.permitted_for_current_user(Propositions(), CreatePermission) and self._model.modifies is None - def show_submitter_names(self): + def show_submitters(self): if self.current_user is None: return False + if self._s.app.public_submitters: + return True + if self._model.ballot.area.department in self.current_user.managed_departments: return True @@ -326,6 +369,26 @@ def show_submitter_names(self): return False + def show_supporters(self): + if self.current_user is None: + return False + + if self._model.status not in ( + PropositionStatus.SUBMITTED, + PropositionStatus.QUALIFIED, + PropositionStatus.VOTING, + ): + return False + + if self._s.app.public_supporters: + return True + + if self._model.ballot.area.department in self.current_user.managed_departments: + return True + + if self._request.identity.has_global_admin_permissions: + return True + def valid_submitter_invitation_key(self): key = self._request.GET.get("submitter_invitation_key") if key is None: @@ -375,10 +438,44 @@ def note_url(self): ) def become_submitter_url(self): - return self.self_link + f"?submitter_invitation_key={self._model.submitter_invitation_key}" + return ( + self.self_link + + f"?submitter_invitation_key={self._model.submitter_invitation_key}" + ) + + def submitters(self): + submitters = [] + + for pm in self._model.propositions_member: + if pm.submitter: + user = pm.member + group_names = ", ".join(g.name for g in user.groups) + submitters.append(f"{user.name} ({group_names})") + + return submitters + + @cached_property + def _supporters_and_groups(self): + supporters = [] + group_counter = Counter() + + for pm in self._model.propositions_member: + if pm.status == SupporterStatus.ACTIVE: + user = pm.member + group_names = [g.name for g in user.groups] + group_str = ", ".join(group_names) + supporters.append(f"{user.name} ({group_str})") + group_counter.update(group_names) + + groups = [f"{name} ({count})" for name, count in group_counter.items()] + + return (supporters, groups) + + def supporters(self): + return self._supporters_and_groups[0] - def submitter_names(self): - return [pm.member.name for pm in self._model.propositions_member if pm.submitter] + def supporter_groups(self): + return self._supporters_and_groups[1] def show_full_history(self): return self.options.get('show_details') diff --git a/src/ekklesia_portal/concepts/proposition/proposition_views.py b/src/ekklesia_portal/concepts/proposition/proposition_views.py index 862a0c33..79fce160 100644 --- a/src/ekklesia_portal/concepts/proposition/proposition_views.py +++ b/src/ekklesia_portal/concepts/proposition/proposition_views.py @@ -1,4 +1,5 @@ import secrets +import time from datetime import datetime import base32_crockford @@ -120,12 +121,22 @@ def __init__(self, proposition_id=LID()): @App.html(model=Proposition, permission=ViewPermission) def show(self, request): cell = PropositionCell(self, request, show_tabs=True, show_details=True, show_actions=True, active_tab='discussion') + if request.htmx: + time.sleep(1) return cell.show() @App.html(model=Proposition, name='associated', permission=ViewPermission) def associated(self, request): cell = PropositionCell(self, request, show_tabs=True, show_details=True, show_actions=True, active_tab='associated') + if request.htmx: + time.sleep(3) + return cell.show() + + +@App.html(model=Proposition, name='process', permission=ViewPermission) +def process(self, request): + cell = PropositionCell(self, request, show_tabs=True, show_details=True, show_actions=True, active_tab='process') return cell.show() diff --git a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade index 24d09a80..414a08ea 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade @@ -33,9 +33,3 @@ else p a(href=login_url)= _('notice_login') - - if show_submitter_names and submitter_names - p= _('current_submitters') - ul - for name in submitter_names - li= name diff --git a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade index b0dfcbde..af2c4eca 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade @@ -2,9 +2,3 @@ h2= _('title_qualified_proposition') p= _('info_qualified_proposition') - - if show_submitter_names and submitter_names - p= _('submitters') - ul - for name in submitter_names - li= name diff --git a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade index f21b5439..2a31ac68 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade @@ -2,9 +2,3 @@ h2= _('title_scheduled_proposition') p= _('info_scheduled_proposition', ballot=ballot_title, voting_phase=voting_phase.title) - - if show_submitter_names and submitter_names - p= _('submitters') - ul - for name in submitter_names - li= name diff --git a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade index 17b50a9b..8b828fca 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade @@ -1,13 +1,17 @@ #detail_top(hx-swap-oob="true") h2= _('title_submitted_proposition') - p= _('info_submitted_proposition') + p + = _('info_submitted_proposition') + |  + a(href=link(_model, "process")) More info... if current_user_is_submitter - p= _('current_user_is_submitter') + p + = _('current_user_is_submitter') - if current_user_is_supporter - p= _('current_user_is_submitter_and_supporter') + if current_user_is_supporter + = " " + _('current_user_is_submitter_and_supporter') elif current_user_is_supporter p= _('current_user_is_supporter_not_submitter') @@ -15,9 +19,3 @@ elif can_support p= _('current_user_can_support') - if show_submitter_names and submitter_names - p= _('submitters') - ul - for name in submitter_names - li= name - diff --git a/src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade index 65817bc4..4903623a 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade @@ -1,27 +1,17 @@ -#secret_voting(hx-swap-oob="true") - .col-sm-6 - form.secret_voting_form(action=secret_voting_url - method="POST" - hx-post=secret_voting_url) +span#secret_voting(hx-swap-oob="true") + form.secret_voting_form(action=secret_voting_url + method="POST" + hx-post=secret_voting_url) - if secret_voting_requested - input(type="hidden", name="secret_voting", value="retract") - button.btn.btn-secondary.btn-sm(type="submit") - = _('button_retract_secret_voting') - else - input(type="hidden", name="secret_voting", value="request") - button.btn.btn-secondary.btn-sm(type="submit") - i.far.fa-eye-slash   - = _('button_request_secret_voting') - - .col-sm-6 - .progress(title=(_('abbr_secret_voters_count') + " / " + _('abbr_secret_voting_quorum'))) - .progress-bar(role="progressbar" - style="width: {{ secret_voters_count/secret_voting_quorum * 100 }}%" - aria-valuenow=secret_voters_count - aria-valuemin="0" - aria-valuemax=secret_voting_quorum) - | {{ secret_voters_count }} / {{ secret_voting_quorum }} + if secret_voting_requested + input(type="hidden", name="secret_voting", value="retract") + button.btn.btn-secondary.btn-sm(type="submit") + = _('button_retract_secret_voting') + else + input(type="hidden", name="secret_voting", value="request") + button.btn.btn-secondary.btn-sm(type="submit") + i.far.fa-eye-slash   + = _('button_request_secret_voting') //- vim: set filetype=jade sw=2 ts=2 sts=2 expandtab: diff --git a/src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade index 7de8507d..4be418c8 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade @@ -8,7 +8,7 @@ .proposition_small_footer .row - .col-sm-5.points + .col-sm-5.supporter_count i.far.fa-thumbs-up   strong.proposition_info_number(id="proposition_score_{{ id }}")= supporter_count |   diff --git a/src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade index 2daa6b0b..969f91fd 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade @@ -1,39 +1,22 @@ -#support(hx-swap-oob="true") - .col-sm-6 - form.support_form(action=support_url - method="POST" - hx-post=support_url) - - - if current_user_is_supporter - input(type="hidden", name="support", value="retract") - button.btn.btn-secondary.btn-sm(type="submit") - i.far.fa-thumbs-down   - = _('button_retract_support') - else - if can_support - input(type="hidden", name="support", value="support") - button.btn.btn-primary.btn-sm(type="submit") - i.far.fa-thumbs-up   - = _('button_support') - elif supporter_quorum_percent is not none - button.btn.btn-secondary.btn-sm(disabled=true) - = _('supporters') - - .col-sm-6 - if supporter_quorum_percent is not none - .progress(title=(ngettext("supporter", "supporters", supporter_count) + " / " + _('qualification_quorum'))) - .progress-bar(role="progressbar" - style="width: {{ supporter_quorum_percent }}%" - aria-valuenow=supporter_count - aria-valuemin="0" - aria-valuemax=qualification_quorum) - | {{ supporter_count }} / {{ qualification_quorum }} +span#support(hx-swap-oob="true") + form.support_form(action=support_url + method="POST" + hx-post=support_url) + + if current_user_is_supporter + input(type="hidden", name="support", value="retract") + button.btn.btn-secondary.btn-sm(type="submit") + i.far.fa-thumbs-down   + = _('button_retract_support') else - | {{ supporter_count }} {{ _("supporters") }} - - - + if can_support + input(type="hidden", name="support", value="support") + button.btn.btn-primary.btn-sm(type="submit") + i.far.fa-thumbs-up   + = _('button_support') + elif supporter_quorum_percent is not none + button.btn.btn-secondary.btn-sm(disabled=true) + = _('supporters') //- vim: set filetype=jade sw=2 ts=2 sts=2 expandtab: diff --git a/src/ekklesia_portal/concepts/proposition/templates/proposition_tabs.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/proposition_tabs.j2.jade index aa8740c9..0205016b 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/proposition_tabs.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/proposition_tabs.j2.jade @@ -1,5 +1,15 @@ -ul.proposition_tabs +ul.proposition_tabs(hx-boost="true", hx-indicator="find .htmx-indicator") li.nav-item - a.nav-link(href=discussion_url, class=discussion_link_class)= customizable_text("tab_discussion") + a.nav-link(href=discussion_url, class=discussion_link_class) + = customizable_text("tab_discussion") + i.htmx-indicator + li.nav-item - a.nav-link(href=associated_url, class=associated_link_class)= customizable_text("tab_associated") + a.nav-link(href=associated_url, class=associated_link_class) + = customizable_text("tab_associated") + i.htmx-indicator + + li.nav-item + a.nav-link(href=process_url, class=process_link_class) + = customizable_text("tab_process") + i.htmx-indicator diff --git a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_finished.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_finished.j2.jade index be1dccc2..5a9b55a2 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_finished.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_finished.j2.jade @@ -1,4 +1,4 @@ -.points_and_argument_count +.supporter_and_argument_count i.far.fa-comments   strong.proposition_info_number= argument_count |   diff --git a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade index abe328b7..e924efc3 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade @@ -1,25 +1,34 @@ -a.argument_count(href=(("" if options.show_details else self_link) + "#bottom") - title=_("goto_arguments")) - i.icon.far.fa-comments   - strong.proposition_info_number= argument_count - |   - span= ngettext("argument", "arguments", argument_count) +.argument_count + a(href=(("" if options.show_details else self_link) + "#bottom") + title=_("goto_arguments")) + i.far.fa-comments   + strong.proposition_info_number= argument_count + |   + span= ngettext("argument", "arguments", argument_count) -if options.show_details - .points - i.far.fa-thumbs-up   - strong.proposition_info_number= supporter_count +.amendment_count + a(href=(link(_model, "associated") + "#bottom") + title="goto") + i.far.fa-plus-square   + strong.proposition_info_number= amendment_count |   - span= ngettext("supporter", "supporters", supporter_count) + span= ngettext("amendment", "amendments", amendment_count)|capitalize +if options.show_details + .supporter_count + a(href=(link(_model, "process") + "#support") + title="goto") + i.far.fa-thumbs-up   + strong.proposition_info_number= supporter_count + |   + span= ngettext("supporter", "supporters", supporter_count) .voting + div + a(href=link(voting_phase))= voting_phase.title div i.fas.fa-person-booth   - = _('ballot') + = _('ballot')|capitalize |: - div - a(href=link(voting_phase))= voting_phase.title div a(href=link(ballot))= ballot_title - diff --git a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade index 8a87d4ac..1e653145 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade @@ -1,12 +1,19 @@ -a.argument_count(href=(("" if options.show_details else self_link) + "#bottom") - title=_("goto_arguments")) - i.icon.far.fa-comments   - strong.proposition_info_number= argument_count - |   - span= ngettext("argument", "arguments", argument_count) +.argument_count + a(href=(link(_model) + "#bottom"), title=_("goto_arguments")) + i.far.fa-comments   + strong.proposition_info_number= argument_count + |   + span= ngettext("argument", "arguments", argument_count) + +.amendment_count + a(href=(link(_model, "associated") + "#bottom"), title="goto") + i.mr-1.far.fa-plus-square   + strong.proposition_info_number= amendment_count + |   + span= ngettext("amendment", "amendments", amendment_count) -if not options.show_details - .points +.supporter_count + a(href=(link(_model, "process") + "#support"), title="goto") i.far.fa-thumbs-up   strong.proposition_info_number= supporter_count |   diff --git a/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade index fad28bb0..4e4f9155 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade @@ -1,4 +1,4 @@ -.row.arguments +.proposition_tab.row.arguments a(name="bottom") .proposition_col.amendments diff --git a/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_discussion.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_discussion.j2.jade index 7f047e93..e9583a07 100644 --- a/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_discussion.j2.jade +++ b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_discussion.j2.jade @@ -1,4 +1,4 @@ -.row.arguments +.proposition_tab.row.arguments a(name="bottom") .proposition_col.pro diff --git a/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade new file mode 100644 index 00000000..8629661c --- /dev/null +++ b/src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade @@ -0,0 +1,101 @@ +.proposition_tab + a(name="bottom") + + h3 Status + + p + = _('info_submitted_proposition') + + if show_support + a(name="support") + h3.my-2 Support + + if support_still_required + p. + This needs {{ qualification_quorum }} supporters to be qualified for voting. + elif support_still_possible + p. + This has enough support for voting but supporting is still possible. + else + p. + Supporting is closed for this proposition. + + if current_user_is_submitter + p + = _('current_user_is_submitter') + + if current_user_is_supporter + = " " + _('current_user_is_submitter_and_supporter') + + elif current_user_is_supporter + p= _('current_user_is_supporter_not_submitter') + + elif can_support + p= _('current_user_can_support') + + if support_still_required + .supporter_progress + .col-sm-4 + h4 Supports + + .col-sm-8 + if supporter_quorum_percent is not none + .progress(title=(ngettext("supporter", "supporters", supporter_count) + " / " + _('qualification_quorum'))) + .progress-bar(role="progressbar" + style="width: {{ supporter_quorum_percent }}%" + aria-valuenow=supporter_count + aria-valuemin="0" + aria-valuemax=qualification_quorum) + | {{ supporter_count }} / {{ qualification_quorum }} + else + | {{ supporter_count }} {{ _("supporters") }} + else + h4 {{ _('supporters') }} ({{ supporter_count }}) + + + if supporters + a(href="#", data-toggle="collapse", data-target="#supporters") + small Show supporter names... + + #supporters.row.collapse + .col-sm-12 + ul + for supporter in supporters + li= supporter + + if show_secret_voting + + hr + + h3 Secret Voting + + p. + This needs at least {{ secret_voting_quorum }} requests to move the vote to a secret ballot. + + .secret_voting_progress + .col-sm-4 + h4 Secret Voting Requests + + .col-sm-8 + .progress(title=(_('abbr_secret_voters_count') + " / " + _('abbr_secret_voting_quorum'))) + .progress-bar(role="progressbar" + style="width: {{ secret_voters_count/secret_voting_quorum * 100 }}%" + aria-valuenow=secret_voters_count + aria-valuemin="0" + aria-valuemax=secret_voting_quorum) + | {{ secret_voters_count }} / {{ secret_voting_quorum }} + + if submitters + + hr + + h3 Submitters + + .row + .col-sm-12 + ul + for submitter in submitters + li= submitter + +// generated from jade +//- vim: set filetype=jade sw=2 ts=2 sts=2 expandtab: diff --git a/src/ekklesia_portal/datamodel.py b/src/ekklesia_portal/datamodel.py index 512ca956..e9585b74 100644 --- a/src/ekklesia_portal/datamodel.py +++ b/src/ekklesia_portal/datamodel.py @@ -583,6 +583,15 @@ def active_supporter_count(cls): .where(Supporter.status == SupporterStatus.ACTIVE) .correlate(Proposition.__table__)) + @property + def active_supporter_group_count(self): + groups = set() + for member in self.propositions_member: + if member.status == SupporterStatus.ACTIVE: + groups.update(member.user.groups) + + return len(groups) + @property def submitter_count(self): return len([s for s in self.propositions_member if s.submitter]) diff --git a/src/ekklesia_portal/helper/missing_translations.py b/src/ekklesia_portal/helper/missing_translations.py index e14b85c0..97c16313 100644 --- a/src/ekklesia_portal/helper/missing_translations.py +++ b/src/ekklesia_portal/helper/missing_translations.py @@ -16,5 +16,6 @@ _("tab_associated") _("tab_discussion") _("button_add_amendment") +_("tab_process") _("button_add_counter_proposition") _("button_goto_associated") diff --git a/src/ekklesia_portal/sass/portal.sass b/src/ekklesia_portal/sass/portal.sass index 58e2714a..0098ba7f 100644 --- a/src/ekklesia_portal/sass/portal.sass +++ b/src/ekklesia_portal/sass/portal.sass @@ -188,6 +188,11 @@ footer.footer .list-inline @extend .my-1 +.htmx-indicator + @extend .fas + @extend .fa-spinner + @extend .fa-spin + .large_number font-size: 1.2rem @@ -225,9 +230,6 @@ footer.footer .filter @extend .nav-link -.points_text - @extend .text-muted - .proposition @extend .card @@ -275,6 +277,15 @@ footer.footer @extend .nav @extend .nav-tabs @extend .card-header-tabs + padding-right: 20px + + .htmx-indicator + margin-left: 3px + margin-right: -16px + +.proposition_tab + padding-top: 8px + padding-bottom: 8px .proposition_amendments_header @extend .card @@ -393,18 +404,23 @@ ul.proposition_filter align-items: center .progress - height: 1.5rem + height: 2rem + padding: 0.25rem .progress-bar color: black -#support +.supporter_count, .amendment_count, .argument_count + .proposition_info_number, i + color: black + +.supporter_progress @extend .progress_row .progress-bar background-color: $light-orange -#secret_voting +.secret_voting_progress @extend .progress_row .progress-bar diff --git a/src/ekklesia_portal/static/img/spinner.gif b/src/ekklesia_portal/static/img/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..df4cccebad0f8e669c3ca2cd687443ed3d5862f1 GIT binary patch literal 8451 zcmeHMcUY5myZ*gz-h>bWhJ-C*NC4S{jewXCKtRACpnzb*G$2+`P_&MOJr$6>OxR0h z$w9?7$dKhiu!vTJA|hfx#8KMX_5^Cj*K?i!&vl(I??3tT8TWJF_w)R=xj0#E4l)5I z;0Fk-{(b`x1i>(jLZJ`@L8H+a3`Rmi0*l2;N=o8zI4LP9JRUDCEiEG>vu@ow0)Zea zD@!C2NhFe-oSeM8yn=#)qN1Xbl9IBrvWkkz`t|EoRaG}^*r2ASwsGS|GMTKdu1=v) zs8p(khK8o5rk0l0rcIl)wY7D0baZuf_4V})3=9kn4ULS9OiWBnO-;?r%*@TrEi5c7 zEiJ9AtTu1nY;A3AV`F1$YrAF37CSq;ty{O!>2wBzVQ+8GWHPsH+veuxwqwT*7K`QO z<>l?|?c?LKYuB#byLbEg`uh3#?b)*@FfcGEC@3T(BrGh9!{J0kL_|hL?%%&ZDk|#0 zfddB*9*mBTj){pmbm-9G!-r#IW8>oDjvP61^yty}`1oVTjvYUK{Hw3NI&tE}$&)8f zojP^;^l2`a%j5A95)zVQ-+c3pP$;}{ z<3?X!Uw?o9z`(%Z;NZ=hH;0CXhKGkoMn* z`SRub{QRp|uND>-UcY|5xVZS{&71GP|NdY9`q$FZ(%ZLhmzS5{y?gim{re9eK79Q6 z@rNINSXo*5@y8#3`st^ifByN?r%%89^2@Kk{`%Yhji35&QXY=pUQ7nd(ZrC3S{(@W z9}zSHAfUfG8>?fIy87ooL-L;?`Tsg3*x$f;_e2YKG9wW!p=H}Z5cH)GlugPN4wRZ@ zC>ZZ;={BZri$H8LCYLyvAz0&fEBC=`kT80G8cmxDT&)8wb?kdAXj#$VBrSl&11s;|iRJp3}=i4M3=Z z4RdfqfClA@FQn$`(!e^^zFfvBz)uKj$}UoOrQ)Nv*((X`9XH|&mCmQf0d}9$ZwH+B zrgX{O?KMG4uurq42CH&2Z6oKYXDlqzLNe`$k{fb1X{GNu>-2TJY90&s%KMy~^|6|K zM!1fD?ye&xLHYhpE}BI?De1L&B|eQ>B~cZUTBRX_E|n#*RT1|}51o27R~bGxJQou8 zwdBUiz3n>M=imO=s2!S$DV;l?Onlf-k?s^3QIhX*Rih?p;njS7oS6FlBtVpy1q}cR z0BkWpVO5=5`MnYM@VWs*EWw2o0@Y-Kn#*s?P>NCNF^_iYWh+VV!YZ?OGng7uPOita zYlS38h99HDQeMx~4tJR#fPSq~#1Yz{%PJD)%4QRNe4jlV&v89php){k7Mkr;d@@EJ z<9D=3c@gxra%88H)3CqFt}HIv6QL!<_knZXqvTllakrH0ZUDYnv53{sqtn-dMX$0o z3c#O(?fX4gHekZ0s^nrSoxB%AbuD*p6J=*8p($n9C{ZI53YA+dzQ?9W!8^uY`Q(v@ z3L&n6tTQ}rS`6W8g*wsokom266DNk~0_4cOei>B=krLlx56lkgT$JSVd>OKLmp$B$RPmF*8N@4eJ%ev- zytQ1X&X*#r0ONIzWo|JtFAJ|C?Vkc-Qj)jV=*f_j2>)z?ytoOkKR1C9ad)i=>KB-v zhzh}1lqjQ@c*Oj1Lyj*{QAN)UCF+Ovg+N+_#T(8OM!YUqNq3%mi*^pPE|5^1aK`9N z_d-4)UR~CMcLQ^#IM$m?k%Key@sd)JTr+n`!#>^UT|?5aO_;foE)(FJRBpgOQ@-_0 zzKVqNFVm)Qyz5U4-z)L^ClXxX*y!e?L54C?@@P6Mp4tGJNUD$;>fR2HC}l|7lDPe* zqtdyJSfLZ!j2*1ad%}6o7>>A8ry1~Fv;(m1j2Rz3DOW_#?%DhR(6p_#(ZEHer$Y-n zFLD2-!oN$gqB#GjpZoe5gm>8nOy~sLik$Q83`mMKf6QrB+LmCmbRsG(3*Wom3!kgv ztVdVpVGw&?({XYY4)zqbndc?ZrBfp@*g6Mty7TQMjB}{HC^ux|7t-F9qMz0DDf9{f;-1E>nxY?LcI@z%7%fKpNPVYsFYM> zsr&j}IY8)<*Igf`NB*nlXfc-czaVY3KiU+0VrGpwrYzHe`VXb0?L?tHy4Xa{mU zJ~W>#Ai@RYYm(d9kl9$Ng4+=%cDld1DYBB|vVXt>Hg0HI!7+hC*Vvc+1@`2rgduP2 ztfu8`I-qKK{LFmz<bC; zS@9EE$o-g54Wh6s9yt$dT_NbN;$XzZ(FN+_;t1A?!y;dB^h^lluv!IusWO>wdLd9X zkSTqxKs}8rtO8eQ8T!TAiFDE-`!fNXX}%;L*>^-$dwa6b>{j^5iH};`RCntz*D{4S zw=VGYS9R`<^3IZbbuM37-`AOJ_U(xLZscL z`lA#f@3C=^(-36@z>$KJrrZ=iWBAwdNk{$9^t6UxNpaMh#2>&mtwp`W;;KP-Lcma~ zfEj$8V>fCa9Q7lliDxxOTf(jkV~~z@(FwuiSQt#31(}4kmw(jX zcROPI1a5si&V6|R??CY$j`(QI;@H&=S6qUQ@DJ!4|MR~(wa z)r%|#9D%(l#N9Em4d^<=S=fWphA=G488dkf0$Kd!Wx#gvj_~s)lvzgw{f%Am;_x+A zEiv}WYWVS^IdU6Si1@YedH3o(k2|+LyAg4>Zi{IOnOg|>C;U{E+5Qd@TIX^DHnXTs zg)|gD%cZ04R+-h|g~!7k^>@zG6aNYy{ga-MC#ZorN+a6bvx2=D&#=+X4Mq_7QntX@ z%n@v{r=p9=Zk%+mFKMuXt3O{~pO)|hCrfu>ePIAKgW@vH{ zaelv35kTF+x+fzj!pfqvus3@B=kI##<01*KhGB(T%B@0Hvg9p?Ai5v;r9 zf8-fKWUp6v`?e}p2tRP;WIJetwvQ{8%K@w}Yya}3x{(u+;_)F#XxYYIGCuOI+ z0fF~M1v}RLmVQk}MdHQlytcwYGgvzqFZ@2x5?Wr4dzAXGDxjG1U7!L*sQh&Zi&Q+-?Qj-s3L`cPs@q46QYPQH&f{cm!E6+=UN4H}DU zbK1&h@b1fqp^+o%+uEw4KH_~nK zo?Q5>9N3N+wm6aj?J_O|Q9^#;7lD8U6*)Ok>XU?8IBjJ+Aslrhjik4Cth?>`%^d3X zO1BbPJ3Av2?J3Y})02iR;$2TP_X8*@N8PT_0dR?_HR^W#5a1DGV}IRH7Y>6*G+55W zr}@ivTN_nHoG397ZumRB!T=*qUspUEe-xlM5qsX9DMnCVg4nL?S!u0udd|xcc%cm$hW!iJ4#&SsY zZvlV4Zd>*^4NrK{5n^l}j05vNa?e`;9uQV0C#nJHYdYdU6E!}_R0a7z9nY2E(L)V( zLTuAFOncPc?vvfy$rrE497WO+EoUkLrRKwyV*MMURBGM^L!}lb*DOCp;Vv>)5II5qYQJkW$j=t+iRo;hn*NGDmzg7fPd#@*?LA9rYJ~kFBS~- zx9>i9qwC-=l>A4#X}#BuNt0%q<3;UZU#^$RA~CW0SX)~Iyy9O zt1_1BY+|?$%6G;*pm1@+U3;-nlT)N9>Fo0b3<5h@Z{UoBgmbWxZ}}rgTf6Czo{(Z> zj&a3CyDewgrL2pVm@*E_8Tz{=g~eoIApQXM*ENJhvyCIr;@S++)Z0x+s^;a+o-^uF zFtBYLim7VV0NAv&*_P_zq&60yMc2&^7s2ikfRI2MD{Hkt;(4#N#@Ko%aPCAt(@uXW zO%ZHzQ4kM&{S!{jt-E!mPs|Z>R?$}{3q;ZB) zPwP~x-lAOqHia&RJ&jBt(}J@xHKpyEaiAiGIu=uk<$Op#wBoDG2>~!cur1t_?irQS zSkt>eL-_8@zYonHwE2fi2Yb@1z(e*ZUpzD@rRV3E0AvDN$Hyx)KQ2zpG2OXgvfBGp zy<`Gn8GOmjSG`A6yB*kR+e{B*e2rU6JW5(@k@=;=b^6kf|E#X=IrRNsrJr@d%t>&_9&M=xl_sb_C;7^XZUUQ;q0CL0~oGKBSdNyEcyka z*Pn1!RyF>8MAozx7E1+LJS2a(^j0=^PX>(iiU5ERwfK2s=UjH1oh2ZMIiI@?`a*Z7 zt%B$VUBy=>dE`U$l)iVOZ@PYi*qRa#hA(K$JBU&pZ4z%=%kt?ZVT_}tDrq{eZu_ai zEv+xS>s#d@U+?c8I*=zXP?RO3a9zR1Wnm)=pYFOD3$W*>2tA#)ZoCzD<#{)ozly4oQ3I(-R5agr6ExMx$Ev}4Fqf75#AR@G-tz{og8k$})lj8#I z^G?XeD29MTXW|2pAH!)okY_vj91Ic4~Xk$O8h+c)4zr)%d>{e%(m~3Uz!z5PEy7L5SmZ z6Q9M*hOc2f-+EKid7x3_ZXkEr9gs%&GNd%E1xmAms@;|@d-inwWg60IEWOZ7D5)_& zg?sbRjB~$oONIEXH+y@BLCAwoogJZ#=h891pM*Zk0xTAVRat2NGb>5kr6CG-wOLfP zo|%{8tO#KOqTC$1*Rqe6k))KGM8{`3HDz%$9*Sk*76Mv>6~>CH^a(=3>p9mzeNfDu z^U`cptIhc58ne25Ey&Ti0e&`7*JXvQUAlWv=$u^n-2nEFLAuY$i!tw)D;b(^o-GXX zO+FA`rLWf-F& ze`vX~UGt8>AhVH7PtY3AyJiSD%bj7HHgq)oj~((pPL%)@{ntURf&p0(VOkgZnvbsO z;-rOfd^VS*?3(W6B;E2@-9@J(QmQLXc3HLg4Tq!Pzjl~aeCdg|7=W$#GX-EPYJfRw zDcE=NRy#pFEHKdsU&Yr1w$Iswa>;rVMn!jcd8SGZWzbcw6RljvYvU}a7N~R471qZj z`*TQ~?IG~?Av6EHZ^e$axJy-&3)CC+9|B>*<{0-u*Yewj}6R}WQQRf!W zuc}7scT3!K;vLO88Iab(mo`j?L-m#VghF$wa%Eb_e(DAiY%G_d%ug2*vg2_M#;vo1 za`1f`$(rWQ16tvm9R}2e67Fu&kyx4_NS|let`^|OXzCUF@E(!oM>374kwx?-^7}4y zNyYh?&uh~Y+~Soph*lg?n-nyLd|9joFu}0=+32orb=>-$>5dI8xfkek$UFL1Un(fS zr*c>pyQC1uw7+QSA=#>Vgt-xtc^KXuXURlE(LdU)q_Wy)F!e5FDLtZ&2wd5^a)shzE?5C0>) zHu`?mYNOSAnLAH$Sga)+d9RGAg2sc?ltEw#tNuK+9z`aL?rVMWBi7%{fLAA8)7%-^n#NC)25eb|bFpH0h37p2>D!)jCIm%@oY{GMl)?g9@G4A zz#m1I5vH{>onUg-dlEbOWtL`|5XXAnIoJ$KAYkt5>$4j#o7R#(H4;K?k3v2|L;@_z{waDld6s9qwl}^qQfe0W{kROS zlTw{$0ui=~#CPrB%H^labd!Wm+|4CHw;{rdk{YdV>{Ia;dP1>;dy~ZPH>*zppReny zPXVj>{h?-`uh7v!0_)I3_Vaa^Y^(*AoK?+mR6we7 z`eJSi@rIIG%2=J3LK5n1Ojd!tNO_-~{Oy41xhD_+*@h&sLWs*;hM=?b1UP=!i$#NHjE4LBmd jA*`8hia(FH^KQ%I91oxh)iKHjuc#ZY^QaL&aM=7eRy>?Y literal 0 HcmV?d00001 diff --git a/src/ekklesia_portal/translations/de/LC_MESSAGES/messages.po b/src/ekklesia_portal/translations/de/LC_MESSAGES/messages.po index 2a068af7..98fca718 100644 --- a/src/ekklesia_portal/translations/de/LC_MESSAGES/messages.po +++ b/src/ekklesia_portal/translations/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-04-23 22:03+0000\n" +"POT-Creation-Date: 2023-06-23 02:59+0200\n" "PO-Revision-Date: 2015-09-06 22:42+0200\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -46,7 +46,7 @@ msgstr "Ausführlich" #: src/ekklesia_portal/concepts/page/page_contracts.py:19 #: src/ekklesia_portal/concepts/policy/policy_contracts.py:30 #: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:84 -#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:129 +#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:128 #: src/ekklesia_portal/concepts/proposition_note/proposition_note_contracts.py:20 #: src/ekklesia_portal/concepts/proposition_type/proposition_type_contracts.py:18 #: src/ekklesia_portal/concepts/subject_area/subject_area_contracts.py:17 @@ -143,7 +143,7 @@ msgstr "Abstimmungsart" #: src/ekklesia_portal/concepts/ballot/templates/ballot.j2.jade:13 #: src/ekklesia_portal/concepts/document/document_helper.py:15 #: src/ekklesia_portal/concepts/document/document_helper.py:16 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:59 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:54 msgid "not_determined" msgstr "nicht festgelegt" @@ -162,7 +162,7 @@ msgstr "" #: src/ekklesia_portal/concepts/ballot/templates/ballot.j2.jade:7 #: src/ekklesia_portal/concepts/proposition/templates/edit_proposition.j2.jade:12 #: src/ekklesia_portal/concepts/proposition/templates/edit_proposition.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:10 msgid "ballot" msgstr "Abstimmung" @@ -201,7 +201,7 @@ msgstr "Gliederung" #: src/ekklesia_portal/concepts/ekklesia_portal/templates/admin_box.j2.jade:2 #: src/ekklesia_portal/concepts/ekklesia_portal/templates/index.j2.jade:16 #: src/ekklesia_portal/concepts/proposition/templates/propositions.j2.jade:3 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:42 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:37 msgid "propositions" msgstr "Anträge" @@ -221,7 +221,7 @@ msgstr "Übersicht" #: src/ekklesia_portal/concepts/ballot/templates/ballots.j2.jade:5 #: src/ekklesia_portal/concepts/ekklesia_portal/templates/admin_box.j2.jade:26 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:45 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:40 msgid "ballots" msgstr "Abstimmungen" @@ -584,7 +584,6 @@ msgstr "Minimale Anzahl an Unterstützern" #: src/ekklesia_portal/concepts/policy/policy_contracts.py:16 #: src/ekklesia_portal/concepts/policy/templates/policy.j2.jade:16 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:15 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:39 msgid "qualification_quorum" msgstr "Unterstützer-Quorum zur Zulassung zur Abstimmung [0-1]" @@ -703,16 +702,16 @@ msgstr "Daten für externe Systeme" msgid "button_create_draft" msgstr "Antragsentwurf anlegen" -#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:118 +#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:117 #: src/ekklesia_portal/concepts/proposition/templates/proposition_actions.j2.jade:2 msgid "button_submit_draft" msgstr "Antrag einreichen" -#: src/ekklesia_portal/concepts/proposition/proposition_views.py:405 +#: src/ekklesia_portal/concepts/proposition/proposition_views.py:411 msgid "change" msgstr "Änderung" -#: src/ekklesia_portal/concepts/proposition/proposition_views.py:515 +#: src/ekklesia_portal/concepts/proposition/proposition_views.py:521 msgid "amendment_to" msgstr "Änderungsantrag to %(title)s" @@ -774,28 +773,17 @@ msgstr "Begründung" msgid "changes" msgstr "Änderungen" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:4 msgid "button_retract_secret_voting" msgstr "Forderung auf Papierabstimmung zurückziehen" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:8 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:7 msgid "button_request_secret_voting" msgstr "Papierabstimmung fordern" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 -msgid "abbr_secret_voters_count" -msgstr "Anzahl Befürworter für Papierabstimmung" - -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 -msgid "abbr_secret_voting_quorum" -msgstr "Quorum für Papierabstimmung" - #: src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade:10 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:15 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:2 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:2 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:5 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:39 msgid "supporter" msgid_plural "supporters" @@ -826,16 +814,15 @@ msgstr "" msgid "title_notice" msgstr "Hinweis" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:4 msgid "button_retract_support" msgstr "Unterstützung zurückziehen" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:8 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:7 msgid "button_support" msgstr "Unterstützen" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:10 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:19 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:9 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:36 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:43 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:47 @@ -995,10 +982,6 @@ msgstr "Antragsteller werden" msgid "notice_login" msgstr "Du musst dich erst anmelden." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade:20 -msgid "current_submitters" -msgstr "Aktuell sind Antragsteller:" - #: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade:2 msgid "title_qualified_proposition" msgstr "Zur Abstimmung zugelassener Antrag" @@ -1009,12 +992,6 @@ msgstr "" "Dieser Antrag hat die erforderliche Anzahl an Unterstützern erreicht und " "kann von den Verantwortlichen zur Abstimmung eingeplant werden." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade:4 -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade:4 -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:8 -msgid "submitters" -msgstr "Antragsteller" - #: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade:2 msgid "title_scheduled_proposition" msgstr "Zur Abstimmung eingeplanter Antrag" @@ -1035,7 +1012,7 @@ msgstr "" "Dieser Antrag ist eingereicht und hat zu wenig Unterstützung, um zur " "Abstimmung zugelassen zu werden." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:4 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:5 msgid "current_user_is_submitter" msgstr "Du bist Antragsteller." @@ -1045,11 +1022,11 @@ msgstr "" "Wenn du deine Unterstützung zurückziehst, bleibst du weiterhin " "Antragsteller." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:6 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:7 msgid "current_user_is_supporter_not_submitter" msgstr "Du unterstützt diesen Antrag." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:7 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:8 msgid "current_user_can_support" msgstr "Du kannst diesen Antrag unterstützen." @@ -1114,6 +1091,13 @@ msgid_plural "arguments" msgstr[0] "Argument" msgstr[1] "Argumente" +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:3 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:3 +msgid "amendment" +msgid_plural "amendments" +msgstr[0] "Änderung" +msgstr[1] "Änderungen" + #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade:5 msgid "title_proposition_modifies" msgstr "Ist Änderungsantrag zu" @@ -1150,9 +1134,13 @@ msgid_plural "supporter_groups" msgstr[0] "Gruppen des Unterstützers" msgstr[1] "Gruppe der Unterstützer" -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:18 -msgid "qualification_group_quorum" -msgstr "Unterstützer-Quorum zur Zulassung zur Abstimmung" +#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 +msgid "abbr_secret_voters_count" +msgstr "Anzahl Befürworter für Papierabstimmung" + +#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 +msgid "abbr_secret_voting_quorum" +msgstr "Quorum für Papierabstimmung" #: src/ekklesia_portal/concepts/proposition_note/proposition_note_contracts.py:11 msgid "proposition_id" @@ -1291,7 +1279,7 @@ msgstr "Stichtag" msgid "voting_phase_target_description" msgstr "Die Abstimmung endet am Stichtag." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:56 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:51 #: src/ekklesia_portal/concepts/voting_phase/voting_phase_contracts.py:14 msgid "voting_status" msgstr "Status" @@ -1356,7 +1344,7 @@ msgstr "" msgid "voting_module_data" msgstr "Daten für externe Abstimmungssysteme" -#: src/ekklesia_portal/concepts/voting_phase/voting_phase_views.py:168 +#: src/ekklesia_portal/concepts/voting_phase/voting_phase_views.py:169 msgid "voting_created_msg" msgstr "Abstimmung im Abstimmungsmodul %(voting_module)s erzeugt." @@ -1405,51 +1393,51 @@ msgid "could_not_vote_currently" msgstr "Du wirst nach aktuellem Stand nicht an der Abstimmung teilnehmen können." #: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:24 -msgid "voting_info_text" -msgstr "" -"Die Abstimmung läuft aktuell bis zum %(end)s. Nutze das bei der " -"Registrierung erzeugte Dokument zur Abstimmung." - -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:25 msgid "registration_links_help_text" msgstr "" "Registriere dich bis %(end)s, um an der Abstimmung teilzunehmen. Du " "erfährst bei der Registrierung, wie du deine Stimme abgibst." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:27 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:25 msgid "register_now_with_voting_module" msgstr "Jetzt registrieren bei %(title)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:29 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:27 +msgid "voting_info_text" +msgstr "" +"Die Abstimmung läuft aktuell bis zum %(end)s. Nutze das bei der " +"Registrierung erzeugte Dokument zur Abstimmung." + +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:28 msgid "voting_links_help_text" msgstr "Du kannst bis %(end)s abstimmen." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:31 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:29 msgid "vote_now_with_voting_module" msgstr "Stimme jetzt ab bei %(title)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:34 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:31 msgid "result_links_help_text" msgstr "Die Abstimmung ist beendet und die Ergebnisse können eingesehen werden" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:36 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:32 msgid "show_results_with_voting_module" msgstr "Ergebnisse bei %(title)s ansehen" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:50 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:45 msgid "registration_from" msgstr "Registrierung für die Abstimmung läuft von" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:52 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:55 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:47 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:50 msgid "start_end_duration" msgstr "%(start)s bis %(end)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:53 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:48 msgid "voting_from" msgstr "Abstimmung möglich von" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:58 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:53 msgid "target_date" msgstr "Stichtag" @@ -1546,10 +1534,14 @@ msgid "button_add_amendment" msgstr "Änderungsantrag hinzufügen" #: src/ekklesia_portal/helper/missing_translations.py:19 +msgid "tab_process" +msgstr "Unterstützung & Details zum Ablauf" + +#: src/ekklesia_portal/helper/missing_translations.py:20 msgid "button_add_counter_proposition" msgstr "Gegenantrag stellen" -#: src/ekklesia_portal/helper/missing_translations.py:20 +#: src/ekklesia_portal/helper/missing_translations.py:21 msgid "button_goto_associated" msgstr "Zu den Konkurrenzanträgen" @@ -1895,3 +1887,6 @@ msgstr "Enthaltung" #~ msgid "relation_modifies" #~ msgstr "Änderungsantrag für:" + +#~ msgid "button_add_amendment" +#~ msgstr "Änderungsantrag stellen" diff --git a/src/ekklesia_portal/translations/en/LC_MESSAGES/messages.po b/src/ekklesia_portal/translations/en/LC_MESSAGES/messages.po index 1996870f..732b745f 100644 --- a/src/ekklesia_portal/translations/en/LC_MESSAGES/messages.po +++ b/src/ekklesia_portal/translations/en/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-04-23 22:03+0000\n" +"POT-Creation-Date: 2023-06-23 02:59+0200\n" "PO-Revision-Date: 2015-09-06 22:42+0200\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -46,7 +46,7 @@ msgstr "Details" #: src/ekklesia_portal/concepts/page/page_contracts.py:19 #: src/ekklesia_portal/concepts/policy/policy_contracts.py:30 #: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:84 -#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:129 +#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:128 #: src/ekklesia_portal/concepts/proposition_note/proposition_note_contracts.py:20 #: src/ekklesia_portal/concepts/proposition_type/proposition_type_contracts.py:18 #: src/ekklesia_portal/concepts/subject_area/subject_area_contracts.py:17 @@ -143,7 +143,7 @@ msgstr "Voting type" #: src/ekklesia_portal/concepts/ballot/templates/ballot.j2.jade:13 #: src/ekklesia_portal/concepts/document/document_helper.py:15 #: src/ekklesia_portal/concepts/document/document_helper.py:16 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:59 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:54 msgid "not_determined" msgstr "not determined" @@ -162,7 +162,7 @@ msgstr "" #: src/ekklesia_portal/concepts/ballot/templates/ballot.j2.jade:7 #: src/ekklesia_portal/concepts/proposition/templates/edit_proposition.j2.jade:12 #: src/ekklesia_portal/concepts/proposition/templates/edit_proposition.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:10 msgid "ballot" msgstr "ballot" @@ -201,7 +201,7 @@ msgstr "Department" #: src/ekklesia_portal/concepts/ekklesia_portal/templates/admin_box.j2.jade:2 #: src/ekklesia_portal/concepts/ekklesia_portal/templates/index.j2.jade:16 #: src/ekklesia_portal/concepts/proposition/templates/propositions.j2.jade:3 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:42 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:37 msgid "propositions" msgstr "Propositions" @@ -221,7 +221,7 @@ msgstr "Overview" #: src/ekklesia_portal/concepts/ballot/templates/ballots.j2.jade:5 #: src/ekklesia_portal/concepts/ekklesia_portal/templates/admin_box.j2.jade:26 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:45 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:40 msgid "ballots" msgstr "Ballots" @@ -584,7 +584,6 @@ msgstr "Minimum number of supporters" #: src/ekklesia_portal/concepts/policy/policy_contracts.py:16 #: src/ekklesia_portal/concepts/policy/templates/policy.j2.jade:16 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:15 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:39 msgid "qualification_quorum" msgstr "Supporter quorum for voting qualification [0-1]" @@ -702,16 +701,16 @@ msgstr "Data for external systems" msgid "button_create_draft" msgstr "Create Draft" -#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:118 +#: src/ekklesia_portal/concepts/proposition/proposition_contracts.py:117 #: src/ekklesia_portal/concepts/proposition/templates/proposition_actions.j2.jade:2 msgid "button_submit_draft" msgstr "Submit Proposition" -#: src/ekklesia_portal/concepts/proposition/proposition_views.py:405 +#: src/ekklesia_portal/concepts/proposition/proposition_views.py:411 msgid "change" msgstr "Change" -#: src/ekklesia_portal/concepts/proposition/proposition_views.py:515 +#: src/ekklesia_portal/concepts/proposition/proposition_views.py:521 msgid "amendment_to" msgstr "Amendment to %(title)s" @@ -773,28 +772,17 @@ msgstr "Motivation" msgid "changes" msgstr "Changes" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:4 msgid "button_retract_secret_voting" msgstr "Retract Voting on Paper Request" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:8 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:7 msgid "button_request_secret_voting" msgstr "Request Voting on Paper" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 -msgid "abbr_secret_voters_count" -msgstr "number of supporters for vote on paper" - -#: src/ekklesia_portal/concepts/proposition/templates/proposition_secret_voting.j2.jade:13 -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 -msgid "abbr_secret_voting_quorum" -msgstr "quorum for vote on paper" - #: src/ekklesia_portal/concepts/proposition/templates/proposition_small.j2.jade:10 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:15 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:2 -#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:2 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:5 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:39 msgid "supporter" msgid_plural "supporters" @@ -822,16 +810,15 @@ msgstr "" msgid "title_notice" msgstr "Note" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:5 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:4 msgid "button_retract_support" msgstr "Retract support" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:8 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:7 msgid "button_support" msgstr "Support" -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:10 -#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:19 +#: src/ekklesia_portal/concepts/proposition/templates/proposition_support.j2.jade:9 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:36 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:43 #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:47 @@ -989,10 +976,6 @@ msgstr "Become Submitter" msgid "notice_login" msgstr "You must login first." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_draft.j2.jade:20 -msgid "current_submitters" -msgstr "Currently, submitters are:" - #: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade:2 msgid "title_qualified_proposition" msgstr "Proposition Qualified For Voting" @@ -1003,12 +986,6 @@ msgstr "" "This proposition has enough supporters so the administrator can schedule " "it for voting." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_qualified.j2.jade:4 -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade:4 -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:8 -msgid "submitters" -msgstr "Submitters" - #: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_scheduled.j2.jade:2 msgid "title_scheduled_proposition" msgstr "Scheduled Proposition" @@ -1027,7 +1004,7 @@ msgstr "" "This proposition has been submitted. It needs more support to be " "scheduled for voting." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:4 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:5 msgid "current_user_is_submitter" msgstr "You are submitter." @@ -1035,11 +1012,11 @@ msgstr "You are submitter." msgid "current_user_is_submitter_and_supporter" msgstr "If you retract your support, you are still a submitter of the proposition." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:6 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:7 msgid "current_user_is_supporter_not_submitter" msgstr "You support this proposition." -#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:7 +#: src/ekklesia_portal/concepts/proposition/templates/detail_top/proposition_detail_top_submitted.j2.jade:8 msgid "current_user_can_support" msgstr "You can support this proposition." @@ -1104,6 +1081,13 @@ msgid_plural "arguments" msgstr[0] "Argument" msgstr[1] "Arguments" +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_scheduled.j2.jade:3 +#: src/ekklesia_portal/concepts/proposition/templates/status/proposition_status_submitted.j2.jade:3 +msgid "amendment" +msgid_plural "amendments" +msgstr[0] "Amendment" +msgstr[1] "Amendments" + #: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_associated.j2.jade:5 msgid "title_proposition_modifies" msgstr "Is Amendment For" @@ -1140,9 +1124,13 @@ msgid_plural "supporter_groups" msgstr[0] "Supporter Group" msgstr[1] "Supporter Groups" -#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:18 -msgid "qualification_group_quorum" -msgstr "Supporter quorum for voting qualification" +#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 +msgid "abbr_secret_voters_count" +msgstr "number of supporters for vote on paper" + +#: src/ekklesia_portal/concepts/proposition/templates/tab/proposition_tab_process.j2.jade:62 +msgid "abbr_secret_voting_quorum" +msgstr "quorum for vote on paper" #: src/ekklesia_portal/concepts/proposition_note/proposition_note_contracts.py:11 msgid "proposition_id" @@ -1281,7 +1269,7 @@ msgstr "Target date" msgid "voting_phase_target_description" msgstr "Voting ends on the target date." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:56 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:51 #: src/ekklesia_portal/concepts/voting_phase/voting_phase_contracts.py:14 msgid "voting_status" msgstr "Status" @@ -1338,7 +1326,7 @@ msgstr "Duration of the voting period in days relative to the target date." msgid "voting_module_data" msgstr "Voting Module Data" -#: src/ekklesia_portal/concepts/voting_phase/voting_phase_views.py:168 +#: src/ekklesia_portal/concepts/voting_phase/voting_phase_views.py:169 msgid "voting_created_msg" msgstr "Created voting in voting module %(voting_module)s." @@ -1390,51 +1378,49 @@ msgstr "" "status." #: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:24 -msgid "voting_info_text" -msgstr "" -"The voting runs until %(end)s. Use the document created during the " -"registration to vote." - -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:25 msgid "registration_links_help_text" -msgstr "" -"Register until %(end)s to participate in the voting. You will find out " -"how you cast your vote during registration." +msgstr "Register until %(end)s to participate in the voting." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:27 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:25 msgid "register_now_with_voting_module" msgstr "Register now at %(title)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:29 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:27 +msgid "voting_info_text" +msgstr "" +"The voting is open until %(end)s. To cast your vote, use the document " +"created in the registration process." + +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:28 msgid "voting_links_help_text" msgstr "Cast your vote until %(end)s." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:31 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:29 msgid "vote_now_with_voting_module" msgstr "Vote now at %(title)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:34 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:31 msgid "result_links_help_text" msgstr "The voting has finished. The results can be viewed." -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:36 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:32 msgid "show_results_with_voting_module" msgstr "View results at %(title)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:50 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:45 msgid "registration_from" msgstr "Registration for voting possible from" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:52 -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:55 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:47 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:50 msgid "start_end_duration" msgstr "%(start)s to %(end)s" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:53 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:48 msgid "voting_from" msgstr "Voting possible from" -#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:58 +#: src/ekklesia_portal/concepts/voting_phase/templates/voting_phase.j2.jade:53 msgid "target_date" msgstr "Target Date" @@ -1524,10 +1510,14 @@ msgid "button_add_amendment" msgstr "Add Amendment" #: src/ekklesia_portal/helper/missing_translations.py:19 +msgid "tab_process" +msgstr "Supporters & Process Details" + +#: src/ekklesia_portal/helper/missing_translations.py:20 msgid "button_add_counter_proposition" msgstr "Add Counter Motion" -#: src/ekklesia_portal/helper/missing_translations.py:20 +#: src/ekklesia_portal/helper/missing_translations.py:21 msgid "button_goto_associated" msgstr "Go to Associated Propositions" @@ -1780,6 +1770,9 @@ msgstr "Abstention" #~ msgid "association_type" #~ msgstr "Relation type" +#~ msgid "amendment" +#~ msgstr "change motion" + #~ msgid "amendment" #~ msgid_plural "amendments" #~ msgstr[0] "Amendment" @@ -1861,3 +1854,12 @@ msgstr "Abstention" #~ msgid "relation_modifies" #~ msgstr "Change motion for:" + +#~ msgid "button_add_amendment" +#~ msgstr "Add Amendment" + +#~ msgid "current_submitters" +#~ msgstr "Currently, submitters are:" + +#~ msgid "submitters" +#~ msgstr "Submitters"