Coverage for src / mesh / views / viewmodel / submission_version_proxy.py: 100%
11 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-05-04 12:41 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-05-04 12:41 +0000
1from mesh.models.orm.submission_models import SubmissionVersion
2from mesh.views.viewmodel.model_proxy import RoleModelProxy
3from mesh.views.viewmodel.review_proxy import ReviewProxy
6class SubmissionVersionProxy(RoleModelProxy[SubmissionVersion]):
7 """
8 Proxy for the `SubmissionVersion` model with restricted data according to the user role.
9 """
11 model = SubmissionVersion
13 def __init__(self, instance, role, submission_proxy=None) -> None:
14 super().__init__(instance, role)
15 self.created_by = instance.created_by_censored
16 self.reviews = [
17 ReviewProxy(review, self.role, version=self) for review in instance.reviews_censored
18 ]
20 if submission_proxy:
21 self.submission = submission_proxy