def make_connection(request): user = request.user mentor = request.POST.get('to', None) mentor_object = User.objects.get(username=mentor) mentor_id = mentor_object.id subject = "Possible mentee connection from MentorMe" message = request.POST.get('message') sender = request.user.email if user != mentor_object: Message.send_message(user, mentor_object, message) recipient = [mentor_object.email] try: if user.profile.role == 'mentor': new_connection = Connection(user=user, mentor=mentor_id, status=1) new_connection.save() else: new_connection = Connection(user=user, mentor=mentor_id) new_connection.save() send_mail(subject, message, sender, recipient) except Exception: return HttpResponse('invalid header found') data = { 'confirm': 'Connection complete', } return redirect('/mentoring/{0}/'.format(mentor))
def new(request): if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to') try: to_user = User.objects.get(username=to_user_username) except Exception: try: to_user_username = to_user_username[ to_user_username.rfind('(') + 1:len(to_user_username) - 1] to_user = User.objects.get(username=to_user_username) except Exception: return redirect('/messages/new/') message = request.POST.get('message') if len(message.strip()) == 0: return redirect('/messages/new/') if from_user != to_user: Message.send_message(from_user, to_user, message) return redirect('/messages/{0}/'.format(to_user_username)) else: conversations = Message.get_conversations(user=request.user) return render(request, 'messenger/new.html', {'conversations': conversations})
def new(request): if not request.user.is_authenticated(): return render(request, 'authentication/login.html') else: if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to') try: to_user = User.objects.get(username=to_user_username) except Exception: try: to_user_username = to_user_username[ to_user_username.rfind('(') + 1:len(to_user_username) - 1] to_user = User.objects.get(username=to_user_username) except Exception: return redirect('/messages/new/') message = request.POST.get('message') objet = request.POST.get('objet') url = request.POST.get('url') if not url: produit = None else: produit = Produit.objects.get(pk=url) if len(message.strip()) == 0: return redirect('/messages/new/') if from_user != to_user: Message.send_message(from_user, to_user, message, objet, produit) id_boutique = request.GET.get('boutic') return redirect('/messages/{0}/?too={1}'.format( to_user_username, to_user_username)) else: id_boutique = request.GET.get('boutic') conversations = Message.get_conversations(user=request.user) if not Utilisateur.objects.filter(user=request.user).exists(): produituser = Produit.objects.filter(boutique_id=id_boutique) return render(request, 'messenger/new.html', { 'conversations': conversations, 'produituser': produituser }) else: produituser = Produit.objects.filter( boutique__user__username=request.user) return render(request, 'messenger/new.html', { 'conversations': conversations, 'produituser': produituser })
def attache_image(request): if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to1') to_user = User.objects.get(username=to_user_username) form = AttacheForm(request.POST or None, request.FILES or None) attache = form.save(commit=False) msg = Message.send_message(from_user=from_user, to_user=to_user, message=None, objet=None, produit=None) attache.message = msg attache.save() print("ok!") to_user_username = request.POST.get('to') url = request.POST.get('url') id_boutique = request.GET.get('boutic') return render(request, 'messenger/includes/partial_message.html', {'message': msg}) else: return HttpResponseBadRequest()
def test_sending_new_message(self): new_message = Message.send_message(self.other_user, self.user, "A short message") self.assertTrue(isinstance(new_message, Message)) self.assertEqual( Message.get_conversations(self.other_user)[0]['last'], new_message.date) self.assertEqual(new_message.message, "A short message")
def post(self, request, *args, **kwargs): data = request.data to_user_username = data.get('to') message = data.get('message') from_user = self.request.user to_user = User.objects.filter(username=to_user_username) if to_user.count() == 1: if from_user != to_user: chat_msg = Message.send_message(from_user, to_user, message) # Return data serialized using new MessageSerializer return Response({"to": to_user, "message": message}) return Response({"detail": "User does not exists."}, status=401)
def send(request): if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to') to_user = User.objects.get(username=to_user_username) message = request.POST.get('message') if len(message.strip()) == 0: return HttpResponse() if from_user != to_user: msg = Message.send_message(from_user, to_user, message) return render(request, 'messenger/includes/partial_message.html', {'message': msg}) return HttpResponse() else: return HttpResponseBadRequest()
def send(request): if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to') to_user = User.objects.get(username=to_user_username) message = request.POST.get('message') print("okkkk") if len(message.strip()) == 0: return HttpResponse() if from_user != to_user: #form = AttachementForm(request.POST, request.FILES) #image = form.save(commit=False) msg = Message.send_message(from_user, to_user, message, None, None) return render(request, 'messenger/includes/partial_message.html', {'message': msg}) return HttpResponse() else: return HttpResponseBadRequest()
def send2(request): if request.method == 'POST': from_user = request.user to_user_username = request.POST.get('to') print(to_user_username) to_user = User.objects.get(username=to_user_username) print(to_user) objet = request.POST.get('objet') url = request.POST.get('url') print(url) produit = Produit.objects.get(pk=url) print(produit.title) if from_user != to_user: msg = Message.send_message(from_user, to_user, "", objet, produit) return render(request, 'messenger/includes/partial_message.html', {'message': msg}) else: return HttpResponseBadRequest()
def view(request, id, idP="1"): # print str(id) Ptype = request.GET.get('Ptype', 'all') #print Ptype Prange = request.GET.get('Prange', 'all') #print Prange store = Store.objects.get(id=id) # send message to store's owner if request.user != store.user: if (not (request.user in store.visitors.all())): print("visit ...") message = "This is an automatically generated message, welcome to my store ( " + str( store.name ) + " ) , if you have any questions, please feel free :) " if store.user.profile.message != None: message = str(store.user.profile.message) msg = Message.send_message(store.user, request.user, message).save() store.visitors.add(request.user) products = store.product_set.all().order_by("-created_at") Pmin = request.GET.get('Pmin', 0) Pmax = request.GET.get('Pmax', 10000) products = products.filter(price__gte=Pmin) products = products.filter(price__lte=Pmax) if (Ptype == "handMade"): products = products.filter(Ptype=1) if (Ptype == "vintage"): products = products.filter(Ptype=2) nP = products.count() imgs = StoreImage.objects.filter(store=store).order_by("-created_at") pages = Paginator(products, 9) vId = int(idP) if ((vId > int((nP + 8) / 9)) or (vId < 1)): vId = 1 page = pages.page(vId) values = [] for product in page: x = getMainImage(product) #print x values.append((product, x, product.likes.all(), product.smiles.all(), product.wishes.all(), product.likes.count() + product.smiles.count() + product.wishes.count())) intList = list(range(1, ((products.count() + 8) / 9) + 1)) idList = [] for i in intList: idList.append(str(i)) filters = "?Ptype=" + str(Ptype) + "&Pmin=" + str(Pmin) + "&Pmax=" + str( Pmax) context = { 'flag': 'yes', 'store': store, 'values': values, 'page': page, 'nP': nP, 'Pmin': Pmin, 'Pmax': Pmax, 'idList': idList, 'pageId': str(vId), 'filters': filters, 'Ptype': str(Ptype), 'Prange': str(Prange), 'idS': str(id), 'nC1': getCount(categoriesList[0]), 'nC2': getCount(categoriesList[1]), 'nC3': getCount(categoriesList[2]), 'nC4': getCount(categoriesList[3]), 'nC5': getCount(categoriesList[4]), 'nC6': getCount(categoriesList[5]), } if imgs: context['img'] = imgs[0] return render(request, 'discover.html', context)
def messages(request, username): if request.method == 'GET': conversations = Message.get_conversations(user=request.user) users_list = User.objects.filter(is_active=True).exclude( username=request.user).order_by('username') active_conversation = username messages = Message.objects.filter(user=request.user, conversation__username=username) messages.update(is_read=True) for conversation in conversations: if conversation['user'].username == username: conversation['unread'] = 0 return render( request, 'messenger/inbox.html', { 'messages': messages, 'conversations': conversations, 'users_list': users_list, 'active': active_conversation }) else: from_user = request.user to_user = User.objects.get(username=username) message = request.POST.get('message') if request.POST.get("document") is None: save_path = os.path.join('sent_docs/', request.FILES['document'].name) doc = default_storage.save(save_path, request.FILES['document']) msg = Message.send_message(from_user, to_user, message, doc) conversations = Message.get_conversations(user=request.user) users_list = User.objects.filter(is_active=True).exclude( username=request.user).order_by('username') active_conversation = username messages = Message.objects.filter(user=request.user, conversation__username=username) messages.update(is_read=True) for conversation in conversations: if conversation['user'].username == username: conversation['unread'] = 0 return render( request, 'messenger/inbox.html', { 'messages': messages, 'conversations': conversations, 'users_list': users_list, 'active': active_conversation, }) else: doc = None msg = Message.send_message(from_user, to_user, message, doc) conversations = Message.get_conversations(user=request.user) users_list = User.objects.filter(is_active=True).exclude( username=request.user).order_by('username') active_conversation = username messages = Message.objects.filter(user=request.user, conversation__username=username) messages.update(is_read=True) for conversation in conversations: if conversation['user'].username == username: conversation['unread'] = 0 return render( request, 'messenger/inbox.html', { 'messages': messages, 'conversations': conversations, 'users_list': users_list, 'active': active_conversation, })