Exemple #1
0
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")
Exemple #2
0
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))
Exemple #3
0
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()
    }
Exemple #4
0
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,
    })
Exemple #5
0
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()
    }