11import random
2- from api .context import Info
3- from api .submissions .permissions import CanSeeSubmissionRestrictedFields
42
5- from voting .helpers import check_if_user_can_vote
63import strawberry
4+ import strawberry_django
75
6+ from api .context import Info
87from api .permissions import CanSeeSubmissions , IsAuthenticated
8+ from api .submissions .permissions import CanSeeSubmissionRestrictedFields
99from api .types import Paginated
10- from conferences .models import Conference as ConferenceModel
11- from submissions .models import (
12- Submission as SubmissionModel ,
13- SubmissionTag as SubmissionTagModel ,
14- )
15- from voting .models .vote import Vote
10+ from conferences import models as conference_models
11+ from submissions import models as submission_models
12+ from voting import models as voting_models
13+ from voting .helpers import check_if_user_can_vote
1614
1715from .types import Submission , SubmissionTag
1816
1917
2018@strawberry .type
2119class SubmissionsQuery :
22- @strawberry .field
20+ @strawberry_django .field
2321 def submission (self , info : Info , id : strawberry .ID ) -> Submission | None :
2422 try :
25- submission = SubmissionModel .objects .get_by_hashid (id )
26- except SubmissionModel .DoesNotExist :
23+ submission = submission_models . Submission .objects .get_by_hashid (id )
24+ except submission_models . Submission .DoesNotExist :
2725 return None
2826 except IndexError :
2927 return None
@@ -33,7 +31,7 @@ def submission(self, info: Info, id: strawberry.ID) -> Submission | None:
3331 ):
3432 return None
3533
36- return submission
34+ return submission_models . Submission . objects . filter ( id = submission . id )
3735
3836 @strawberry .field ()
3937 def submissions (
@@ -60,7 +58,7 @@ def submissions(
6058
6159 request = info .context .request
6260 user = request .user
63- conference = ConferenceModel .objects .filter (code = code ).first ()
61+ conference = conference_models . Conference .objects .filter (code = code ).first ()
6462
6563 if not only_accepted and not IsAuthenticated ().has_permission (conference , info ):
6664 raise PermissionError ("User not logged in" )
@@ -84,9 +82,9 @@ def submissions(
8482 )
8583
8684 if only_accepted :
87- qs = qs .filter (status = SubmissionModel .STATUS .accepted )
85+ qs = qs .filter (status = submission_models . Submission .STATUS .accepted )
8886 else :
89- qs = qs .filter (status = SubmissionModel .STATUS .proposed )
87+ qs = qs .filter (status = submission_models . Submission .STATUS .proposed )
9088
9189 if languages :
9290 qs = qs .filter (languages__code__in = languages )
@@ -115,7 +113,10 @@ def submissions(
115113
116114 info .context ._my_votes = {
117115 vote .submission_id : vote
118- for vote in Vote .objects .filter (user_id = user .id , submission__in = submissions )
116+ for vote in voting_models .Vote .objects .filter (
117+ user_id = user .id ,
118+ submission__in = submissions ,
119+ )
119120 }
120121
121122 return Paginated .paginate_list (
@@ -127,17 +128,19 @@ def submissions(
127128
128129 @strawberry .field
129130 def submission_tags (self , info : Info ) -> list [SubmissionTag ]:
130- return SubmissionTagModel .objects .order_by ("name" ).all ()
131+ return submission_models . SubmissionTag .objects .order_by ("name" ).all ()
131132
132133 @strawberry .field
133134 def voting_tags (self , info : Info , conference : str ) -> list [SubmissionTag ]:
134135 used_tags = (
135- SubmissionModel .objects .filter (
136+ submission_models . Submission .objects .filter (
136137 conference__code = conference ,
137138 )
138139 .values_list ("tags__id" , flat = True )
139140 .distinct ()
140141 )
141142 return (
142- SubmissionTagModel .objects .filter (id__in = used_tags ).order_by ("name" ).all ()
143+ submission_models .SubmissionTag .objects .filter (id__in = used_tags )
144+ .order_by ("name" )
145+ .all ()
143146 )
0 commit comments