def manage_config(**kwargs): """ Should be run after every migration. Saves default values of all non db-existing config objects into the db. Deletes all unnecessary old config values, e.g. all db entries, that does not have a config_variable anymore. Increments the config version, if at least one of the operations altered some data. """ from .config import config altered = config.save_default_values() altered = config.cleanup_old_config_values() or altered if altered: config.increment_version() logging.getLogger(__name__).info("Updated config variables")
Response, SimpleMetadata, ValidationError, action, status, ) from ..utils.validate import validate_json from ..utils.views import APIView from .models import Group, PersonalNote, User from .restrict import restrict_user from .serializers import GroupSerializer, PermissionRelatedField from .user_backend import user_backend_manager demo_mode_users = getattr(settings, "DEMO_USERS", None) is_demo_mode = isinstance(demo_mode_users, list) and len(demo_mode_users) > 0 logger = logging.getLogger(__name__) if is_demo_mode: logger.info( "OpenSlides started in demo mode. Some features are unavailable.") def assertNoDemoAndAdmin(user_ids): if isinstance(user_ids, int): user_ids = [user_ids] if is_demo_mode and any(user_id in demo_mode_users for user_id in user_ids): raise ValidationError({"detail": "Not allowed in demo mode"}) def assertNoDemo(): if is_demo_mode: