Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AccountProfilesView(LoginRequiredMixin, UpdateView):
- # All users can access this view
- model = get_user_model()
- success_url = reverse_lazy('dashboard')
- template_name = 'accounts/profile_form.html'
- fields = '__all__'
- def get_context_data(self, **kwargs):
- context = super(AccountProfilesView, self).get_context_data(**kwargs)
- user = self.request.user
- if not self.request.POST:
- if user.is_student:
- profile = user.get_student_profile()
- context['userprofile'] = profile
- context['form_student'] = forms.StudentProfileForm()
- if user.is_professor:
- profile = user.get_professor_profile()
- context['userprofile'] = profile
- context['form_professor'] = forms.ProfessorProfileForm()
- # print ("profesor form is", context['form_professor'])
- if user.is_executive:
- profile = user.get_executive_profile()
- context['userprofile'] = profile
- context['form_executive'] = forms.ExecutiveProfileForm()
- else:
- if user.is_student:
- context['form_student'] = forms.StudentProfileForm(
- self.request.POST)
- if user.is_professor:
- context['form_professor'] = forms.ProfessorProfileForm(
- self.request.POST)
- if user.is_executive:
- context['form_executive'] = forms.ExecutiveProfileForm(
- self.request.POST)
- return context
- def form_valid(self, form):
- context = self.get_context_data(form=form)
- user = self.request.user
- user = form.save()
- if user.is_student:
- student = context['form_student'].save(commit=False)
- student.user = user
- student.save()
- if user.is_professor:
- professor = context['form_professor'].save(commit=False)
- professor.user = user
- professor.save()
- if user.is_executive:
- executive = context['form_executive'].save(commit=False)
- executive.user = user
- executive.save()
- return super(AccountProfilesView, self).form_valid(form)
Advertisement
Add Comment
Please, Sign In to add comment