def comm_item_buyer(request, item, curr_user): """ The curr_user is the seller, show him the communication interface """ if request.method == 'POST': form = CommForm(request.POST) if form.is_valid(): msg = form.cleaned_data['message'] try: comm = Comm.objects.get(buyer=curr_user.user_obj, item=item) except Comm.DoesNotExist: comm = Comm(buyer=curr_user.user_obj, item=item) comm.save() message = Messages(comm=comm, content=msg, user=curr_user.user_obj) message.save() form = CommForm() else: form = CommForm() # View Part try: comm = Comm.objects.get(buyer=curr_user.user_obj, item=item) try: ret = Messages.objects.filter(comm=comm).order_by('-time') except Messages.DoesNotExist: ret = [] except Comm.DoesNotExist: ret = [] comm = Comm(buyer=curr_user.user_obj, item=item) return render(request, 'comm.html',{'msgs': ret, 'form': form, 'DealForm': DealForm(), 'comm': comm, 'role': 'buyer', 'item': item, 'CancelForm': CancelForm()})
def comm_seller_buyer(request, item_id, user_nick, curr_user): """ Communication view for seller with a buyer """ try: item = items.objects.get(id=item_id, is_expired=False, is_sold=False) except items.DoesNotExist: try: item = items.objects.get(id=item_id, is_expired=False, is_sold=True) if item.user != curr_user.user_obj and item.buyer != curr_user.user_obj: return render(request, 'error.html', {'error': 'Item Not Found'}) except items.DoesNotExist: return render(request, 'error.html', {'error': 'Item Not Found'}) try: tar_user = user_profile.objects.get(nick=user_nick) except user_profile.DoesNotExist: return render(request, 'error.html', {'error': 'User Not Found'}) # if the curr_user is not the seller if item.user != curr_user.user_obj: return render(request, 'error.html', {'error': 'You are not allowed to be here!'}) try: comm = Comm.objects.get(buyer=tar_user, item=item) except Comm.DoesNotExist: return render(request, 'error.html', {'error': 'No communications exist!'}) if request.method == 'POST': form = CommForm(request.POST) if form.is_valid(): msg = form.cleaned_data['message'] message = Messages(comm=comm, content=msg, user=curr_user.user_obj) message.save() form = CommForm() else: form = CommForm() # View Part try: comm = Comm.objects.get(buyer=tar_user, item=item) try: ret = Messages.objects.filter(comm=comm).order_by('-time') except Messages.DoesNotExist: ret = [] except Comm.DoesNotExist: return render(request, 'error.html', {'error': 'No communications exist!'}) return render(request, 'comm.html',{'msgs': ret, 'form': form, 'role': 'seller', 'DealForm': DealForm(), 'item': item, 'comm': comm})
def display_p(p_name,id): if request.method == 'POST': if require_login(): return redirect(url_for(login)) form = CommForm() flag = form.validate(request.params) if flag: co = comments(**form.data) co.username = request.user.username co.comm_objs = p_name co.save() pd = mdeps.filter(mdeps.c.d_name==p_name) cd = mdeps.filter(mdeps.c.d_parent_name==p_name) p = mpoints.get(mpoints.c.p_name == p_name) if not p: return redirect('/points/add_p/%s' % p_name) comm = comments.filter(comments.c.comm_objs==p_name) form = CommForm() return {'p':p,'pd':pd,'cd':cd,'comm':comm,'form':form}