92 lines
3.5 KiB
Python
92 lines
3.5 KiB
Python
from django.core.validators import MinValueValidator
|
|
from django.utils.translation import ugettext as _
|
|
from django.utils.translation import ugettext_lazy
|
|
|
|
from openslides.core.config import ConfigVariable
|
|
from openslides.poll.models import PERCENT_BASE_CHOICES
|
|
|
|
|
|
def setup_assignment_config(sender, **kwargs):
|
|
"""
|
|
Receiver function to setup all assignment config variables. They are
|
|
grouped in 'Ballot and ballot papers' and 'PDF'. This function is
|
|
connected to the signal openslides.core.signals.config_signal during
|
|
app loading.
|
|
"""
|
|
# Ballot and ballot papers
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_poll_vote_values',
|
|
default_value='auto',
|
|
input_type='choice',
|
|
label=ugettext_lazy('Election method'),
|
|
choices=(
|
|
{'value': 'auto', 'display_name': ugettext_lazy('Automatic assign of method')},
|
|
{'value': 'votes', 'display_name': ugettext_lazy('Always one option per candidate')},
|
|
{'value': 'yesnoabstain', 'display_name': ugettext_lazy('Always Yes-No-Abstain per candidate')}),
|
|
weight=410,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('Ballot and ballot papers'))
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_poll_100_percent_base',
|
|
default_value='WITHOUT_INVALID',
|
|
input_type='choice',
|
|
label=ugettext_lazy('The 100 % base of an election result consists of'),
|
|
choices=PERCENT_BASE_CHOICES,
|
|
weight=420,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('Ballot and ballot papers'))
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_pdf_ballot_papers_selection',
|
|
default_value='CUSTOM_NUMBER',
|
|
input_type='choice',
|
|
label=ugettext_lazy('Number of ballot papers (selection)'),
|
|
choices=(
|
|
{'value': 'NUMBER_OF_DELEGATES', 'display_name': ugettext_lazy('Number of all delegates')},
|
|
{'value': 'NUMBER_OF_ALL_PARTICIPANTS', 'display_name': ugettext_lazy('Number of all participants')},
|
|
{'value': 'CUSTOM_NUMBER', 'display_name': ugettext_lazy('Use the following custom number')}),
|
|
weight=430,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('Ballot and ballot papers'))
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_pdf_ballot_papers_number',
|
|
default_value=8,
|
|
input_type='integer',
|
|
label=ugettext_lazy('Custom number of ballot papers'),
|
|
weight=440,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('Ballot and ballot papers'),
|
|
validators=(MinValueValidator(1),))
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_publish_winner_results_only',
|
|
default_value=False,
|
|
input_type='boolean',
|
|
label=ugettext_lazy('Publish election result for elected candidates only '
|
|
'(projector view)'),
|
|
weight=450,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('Ballot and ballot papers'))
|
|
|
|
# PDF
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_pdf_title',
|
|
default_value=_('Elections'),
|
|
label=ugettext_lazy('Title for PDF document (all elections)'),
|
|
weight=460,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('PDF'),
|
|
translatable=True)
|
|
|
|
yield ConfigVariable(
|
|
name='assignments_pdf_preamble',
|
|
default_value='',
|
|
label=ugettext_lazy('Preamble text for PDF document (all elections)'),
|
|
weight=470,
|
|
group=ugettext_lazy('Elections'),
|
|
subgroup=ugettext_lazy('PDF'))
|