Example #1
0
def forum_password_page(request):
    ub = get_user_by_cookie(request)
    if ub == False:
        return auth_fail_tip()
    if request.method == 'GET':
        return render(request, 'forum_update_password.html',
                      {'meta': get_page_meta(request)})
    elif request.method == 'POST':
        param = request.POST
        if check_password(param['old_password'], ub.password) == False:
            return user_tip_page('Operation Fail',
                                 'Your old password is not correct',
                                 jump_to_back=True)
        if param['new_password1'] != param['new_password2']:
            return user_tip_page('Operation Fail',
                                 'Two passwords do not match',
                                 jump_to_back=True)
        if check_password_length(param['new_password1']) == False:
            return user_tip_page('Operation Fail',
                                 'Password length must be between 6 and 15',
                                 jump_to_back=True)
        # Use this to logout, just write a false to the cookie
        record_login(request, '', '', False)
        return user_tip_page(
            'Operation Successful',
            'Your password has been updated. Please login again.',
            jump_to_login=True)
Example #2
0
def forum_password_page(request):
    ub = get_user_by_cookie(request)
    if ub == False:
        return auth_fail_tip()
    if request.method == 'GET':
        return render(request,'forum_update_password.html',
                      {'meta': get_page_meta(request)})
    elif request.method == 'POST':
        param = request.POST
        if check_password(param['old_password'],ub.password) == False:
            return user_tip_page('Operation Fail',
                                 'Your old password is not correct',
                                 jump_to_back=True)
        if param['new_password1'] != param['new_password2']:
            return user_tip_page('Operation Fail',
                                 'Two passwords do not match',
                                 jump_to_back=True)
        if check_password_length(param['new_password1']) == False:
            return user_tip_page('Operation Fail',
                                 'Password length must be between 6 and 15',
                                 jump_to_back=True)
        # Use this to logout, just write a false to the cookie
        record_login(request,'','',False)
        return user_tip_page('Operation Successful',
                             'Your password has been updated. Please login again.',
                             jump_to_login=True)
Example #3
0
def forum_profile_page(request):
    ub = get_user_by_cookie(request)
    meta = get_page_meta(request)
    if ub == False:
        return user_tip_page('Authorization Fail','You need to login first',
                             jump_to_back=True,jump_to_main=True)
    pt = ProfileType.objects.all()
    return render(request,'forum_profile_page.html',{'meta': meta,
                                                     'profile_type': pt})
Example #4
0
def update_signature(request,new_signature):
    ub = get_user_by_cookie(request)
    if ub == False:
        return simplejson.dumps({'success': False,
                                 'reason': 'Not logged in'})
    if len(new_signature) > 50:
        return simplejson.dumps({'success': False,
                                 'reason': 'Fail: Too Long'})
    ub.userextend.signature = new_signature
    ub.userextend.save()
    return simplejson.dumps({'success': True,
                             'content': new_signature})
Example #5
0
def make_new_post(request,thread_id,text,privilege=0,quote_floor=None):
    ub = get_user_by_cookie(request)
    meta = get_page_meta(request)
    if ub == False:
        return simplejson.dumps({'success': False,
                                 'reason': 'You have not logged in'})
    tb_count = ThreadBasic.objects.filter(tid__exact=thread_id).count()
    if tb_count == 0:
        return simplejson.dumps({'success': False,
                                 'reason': 'Thread does not exist'})
    else:
        tb = ThreadBasic.objects.get(pk=thread_id)

    if quote_floor != None:
        # Add the quote label, and then send messages
        text = make_quote_post_text(text,thread_id,quote_floor)
        
    new_post = PostBasic()
    new_post.tid = tb
    new_post.uid = ub
    new_post.text = escape(text)  # We do not check the text
    new_post.upvote = 0
    new_post.downvote = 0
    new_post.privilege = privilege
    new_post.floor = PostBasic.objects.filter(tid__tid__exact=thread_id).count() + 1
    new_post.save()

    ub.userextend.money += 1
    ub.userextend.credit += 1
    ub.userextend.num_of_posts += 1
    ub.userextend.save()

    try:
        bb = BoardBasic.objects.get(pk=tb.bid.bid)
    except ObjectDoesNotExist:
        return simplejson.dumps({'success': False,
                                 'reason': 'Board does not exist'})
    bb.post_num += 1
    bb.last_thread = tb
    bb.save()

    tb.last_reply_time = new_post.post_date
    tb.last_reply_user = ub
    tb.save()

    floor_name_num = FloorType.objects.count()
    
    single_post = render(request,'forum_post_block.html',{'i': new_post,
                                          'meta': meta,
                                          'floor_name_num': floor_name_num,})
    return simplejson.dumps({'success': True,
                            'content': single_post.content})
Example #6
0
def forum_profile_page(request):
    ub = get_user_by_cookie(request)
    meta = get_page_meta(request)
    if ub == False:
        return user_tip_page('Authorization Fail',
                             'You need to login first',
                             jump_to_back=True,
                             jump_to_main=True)
    pt = ProfileType.objects.all()
    return render(request, 'forum_profile_page.html', {
        'meta': meta,
        'profile_type': pt
    })
