示例#1
0
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))
示例#2
0
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})
示例#3
0
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
                })
示例#4
0
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")
示例#6
0
    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)
示例#7
0
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()
示例#8
0
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()
示例#9
0
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()
示例#10
0
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)
示例#11
0
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,
                })