mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 00:52:03 +01:00 
			
		
		
		
	Better final handle
This commit is contained in:
		@@ -105,13 +105,17 @@ class TournamentDetailView(DetailView):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        context["title"] = _("Tournament of {name}").format(name=self.object.name)
 | 
					        context["title"] = _("Tournament of {name}").format(name=self.object.name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        team_users = TFJMUser.objects.filter(
 | 
					        if self.object.final:
 | 
				
			||||||
            Q(team__tournament=self.object)
 | 
					            team_users = TFJMUser.objects.filter(team__selected_for_final=True)
 | 
				
			||||||
            | Q(organized_tournaments=self.object)).order_by('role')
 | 
					            valid_team_users = team_users
 | 
				
			||||||
        valid_team_users = team_users.filter(
 | 
					        else:
 | 
				
			||||||
            Q(team__validation_status="2valid")
 | 
					            team_users = TFJMUser.objects.filter(
 | 
				
			||||||
            | Q(role="admin")
 | 
					                Q(team__tournament=self.object)
 | 
				
			||||||
            | Q(organized_tournaments=self.object))
 | 
					                | Q(organized_tournaments=self.object)).order_by('role')
 | 
				
			||||||
 | 
					            valid_team_users = team_users.filter(
 | 
				
			||||||
 | 
					                Q(team__validation_status="2valid")
 | 
				
			||||||
 | 
					                | Q(role="admin")
 | 
				
			||||||
 | 
					                | Q(organized_tournaments=self.object))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        context["team_users_emails"] = [user.email for user in team_users]
 | 
					        context["team_users_emails"] = [user.email for user in team_users]
 | 
				
			||||||
        context["valid_team_users_emails"] = [user.email for user in valid_team_users]
 | 
					        context["valid_team_users_emails"] = [user.email for user in valid_team_users]
 | 
				
			||||||
@@ -403,7 +407,11 @@ class SolutionsOrgaListView(OrgaMixin, SingleTableView):
 | 
				
			|||||||
    def get_queryset(self):
 | 
					    def get_queryset(self):
 | 
				
			||||||
        qs = super().get_queryset()
 | 
					        qs = super().get_queryset()
 | 
				
			||||||
        if not self.request.user.admin:
 | 
					        if not self.request.user.admin:
 | 
				
			||||||
            qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(pools__juries=self.request.user))
 | 
					            if self.request.user in Tournament.get_final().organizers.all():
 | 
				
			||||||
 | 
					                qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(pools__juries=self.request.user)
 | 
				
			||||||
 | 
					                               | Q(final=True))
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(pools__juries=self.request.user))
 | 
				
			||||||
        return qs.order_by('final', 'team__tournament__date_start', 'team__tournament__name', 'team__trigram',
 | 
					        return qs.order_by('final', 'team__tournament__date_start', 'team__tournament__name', 'team__trigram',
 | 
				
			||||||
                           'problem',).distinct()
 | 
					                           'problem',).distinct()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -529,7 +537,11 @@ class SynthesesOrgaListView(OrgaMixin, SingleTableView):
 | 
				
			|||||||
    def get_queryset(self):
 | 
					    def get_queryset(self):
 | 
				
			||||||
        qs = super().get_queryset()
 | 
					        qs = super().get_queryset()
 | 
				
			||||||
        if not self.request.user.admin:
 | 
					        if not self.request.user.admin:
 | 
				
			||||||
            qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(team__pools__juries=self.request.user))
 | 
					            if self.request.user in Tournament.get_final().organizers.all():
 | 
				
			||||||
 | 
					                qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(pools__juries=self.request.user)
 | 
				
			||||||
 | 
					                               | Q(final=True))
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                qs = qs.filter(Q(team__tournament__organizers=self.request.user) | Q(pools__juries=self.request.user))
 | 
				
			||||||
        return qs.order_by('final', 'team__tournament__date_start', 'team__tournament__name', 'team__trigram',
 | 
					        return qs.order_by('final', 'team__tournament__date_start', 'team__tournament__name', 'team__trigram',
 | 
				
			||||||
                           'round', 'source',).distinct()
 | 
					                           'round', 'source',).distinct()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user