Example #7
0
def forum_uploadimage_page(request):
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            ub = get_user_by_cookie(request)
            if ub == False:
                raise Http404
            else:
                ue = ub.userextend
            ue.image = form.cleaned_data['img']
            ue.save()
            return user_tip_page(
                'Image Uploaded Successfuly',
                'Now you can refresh the page and see a change',
                jump_to_back=True,
                meta=get_page_meta(request))
        else:
            raise Http404
    else:
        form = ImageForm()
        return render(request, 'forum_upload_image.html', {'form': form})
Example #8
0
def forum_uploadimage_page(request):
    if request.method == 'POST':
        form = ImageForm(request.POST,request.FILES)
        if form.is_valid():
            ub = get_user_by_cookie(request)
            if ub == False:
                raise Http404
            else:
                ue = ub.userextend
            ue.image = form.cleaned_data['img']
            ue.save()
            return user_tip_page('Image Uploaded Successfuly',
                                 'Now you can refresh the page and see a change',
                                 jump_to_back=True,
                                 meta=get_page_meta(request))
        else:
            raise Http404
    else:
        form = ImageForm()
        return render(request,'forum_upload_image.html',
                      {'form': form})
Example #9
0
def forum_board_page(request):
    """
    Renders the board page. Each catrgory of board is grouped into one element
    in the list
    """
    # forums = BoardBasic.objects.order_by(btype__)
    # This is always passed into the forum template
    board_types = BoardType.objects.order_by('order').all()
    boards = []
    for i in board_types:
        type_name = i.name
        type_board = i.boardbasic_set.all()
        if len(type_board) == 0:
            continue
        else:
            type_dict = {'name': type_name, 'board': type_board}
            boards.append(type_dict)
    user_basic = get_user_by_cookie(request)
    return render_to_response('forum_board.html',{'boards':boards,
                                                  'meta': get_page_meta(request)
                                                  })
Example #10
0
def forum_board_page(request):
    """
    Renders the board page. Each catrgory of board is grouped into one element
    in the list
    """
    # forums = BoardBasic.objects.order_by(btype__)
    # This is always passed into the forum template
    board_types = BoardType.objects.order_by('order').all()
    boards = []
    for i in board_types:
        type_name = i.name
        type_board = i.boardbasic_set.all()
        if len(type_board) == 0:
            continue
        else:
            type_dict = {'name': type_name, 'board': type_board}
            boards.append(type_dict)
    user_basic = get_user_by_cookie(request)
    return render_to_response('forum_board.html', {
        'boards': boards,
        'meta': get_page_meta(request)
    })
Example #11
0
def make_new_reply(request,post_id,reply_text):
    ub = get_user_by_cookie(request)
    meta = get_page_meta(request)
    if ub == False:
        return simplejson.dumps({'success': False,
                                 'reason': 'You have not logged in'})
    pb_count = PostBasic.objects.filter(pid__exact=post_id).count()
    if pb_count == 0:
        return simplejson.dumps({'success': False,
                                 'reason': 'Post does not exist'})
    else:
        pb = PostBasic.objects.get(pk=post_id)
    new_reply = ReplyBasic()
    new_reply.pid = pb
    new_reply.uid = ub
    new_reply.text = reply_text
    new_reply.save()
    # Each reply will get you 1 point of money
    ub.userextend.money += 1
    ub.userextend.save()
    # TODO: SEND MESSAGE TO THE OWNER
    return get_post_details(request,post_id,1)
Example #12
0
def vote_post(request,post_id,vote):
    #print request.COOKIES['csrftoken']
    try:
        post = PostBasic.objects.get(pk=post_id)
    except ObjectDoesNotExist:
        return simplejson.dumps({'vote_success': False,
                                 'fail_reason': 'Post not found'})
    
    ub = get_user_by_cookie(request)
    if ub == False:
        return simplejson.dumps({'vote_success': False,
                                 'fail_reason': 'You are not logged in'})

    voted_flag = UserVote.objects.filter(uid__uid__exact=ub.uid,pid__pid__exact=post_id).count()

    if voted_flag != 0:
        return simplejson.dumps({'vote_success': False,
                                 'fail_reason': 'You have already voted'})

    uv = UserVote()
    try:
        pv = PostBasic.objects.get(pk=post_id)
    except ObjectDoesNotExist:
        return False
    
    uv.uid = ub
    uv.pid = pv
    uv.save()
    
    if vote == 1:
        post.upvote += 1
    elif vote == -1:
        post.downvote += 1
    else:
        return False
    post.save()
    return simplejson.dumps({'votes': (post.upvote,post.downvote),
                             'post_id': post_id,
                             'vote_success': True,})
Example #13
0
def forum_basicprofile_page(request):
    if get_user_by_cookie(request) == False:
        return auth_fail_tip()
    return render(request, 'forum_basic_profile.html',
                  {'meta': get_page_meta(request)})
Example #14
0
def forum_basicprofile_page(request):
    if get_user_by_cookie(request) == False:
        return auth_fail_tip()
    return render(request,'forum_basic_profile.html',
                  {'meta': get_page_meta(request)})