From 4534a278d7599bd77b040758fd21516927b0f8e9 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 5 May 2020 01:04:07 +0200 Subject: [PATCH] My account form --- apps/member/forms.py | 17 ++++++++++++++++- apps/member/views.py | 7 +++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/apps/member/forms.py b/apps/member/forms.py index 584903b..9cbfde3 100644 --- a/apps/member/forms.py +++ b/apps/member/forms.py @@ -42,4 +42,19 @@ class SignUpForm(UserCreationForm): class TFJMUserForm(forms.ModelForm): class Meta: model = TFJMUser - fields = '__all__' + fields = ('last_name', 'first_name', 'email', 'phone_number', 'gender', 'birth_date', 'address', 'postal_code', + 'city', 'country', 'school', 'student_class', 'responsible_name', 'responsible_phone', + 'responsible_email',) + + +class CoachUserForm(forms.ModelForm): + class Meta: + model = TFJMUser + fields = ('last_name', 'first_name', 'email', 'phone_number', 'gender', 'birth_date', 'address', 'postal_code', + 'city', 'country', 'description',) + + +class AdminUserForm(forms.ModelForm): + class Meta: + model = TFJMUser + fields = ('last_name', 'first_name', 'email', 'phone_number', 'description',) diff --git a/apps/member/views.py b/apps/member/views.py index 4459d6d..a3bcf93 100644 --- a/apps/member/views.py +++ b/apps/member/views.py @@ -15,7 +15,7 @@ from django_tables2 import SingleTableView from tournament.forms import TeamForm, JoinTeam from tournament.models import Team from tournament.views import AdminMixin, TeamMixin -from .forms import SignUpForm, TFJMUserForm +from .forms import SignUpForm, TFJMUserForm, AdminUserForm, CoachUserForm from .models import TFJMUser, Document, Solution, MotivationLetter, Synthesis from .tables import UserTable @@ -28,9 +28,12 @@ class CreateUserView(CreateView): class MyAccountView(LoginRequiredMixin, UpdateView): model = TFJMUser - form_class = TFJMUserForm template_name = "member/my_account.html" + def get_form_class(self): + return AdminUserForm if self.request.user.organizes else TFJMUserForm \ + if self.request.user.role == "3participant" else CoachUserForm + def get_object(self, queryset=None): return self.request.user