OpenSlides/openslides/agenda/config_variables.py
FinnStutzenstein cf7a5ce714 Reworked config
- Move config meta data into REST
- seperate views for config groups
2019-10-21 13:45:06 +02:00

191 lines
5.5 KiB
Python

from django.core.validators import MaxLengthValidator, MinValueValidator
from openslides.core.config import ConfigVariable
def get_config_variables():
"""
Generator which yields all config variables of this app.
It has to be evaluated during app loading (see apps.py).
"""
# General
yield ConfigVariable(
name="agenda_start_event_date_time",
default_value=None,
input_type="datetimepicker",
label="Begin of event",
help_text="Input format: DD.MM.YYYY HH:MM",
weight=200,
group="Agenda",
)
yield ConfigVariable(
name="agenda_show_subtitle",
default_value=False,
input_type="boolean",
label="Show subtitles in the agenda",
weight=201,
group="Agenda",
)
# Numbering
yield ConfigVariable(
name="agenda_enable_numbering",
label="Enable numbering for agenda items",
input_type="boolean",
default_value=True,
weight=205,
group="Agenda",
subgroup="Numbering",
)
yield ConfigVariable(
name="agenda_number_prefix",
default_value="",
label="Numbering prefix for agenda items",
help_text="This prefix will be set if you run the automatic agenda numbering.",
weight=206,
group="Agenda",
subgroup="Numbering",
validators=(MaxLengthValidator(20),),
)
yield ConfigVariable(
name="agenda_numeral_system",
default_value="arabic",
input_type="choice",
label="Numeral system for agenda items",
choices=(
{"value": "arabic", "display_name": "Arabic"},
{"value": "roman", "display_name": "Roman"},
),
weight=207,
group="Agenda",
subgroup="Numbering",
)
# Visibility
yield ConfigVariable(
name="agenda_item_creation",
label="Add to agenda",
default_value="default_yes",
input_type="choice",
choices=(
{"value": "always", "display_name": "Always"},
{"value": "never", "display_name": "Never"},
{"value": "default_yes", "display_name": "Ask, default yes"},
{"value": "default_no", "display_name": "Ask, default no"},
),
weight=210,
group="Agenda",
subgroup="Visibility",
)
yield ConfigVariable(
name="agenda_new_items_default_visibility",
default_value="2",
input_type="choice",
choices=(
{"value": "1", "display_name": "Public item"},
{"value": "2", "display_name": "Internal item"},
{"value": "3", "display_name": "Hidden item"},
),
label="Default visibility for new agenda items (except topics)",
weight=211,
group="Agenda",
subgroup="Visibility",
)
yield ConfigVariable(
name="agenda_hide_internal_items_on_projector",
default_value=True,
input_type="boolean",
label="Hide internal items when projecting subitems",
weight=212,
group="Agenda",
subgroup="Visibility",
)
# List of speakers
yield ConfigVariable(
name="agenda_show_last_speakers",
default_value=0,
input_type="integer",
label="Number of last speakers to be shown on the projector",
weight=220,
group="Agenda",
subgroup="List of speakers",
validators=(MinValueValidator(0),),
)
yield ConfigVariable(
name="agenda_show_next_speakers",
default_value=-1,
input_type="integer",
label="Number of the next speakers to be shown on the projector",
help_text="Enter number of the next shown speakers. Choose -1 to show all next speakers.",
weight=222,
group="Agenda",
subgroup="List of speakers",
validators=(MinValueValidator(-1),),
)
yield ConfigVariable(
name="agenda_countdown_warning_time",
default_value=0,
input_type="integer",
label="Show orange countdown in the last x seconds of speaking time",
help_text="Enter duration in seconds. Choose 0 to disable warning color.",
weight=224,
group="Agenda",
subgroup="List of speakers",
validators=(MinValueValidator(0),),
)
yield ConfigVariable(
name="projector_default_countdown",
default_value=60,
input_type="integer",
label="Predefined seconds of new countdowns",
weight=226,
group="Agenda",
subgroup="List of speakers",
)
yield ConfigVariable(
name="agenda_couple_countdown_and_speakers",
default_value=True,
input_type="boolean",
label="Couple countdown with the list of speakers",
help_text="[Begin speech] starts the countdown, [End speech] stops the countdown.",
weight=228,
group="Agenda",
subgroup="List of speakers",
)
yield ConfigVariable(
name="agenda_hide_amount_of_speakers",
default_value=False,
input_type="boolean",
label="Hide the amount of speakers in subtitle of list of speakers slide",
weight=230,
group="Agenda",
subgroup="List of speakers",
)
yield ConfigVariable(
name="agenda_present_speakers_only",
default_value=False,
input_type="boolean",
label="Only present participants can be added to the list of speakers",
weight=232,
group="Agenda",
subgroup="List of speakers",
)