16 lines
603 B
Python
16 lines
603 B
Python
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']
|