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", subgroup="General", ) # 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_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=221, 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=222, 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=223, 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=224, 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=225, group="Agenda", subgroup="List of speakers", )