mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 16:42:28 +01:00 
			
		
		
		
	My team
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
from django.urls import path
 | 
			
		||||
from django.views.generic import RedirectView
 | 
			
		||||
 | 
			
		||||
from .views import CreateUserView, MyAccountView, UserDetailView,\
 | 
			
		||||
from .views import CreateUserView, MyAccountView, UserDetailView, MyTeamView,\
 | 
			
		||||
    ProfileListView, OrphanedProfileListView, OrganizersListView, ResetAdminView
 | 
			
		||||
 | 
			
		||||
app_name = "member"
 | 
			
		||||
@@ -12,7 +12,7 @@ urlpatterns = [
 | 
			
		||||
    path("information/<int:pk>/", UserDetailView.as_view(), name="information"),
 | 
			
		||||
    path("add-team/", RedirectView.as_view(pattern_name="index"), name="add_team"),
 | 
			
		||||
    path("join-team/", RedirectView.as_view(pattern_name="index"), name="join_team"),
 | 
			
		||||
    path("my-team/", RedirectView.as_view(pattern_name="index"), name="my_team"),
 | 
			
		||||
    path("my-team/", MyTeamView.as_view(), name="my_team"),
 | 
			
		||||
    path("my-team/update/", RedirectView.as_view(pattern_name="index"), name="update_my_team"),
 | 
			
		||||
    path("profiles/", ProfileListView.as_view(), name="all_profiles"),
 | 
			
		||||
    path("orphaned-profiles/", OrphanedProfileListView.as_view(), name="orphaned_profiles"),
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,8 @@ from django.views import View
 | 
			
		||||
from django.views.generic import CreateView, UpdateView, DetailView
 | 
			
		||||
from django_tables2 import SingleTableView
 | 
			
		||||
 | 
			
		||||
from tournament.views import AdminMixin
 | 
			
		||||
from tournament.models import Team
 | 
			
		||||
from tournament.views import AdminMixin, TeamMixin
 | 
			
		||||
from .forms import SignUpForm, TFJMUserForm
 | 
			
		||||
from .models import TFJMUser, Document
 | 
			
		||||
from .tables import UserTable
 | 
			
		||||
@@ -64,6 +65,30 @@ class UserDetailView(LoginRequiredMixin, DetailView):
 | 
			
		||||
        return context
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MyTeamView(TeamMixin, DetailView):
 | 
			
		||||
    model = Team
 | 
			
		||||
 | 
			
		||||
    def get_object(self, queryset=None):
 | 
			
		||||
        return self.request.user.team
 | 
			
		||||
 | 
			
		||||
    def dispatch(self, request, *args, **kwargs):
 | 
			
		||||
        if isinstance(request.user, AnonymousUser):
 | 
			
		||||
            raise PermissionDenied
 | 
			
		||||
 | 
			
		||||
        team = self.get_object()
 | 
			
		||||
 | 
			
		||||
        if not request.user.participates or team is None:
 | 
			
		||||
            raise PermissionDenied
 | 
			
		||||
        return super().dispatch(request, *args, **kwargs)
 | 
			
		||||
 | 
			
		||||
    def get_context_data(self, **kwargs):
 | 
			
		||||
        context = super().get_context_data(**kwargs)
 | 
			
		||||
 | 
			
		||||
        context["title"] = str(self.object)
 | 
			
		||||
 | 
			
		||||
        return context
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DocumentView(LoginRequiredMixin, View):
 | 
			
		||||
    def get(self, request, *args, **kwargs):
 | 
			
		||||
        doc = Document.objects.get(file=self.kwargs["file"])
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user