@@ -97,19 +97,26 @@ def _get_program_scores(self, obj):
9797 project = obj , criteria__partner_program_id = program_id
9898 ).select_related ("criteria" , "user" )
9999
100+ def _get_user_scores (self , obj ):
101+ scores = self ._get_program_scores (obj )
102+ request = self .context .get ("request" )
103+ if request and getattr (request .user , "is_authenticated" , False ):
104+ return [score for score in scores if score .user_id == request .user .id ]
105+ return []
106+
100107 def get_criterias (self , obj ) -> CriteriasResponse | ProjectScoresResponse :
108+ user_scores = self ._get_user_scores (obj )
109+ if user_scores :
110+ serializer = ProjectScoreSerializer (user_scores , many = True )
111+ return serializer .data
101112 program_id = self .context ["view" ].kwargs .get ("program_id" )
102- program_scores = self ._get_program_scores (obj )
103- if program_scores :
104- serializer = ProjectScoreSerializer (program_scores , many = True )
105- else :
106- cirterias = Criteria .objects .filter (partner_program__id = program_id )
107- serializer = CriteriaSerializer (cirterias , many = True )
113+ criterias = Criteria .objects .filter (partner_program__id = program_id )
114+ serializer = CriteriaSerializer (criterias , many = True )
108115 return serializer .data
109116
110117 def get_scored (self , obj ) -> bool :
111- program_scores = self ._get_program_scores (obj )
112- return bool (program_scores )
118+ user_scores = self ._get_user_scores (obj )
119+ return bool (user_scores )
113120
114121 def get_rated_experts (self , obj ) -> list [int ]:
115122 program_scores = self ._get_program_scores (obj )
0 commit comments