from books.models import Module from users.models import User, Role def are_solutions_enabled_for(user: User, module: Module): teacher = user.users_in_same_school_class().filter(user_roles__role=Role.objects.get_default_teacher_role()).first() return 'users.can_manage_school_class_content' in user.get_role_permissions() or user.is_superuser or ( teacher is not None and module.solutions_enabled_by.filter(pk=teacher.pk).exists()) def get_type_and_value(data): if isinstance(data, tuple): return data[0], data[1] else: return data['type'], data['value']