def account(request): ''' Shows change password page ''' edit_user_form = EditUserForm(instance=request.user) if request.method == 'POST': edit_user_form = EditUserForm(request.POST, instance=request.user) if edit_user_form.is_valid(): user = edit_user_form.save(commit=False) user.username = edit_user_form.cleaned_data.get('email') user.save() return render(request, "account.html")
def profile(request): user_form = EditUserForm(instance=request.user) profile_form = UserProfileForm(instance=request.user.get_profile()) if request.method == 'POST': user_form = EditUserForm(request.POST, instance=request.user) profile_form = UserProfileForm(request.POST, instance=request.user.get_profile()) if user_form.is_valid() and profile_form.is_valid(): user_form.save() profile_form.save() return redirect('talent', request.user.username) return render_to_response('profile.html', { 'user_form': user_form, 'profile_form': profile_form, }, RequestContext(request))
def edit_user(request): """Edit user data form Keyword arguments: request -- request object Returns: HttpResponse """ if request.method == 'POST': form = EditUserForm(request.POST) if form.is_valid(): data = form.cleaned_data profile = request.user.get_profile() request.user.email = data['mail'] profile.about = parse(data['about']) profile.icq = data['icq'] profile.jabber = data['jabber'] profile.timezone = data['timezone'] profile.city = City.get_city(data['city']) profile.hide_mail = data['show_mail'] profile.reply_comment = data['notify_comment_reply'] profile.reply_pm = data['notify_pm'] profile.reply_post = data['notify_post_reply'] profile.reply_mention = data['notify_mention'] profile.reply_spy = data['notify_spy'] #profile.avatar = data['userpic'] profile.site= data['site'] profile.save() request.user.save() count = int(request.POST['count']) MeOn.objects.filter(user=request.user).delete() Statused.objects.filter(user=request.user).delete() for i in range(count): try: meon = MeOn() meon.url = request.POST['meon_url[%d]' % (i)] meon.title = request.POST['meon[%d]' % (i)] meon.user = request.user try: meon.parse(request.POST['meon_status[%d]' % (i)]) except: meon.parse(False) print meon.user except MultiValueDictKeyError: pass return HttpResponseRedirect('/user/%s/' % (request.user.username,)) else: profile = request.user.get_profile() data = { 'mail': request.user.email, 'about': profile.about, 'icq': profile.icq, 'jabber': profile.jabber, 'timezone': profile.timezone, 'show_mail': profile.hide_mail, 'notify_comment_reply': profile.reply_comment, 'notify_post_reply': profile.reply_post, 'notify_pm': profile.reply_pm, 'notify_mention': profile.reply_mention, 'notify_spy': profile.reply_spy, 'city': profile.city, 'site': profile.site, } form = EditUserForm(data) return { 'form': form, 'user': request.user, 'profile': request.user.get_profile() }
def profile(request): ''' Shows profile page ''' edit_profile = False edit_user = False edit_user_form = EditUserForm(instance=request.user) profile_form = ProfileForm(instance=request.user.profile) fb_form = FbUsernameForm(instance=request.user.profile) # The users has facebook profile? try: fb_profile = FacebookProfile.objects.get(user=request.user) if fb_profile.facebook_id is not None: connected_via_facebook = True else: connected_via_facebook = False except FacebookProfile.DoesNotExist: connected_via_facebook = False if request.method == 'POST': # Pull from facebook if user was logged via facebook if request.POST.get('use_fb_photo'): profile = request.user.profile profile.use_fb_photo = True profile.use_bethunting_photo = False profile.save() messages.add_message(request, messages.INFO, 'Your account has been succesfully updated') # Pull from facebook if user was logged via bethunting elif request.POST.get('fb_username') == '': return render(request, "profile.html", { 'profile_form': profile_form, 'edit_user_form': edit_user_form, 'fb_form': fb_form, 'connected_via_facebook': connected_via_facebook, }) elif request.POST.get('fb_username'): profile = request.user.profile profile.use_fb_photo = True profile.fb_photo = "http://graph.facebook.com/%s/picture?type=large" % request.POST.get('fb_username') profile.use_bethunting_photo = False profile.save() messages.add_message(request, messages.INFO, 'Your account has been succesfully updated') else: edit_user_form = EditUserForm(request.POST, instance=request.user) profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile) if edit_user_form.is_valid(): user = edit_user_form.save(commit=False) user.username = edit_user_form.cleaned_data.get('email') user.save() edit_user = True if profile_form.is_valid(): profile = profile_form.save() edit_profile = True if edit_profile or edit_user: messages.add_message(request, messages.INFO, 'Your account has been succesfully updated') return render(request, "profile.html", { 'profile_form': profile_form, 'edit_user_form': edit_user_form, 'fb_form': fb_form, 'connected_via_facebook': connected_via_facebook, })
def edit_user(request): """Edit user data form Keyword arguments: request -- request object Returns: HttpResponse """ if request.method == 'POST': form = EditUserForm(request.POST) if form.is_valid(): data = form.cleaned_data profile = request.user.get_profile() request.user.email = data['mail'] profile.about = parse(data['about']) profile.icq = data['icq'] profile.jabber = data['jabber'] profile.timezone = data['timezone'] if data['city']: profile.city = City.get_city(data['city']) profile.hide_mail = data['show_mail'] profile.reply_comment = data['notify_comment_reply'] profile.reply_pm = data['notify_pm'] profile.reply_post = data['notify_post_reply'] profile.reply_mention = data['notify_mention'] profile.reply_spy = data['notify_spy'] #profile.avatar = data['userpic'] profile.site = data['site'] profile.save() request.user.save() count = int(request.POST['count']) MeOn.objects.filter(user=request.user).delete() Statused.objects.filter(user=request.user).delete() for i in range(count): try: meon = MeOn() meon.url = request.POST['meon_url[%d]' % (i)] meon.title = request.POST['meon[%d]' % (i)] meon.user = request.user try: meon.parse(request.POST['meon_status[%d]' % (i)]) except: meon.parse(False) print meon.user except MultiValueDictKeyError: pass return HttpResponseRedirect('/user/%s/' % (request.user.username, )) else: profile = request.user.get_profile() data = { 'mail': request.user.email, 'about': profile.about, 'icq': profile.icq, 'jabber': profile.jabber, 'timezone': profile.timezone, 'show_mail': profile.hide_mail, 'notify_comment_reply': profile.reply_comment, 'notify_post_reply': profile.reply_post, 'notify_pm': profile.reply_pm, 'notify_mention': profile.reply_mention, 'notify_spy': profile.reply_spy, 'city': profile.city, 'site': profile.site, } form = EditUserForm(data) return { 'form': form, 'user': request.user, 'profile': request.user.get_profile() }