def populateProfileView(request, template_name): user = request.user form = OrganizerProfileForm() if user.is_authenticated(): """проверка есть ли профиль у пользователя и получение его файл accounts.models""" profile = getOrganizerProfile(user) form = OrganizerProfileForm(instance=profile) if request.method == "POST": form = OrganizerProfileForm(request.POST, request.FILES) if form.is_valid() and getOrganizerProfile( user ): # если профиль уже существует то только обновляем (не возвращает None) current_profile = getOrganizerProfile(user) current_profile = repopulateOrganizerProfile(current_profile, request) current_profile.save() return HttpResponseRedirect(urlresolvers.reverse("populateProfileView")) elif form.is_valid(): form.save(request.user) return HttpResponseRedirect(urlresolvers.reverse("populateProfileView")) else: # должна быть обработка ошибок form = UserRegistrationForm(request.POST, request.FILES) return render(request, "accounts/populate_profile.html", {"form": form, "error": form.errors}) else: return HttpResponseRedirect(urlresolvers.reverse("registrationView")) return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def profileView(request, template_name): user = request.user if user.is_authenticated(): """проверка есть ли профиль у пользователя и получение его файл accounts.models""" profile = getOrganizerProfile(user) else: return HttpResponseRedirect(urlresolvers.reverse("registrationView")) return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def coreTopMenu(context, request): user = request.user if user.is_authenticated(): profile = getOrganizerProfile(user) return { 'user': user, 'profile': profile, } else: return { 'user': user, }
def logoutView(request, template_name): user = request.user profile = getOrganizerProfile(user) if user.is_authenticated: auth.logout(request) if request.method == "POST": username = request.POST["username"] password = request.POST["password"] user = auth.authenticate(username=username, password=password) if user is not None and user.is_active: # Правильный пароль и пользователь "активен" auth.login(request, user) # Перенаправление на "правильную" страницу return HttpResponseRedirect("/profile/") else: HttpResponseRedirect(urlresolvers.reverse("loginView")) return render_to_response(template_name, locals(), context_instance=RequestContext(request))