Пример #1
0
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")
Пример #2
0
    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: