Beispiel #1
0
def add_follow(request):
    if request.user.is_authenticated() and request.user.is_active:
        if request.method == 'POST':
            try:
                usr = User.objects.get(id=int(request.POST['user_id']))
                print usr.username
            except:
                messages.error(request, '请不要非法修改数据')
                return HttpResponseRedirect(reverse('search_to_follow'))

            if usr.has_perm('user_auth.open_relationship'):
                if Follow.objects.filter(follower=request.user.id, followed=usr.id):
                    messages.warning(request, '您已经添加过这名好友了')
                else:
                    f = Follow()
                    f.follower = request.user.id
                    f.followed = usr.id
                    f.save()

                    if request.user.profile.follow_count:
                        request.user.profile.follow_count += 1
                    else:
                        request.user.profile.follow_count = 1
                    request.user.profile.save()

                    if usr.profile.followed_count:
                        usr.profile.followed_count += 1
                    else:
                        usr.profile.followed_count = 1
                    usr.profile.save()
                    messages.success(request, '申请成功')
            elif usr.has_perm('user_auth.censor_relationship'):
                if FollowSensor.objects.filter(whoto=request.user.id, censor=usr.id):
                    messages.info(request, '请耐心等待对方审核')
                else:
                    if Follow.objects.filter(follower=request.user.id, followed=usr.id):
                        messages.warning(request, '您已经添加过这名好友了')
                    else:
                        f_censor = FollowSensor()
                        f_censor.whoto = request.user.id
                        f_censor.censor = usr.id
                        f_censor.save()
                        if usr.profile.censor_count:
                            usr.profile.censor_count += 1
                        else:
                            usr.profile.censor_count = 1
                        usr.profile.save()
                        messages.info(request, '您已经成功发出请求')
            else:
                messages.error(request, '您申请关注的用户不允许被关注')

            return HttpResponseRedirect(reverse('search_to_follow'))
        else:
            return HttpResponseRedirect(reverse('search_to_follow'))
    else:
        messages.error(request, '请先登录')
        return HttpResponseRedirect(reverse('index_not_login'))
Beispiel #2
0
def censor_follow(request):
    if request.user.is_authenticated() and request.user.is_active:
        if request.method == 'POST':
            allow_id = request.POST.get('allow_id', -1)
            if allow_id >= 0:
                if Follow.objects.filter(follower=int(allow_id), followed=request.user.id):
                    messages.warning(request, '您已经添加过这名好友了')
                else:
                    f = Follow()
                    f.follower = int(allow_id)
                    f.followed = request.user.id
                    f.save()

                    allow_usr = User.objects.get(id=int(allow_id))
                    if allow_usr.profile.follow_count:
                        allow_usr.profile.follow_count += 1
                    else:
                        allow_usr.profile.follow_count = 1

                    if request.user.profile.followed_count:
                        request.user.profile.followed_count += 1
                    else:
                        request.user.profile.followed_count = 1

                    messages.success(request, '您已成功同意申请')
                    request.user.profile.censor_count -= 1
                    request.user.profile.save()
                    f_censor = FollowSensor.objects.get(whoto=int(allow_id), censor=request.user.id).delete()
            else:
                messages.error(request, '请不要发送非法请求')
            return HttpResponseRedirect(reverse('censor_follow'))
        else:
            censor_id = request.user.id
            who_to_censor = FollowSensor.objects.filter(censor=censor_id)
            profile_lst = []
            for i in who_to_censor:
                u = User.objects.get(id=i.whoto)
                profile_lst.append(u.profile)
            return render(request, 'user/censor_list.html', {'censor_lst':who_to_censor,'profile_lst':profile_lst, 'messages':get_messages(request), 'user':request.user})
    else:
        messages.error(request, '请先登录')
        return HttpResponseRedirect(reverse('index_not_login'))