OpenSlides/openslides/assignments/signals.py
2015-06-29 15:15:33 +02:00

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'))