OpenSlides/openslides/core/config_variables.py

382 lines
11 KiB
Python

from django.core.validators import MaxLengthValidator
from openslides.core.config import ConfigVariable
def get_config_variables():
"""
Generator which yields all config variables of this app.
There are two main groups: 'General' and 'Projector'. The group 'General'
has subgroups. The generator has to be evaluated during app loading
(see apps.py).
"""
yield ConfigVariable(
name='general_event_name',
default_value='OpenSlides',
label='Event name',
weight=110,
group='General',
subgroup='Event',
validators=(MaxLengthValidator(100),))
yield ConfigVariable(
name='general_event_description',
default_value='Presentation and assembly system',
label='Short description of event',
weight=115,
group='General',
subgroup='Event',
validators=(MaxLengthValidator(100),))
yield ConfigVariable(
name='general_event_date',
default_value='',
label='Event date',
weight=120,
group='General',
subgroup='Event')
yield ConfigVariable(
name='general_event_location',
default_value='',
label='Event location',
weight=125,
group='General',
subgroup='Event')
yield ConfigVariable(
name='general_event_legal_notice',
default_value='<a href="http://www.openslides.org">OpenSlides</a> is a '
'free web based presentation and assembly system for '
'visualizing and controlling agenda, motions and '
'elections of an assembly.',
input_type='markupText',
label='Legal notice',
weight=132,
group='General',
subgroup='Event')
yield ConfigVariable(
name='general_event_welcome_title',
default_value='Welcome to OpenSlides',
label='Front page title',
weight=134,
group='General',
subgroup='Event')
yield ConfigVariable(
name='general_event_welcome_text',
default_value='[Space for your welcome text.]',
input_type='markupText',
label='Front page text',
weight=136,
group='General',
subgroup='Event')
# General System
yield ConfigVariable(
name='general_system_enable_anonymous',
default_value=False,
input_type='boolean',
label='Allow access for anonymous guest users',
weight=138,
group='General',
subgroup='System')
yield ConfigVariable(
name='general_login_info_text',
default_value='',
label='Show this text on the login page',
weight=140,
group='General',
subgroup='System')
# General export settings
yield ConfigVariable(
name='general_csv_separator',
default_value=',',
label='Separator used for all csv exports and examples',
weight=142,
group='General',
subgroup='Export')
yield ConfigVariable(
name='general_export_pdf_pagenumber_alignment',
default_value='center',
input_type='choice',
label='Page number alignment in PDF',
choices=(
{'value': 'left', 'display_name': 'Left'},
{'value': 'center', 'display_name': 'Center'},
{'value': 'right', 'display_name': 'Right'}),
weight=144,
group='General',
subgroup='Export')
yield ConfigVariable(
name='general_export_pdf_fontsize',
default_value='10',
input_type='choice',
label='Standard font size in PDF',
choices=(
{'value': '10', 'display_name': '10'},
{'value': '11', 'display_name': '11'},
{'value': '12', 'display_name': '12'}),
weight=146,
group='General',
subgroup='Export')
# Projector
yield ConfigVariable(
name='projector_language',
default_value='browser',
input_type='choice',
label='Projector language',
choices=(
{'value': 'browser', 'display_name': 'Current browser language'},
{'value': 'en', 'display_name': 'English'},
{'value': 'de', 'display_name': 'Deutsch'},
{'value': 'fr', 'display_name': 'Français'},
{'value': 'es', 'display_name': 'Español'},
{'value': 'pt', 'display_name': 'Português'},
{'value': 'cs', 'display_name': 'Čeština'},
{'value': 'ru', 'display_name': 'русский'}),
weight=150,
group='Projector')
yield ConfigVariable(
name='projector_enable_logo',
default_value=True,
input_type='boolean',
label='Show logo on projector',
help_text='You can replace the logo by uploading an image and set it as '
'the "Projector logo" in "files".',
weight=152,
group='Projector')
yield ConfigVariable(
name='projector_enable_clock',
default_value=True,
input_type='boolean',
label='Show the clock on projector',
weight=154,
group='Projector')
yield ConfigVariable(
name='projector_enable_title',
default_value=True,
input_type='boolean',
label='Show title and description of event on projector',
weight=155,
group='Projector')
yield ConfigVariable(
name='projector_enable_header_footer',
default_value=True,
input_type='boolean',
label='Display header and footer',
weight=157,
group='Projector')
yield ConfigVariable(
name='projector_header_backgroundcolor',
default_value='#317796',
input_type='colorpicker',
label='Background color of projector header and footer',
weight=160,
group='Projector')
yield ConfigVariable(
name='projector_header_fontcolor',
default_value='#F5F5F5',
input_type='colorpicker',
label='Font color of projector header and footer',
weight=165,
group='Projector')
yield ConfigVariable(
name='projector_h1_fontcolor',
default_value='#317796',
input_type='colorpicker',
label='Font color of projector headline',
weight=170,
group='Projector')
yield ConfigVariable(
name='projector_default_countdown',
default_value=60,
input_type='integer',
label='Predefined seconds of new countdowns',
weight=185,
group='Projector')
yield ConfigVariable(
name='projector_blank_color',
default_value='#FFFFFF',
input_type='colorpicker',
label='Color for blanked projector',
weight=190,
group='Projector')
yield ConfigVariable(
name='projector_broadcast',
default_value=0,
input_type='integer',
label='Projector which is broadcasted',
weight=200,
group='Projector',
hidden=True)
yield ConfigVariable(
name='projector_currentListOfSpeakers_reference',
default_value=1,
input_type='integer',
label='Projector reference for list of speakers',
weight=201,
group='Projector',
hidden=True)
# Logos.
yield ConfigVariable(
name='logos_available',
default_value=[
'logo_projector_main',
'logo_projector_header',
'logo_web_header',
'logo_pdf_header',
'logo_pdf_footer',
'logo_pdf_ballot_paper'],
weight=300,
group='Logo',
hidden=True)
yield ConfigVariable(
name='logo_projector_main',
default_value={
'display_name': 'Projector logo',
'path': ''},
input_type='static',
weight=301,
group='Logo',
hidden=True)
yield ConfigVariable(
name='logo_projector_header',
default_value={
'display_name': 'Projector header image',
'path': ''},
input_type='static',
weight=302,
group='Logo',
hidden=True)
yield ConfigVariable(
name='logo_web_header',
default_value={
'display_name': 'Web interface header logo',
'path': ''},
input_type='static',
weight=303,
group='Logo',
hidden=True)
# PDF logos
yield ConfigVariable(
name='logo_pdf_header',
default_value={
'display_name': 'PDF header logo',
'path': ''},
input_type='static',
weight=310,
group='Logo',
hidden=True)
yield ConfigVariable(
name='logo_pdf_footer',
default_value={
'display_name': 'PDF footer logo',
'path': ''},
input_type='static',
weight=311,
group='Logo',
hidden=True)
yield ConfigVariable(
name='logo_pdf_ballot_paper',
default_value={
'display_name': 'PDF ballot paper logo',
'path': ''},
input_type='static',
weight=312,
group='Logo',
hidden=True)
# Fonts
yield ConfigVariable(
name='fonts_available',
default_value=[
'font_regular',
'font_italic',
'font_bold',
'font_bold_italic'],
weight=320,
group='Font',
hidden=True)
yield ConfigVariable(
name='font_regular',
default_value={
'display_name': 'Font regular',
'default': 'static/fonts/Roboto-Regular.woff',
'path': ''},
input_type='static',
weight=321,
group='Font',
hidden=True)
yield ConfigVariable(
name='font_italic',
default_value={
'display_name': 'Font italic',
'default': 'static/fonts/Roboto-Medium.woff',
'path': ''},
input_type='static',
weight=321,
group='Font',
hidden=True)
yield ConfigVariable(
name='font_bold',
default_value={
'display_name': 'Font bold',
'default': 'static/fonts/Roboto-Condensed-Regular.woff',
'path': ''},
input_type='static',
weight=321,
group='Font',
hidden=True)
yield ConfigVariable(
name='font_bold_italic',
default_value={
'display_name': 'Font bold italic',
'default': 'static/fonts/Roboto-Condensed-Light.woff',
'path': ''},
input_type='static',
weight=321,
group='Font',
hidden=True)
# Custom translations
yield ConfigVariable(
name='translations',
label='Custom translations',
default_value=[],
input_type='translations',
weight=1000,
group='Custom translations')