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)
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)
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})
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})
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})
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 })
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})
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})
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) })
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) })
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)
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,})
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)})
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)})