def get(self, request, *args, **kwargs): if request.user.is_authenticated(): kwargs.setdefault('user_form', self.user_form(initial={'username': request.user.username, 'email': request.user.email})) kwargs.setdefault('profile_form', self.profile_form( initial={'about_me': get_curruser(request.user).about_me} )) kwargs.setdefault('password_form', self.password_form()) return super(ProfileView, self).get(request, *args, **kwargs) else: return redirect_with_message(request, 'You need to be logged in to do this.', '/')
def post(self, request, *args, **kwargs): user_form = self.user_form(data=request.POST) profile_form = self.profile_form(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() profile = profile_form.save(commit=False) profile.user = user profile.save() user = authenticate(username=request.POST.get('username'), password=request.POST.get('password1')) login(request, user) return redirect_with_message(request, 'Welcome!', 'main_index') else: return redirect_with_message( request, 'The following errors were found: \n{0} \n{1}'.format(user_form.errors, profile_form.errors), 'register' )
def dispatch(self, request, *args, **kwargs): request.session['message'] = 'Logged out successfully.' if request.user.is_authenticated()\ else None return views.logout(request, next_page='/') if request.user.is_authenticated()\ else redirect_with_message(request, 'You are already logged out.', 'main_index')
def dispatch(self, request, *args, **kwargs): return redirect_with_message(request, 'You are already logged in.', 'main_index') if\ request.user.is_authenticated() else views.login(request, extra_context=self.get_context_data(), **kwargs)