Beispiel #1
0
    def user_interess_product(self, request):

        if request.method == 'POST':

            product_id = request.POST.get('product', '')
            product = Products.objects.get(pk=product_id)

            if 'username' in request.session:
                session_id = request.session['user']
                user = User.objects.get(pk=session_id)
                check_interess = ProductInteress.objects.filter(
                    user=user.pk, product=product.pk)

                if check_interess:
                    return HttpResponse('already')
                else:
                    interess = ProductInteress(
                        user=User.objects.get(pk=session_id),
                        product=Products.objects.get(pk=product_id),
                        interess_date=timezone.now())
                    interess.save()

                    saveCompanyNotificationFromUser(
                        request, User.objects.get(pk=session_id),
                        Company.objects.get(pk=product.company.pk), product.pk,
                        'interess')

                    return HttpResponse('Success !!!')
            else:
                return HttpResponse('session')

        return HttpResponse('cool')
    def product_add_comment(self, request):

        if request.method == 'POST':

            text = request.POST.get('text', '')
            product_id = request.POST.get('product', '')
            product = Products.objects.get(pk=product_id)

            if filter_company_sessions(request) is not None:
                company_id = request.session['pk']
                if product.company.pk == company_id:
                    commenter = 'company'
                    comment = ProductComments(
                        product=Products.objects.get(pk=product_id),
                        company=Company.objects.get(pk=company_id),
                        commenter=commenter,
                        comment=text,
                        comment_date=timezone.now())
                    comment.save()

                    return HttpResponse('success')

            elif 'username' in request.session:

                commenter = 'user'
                session_id = request.session['user']
                comment = ProductComments(
                    product=Products.objects.get(pk=product_id),
                    user=User.objects.get(pk=session_id),
                    commenter=commenter,
                    comment=text,
                    comment_date=timezone.now())

                comment.save()

                saveCompanyNotificationFromUser(
                    request, User.objects.get(pk=session_id),
                    Company.objects.get(pk=product.company.pk), product.pk,
                    'comment')

                return HttpResponse('success')

        return HttpResponse('cool')
Beispiel #3
0
    def user_follow_company(self, request):

        if request.method == 'POST':

            company_id = request.POST.get('company', '')
            company = Company.objects.get(pk=company_id)

            if 'username' in request.session:
                session_id = request.session['user']
                check_follow = Followers.objects.filter(user=session_id,
                                                        company=company_id)

                if check_follow:
                    messages.success(request, "Exist!!!")
                    return HttpResponseRedirect(
                        reverse('comp_profile',
                                kwargs={'company_name': company.name_dotted}))

                else:
                    follow = Followers(
                        user=User.objects.get(pk=session_id),
                        company=Company.objects.get(pk=company_id),
                        follow_date=timezone.now())
                    follow.save()
                    saveCompanyNotificationFromUser(
                        request, User.objects.get(pk=session_id),
                        Company.objects.get(pk=company.pk), session_id,
                        'follow')
                    messages.success(request, "Saved!!!")
                    return HttpResponseRedirect(
                        reverse('comp_profile',
                                kwargs={'company_name': company.name_dotted}))
            else:
                messages.error(request, "no session!!!")
                return HttpResponseRedirect(
                    reverse('comp_profile',
                            kwargs={'company_name': company.name_dotted}))

        return HttpResponseRedirect(
            reverse('comp_profile',
                    kwargs={'company_name': company.name_dotted}))
Beispiel #4
0
    def save_tagged_users_notification(self, request, post_text, post_id):

        data = self.helper.get_linked_post_text(post_text)
        users = set(data['users'])
        companies = set(data['companies'])
        products = set(data['products'])

        if len(users) > 0:
            for user in users:
                if 'username' in request.session:
                    saveUserNotificationFromUser(
                        request,
                        User.objects.get(pk=request.session['user']),
                        User.objects.get(pk=user['pk']),
                        post_id,
                        'user_tagged',
                    )
                elif 'company_name' in request.session:
                    saveUserNotificationFromCompany(
                        request, Company.objects.get(pk=request.session['pk']),
                        User.objects.get(pk=user['pk']), post_id,
                        'user_tagged')

        if len(companies) > 0:
            for company in companies:
                if 'username' in request.session:
                    saveCompanyNotificationFromUser(
                        request, User.objects.get(pk=request.session['user']),
                        Company.objects.get(pk=company['pk']), post_id,
                        'company_tagged')

        if len(products) > 0:
            for product in products:
                if 'username' in request.session:
                    saveCompanyNotificationFromUser(
                        request, User.objects.get(pk=request.session['user']),
                        Company.objects.get(name_dotted=product['company']),
                        post_id, 'company_product_tagged')
Beispiel #5
0
    def user_like_dislike_post(self, request):
        if request.method == 'POST':
            post = request.POST.get('post', '')
            mention = request.POST.get('mention', '')
            post_obj = Posts.objects.get(pk=post)
            if 'username' in request.session:
                session_id = request.session['user']
                check_mention = PostMention.objects.filter(
                    post=post_obj.pk, mentioner=session_id)
                if check_mention:
                    for this_mention in check_mention:
                        mention_post = PostMention.objects.get(
                            pk=this_mention.pk)
                        mention_post.mention = mention
                        mention_post.mention_date = timezone.now()
                        mention_post.save()
                    return HttpResponse('success')
                else:
                    mention_post = PostMention(
                        post=Posts.objects.get(pk=post),
                        mentioner=User.objects.get(pk=session_id),
                        mention=mention,
                        mention_date=timezone.now())
                    mention_post.save()
                    if post_obj.poster_type == 'user':
                        saveUserNotificationFromUser(
                            request, User.objects.get(pk=session_id),
                            User.objects.get(pk=post_obj.user.pk), post_obj.pk,
                            mention)
                    elif post_obj.poster_type == 'company':
                        saveCompanyNotificationFromUser(
                            request, User.objects.get(pk=session_id),
                            Company.objects.get(pk=post_obj.company.pk),
                            post_obj.pk, mention)
                    return HttpResponse('success')

        return HttpResponse('cool')
Beispiel #6
0
    def user_like_dislike_product(self, request):

        if request.method == 'POST':

            product_id = request.POST.get('product', '')
            product = Products.objects.get(pk=product_id)
            mention = request.POST.get('mention', '')

            if 'username' in request.session:
                session_id = request.session['user']
                check_mention = ProductMention.objects.filter(
                    user=session_id, product=product.pk)

                if check_mention:
                    for this_mention in check_mention:
                        mention_product = ProductMention.objects.get(
                            pk=this_mention.pk)
                        mention_product.mention = mention
                        mention_product.mention_date = timezone.now()
                        mention_product.save()
                    return HttpResponse('update')
                else:
                    mention_product = ProductMention(
                        product=Products.objects.get(pk=product_id),
                        user=User.objects.get(pk=session_id),
                        mention=mention,
                        mention_date=timezone.now())
                    mention_product.save()

                    saveCompanyNotificationFromUser(
                        request, User.objects.get(pk=session_id),
                        Company.objects.get(pk=product.company.pk), product.pk,
                        '%s_product' % mention)
                    return HttpResponse('saved')

        return HttpResponse('cool')
Beispiel #7
0
	def save_post_reply(self, request, post_id):

		if request.method == 'POST':

			reply_form = PostReplyForm(request.POST, request.FILES)
			post_obj = Posts.objects.get(pk=post_id)

			if 'username' in request.session:
				session_user = request.session['user']
				if reply_form.is_valid():
					reply = reply_form.save(commit=False)
					reply.post = Posts.objects.get(pk=post_id)
					reply.user = User.objects.get(pk=session_user)
					reply.reply_type = 'user'
					reply.reply_date = timezone.now()
					reply.save()

					if post_obj.poster_type == 'user':

						saveUserNotificationFromUser(
							request,
							User.objects.get(pk=session_user),
							User.objects.get(pk=post_obj.poster.pk),
							post_obj.pk,
							"reply"
						)
						return HttpResponse('success')

					elif post_obj.poster_type == 'company':
						saveCompanyNotificationFromUser(
							request,
							User.objects.get(pk=session_user),
							Company.objects.get(pk=post_obj.company.pk),
							post_obj.pk,
							"reply"
						)
						return HttpResponse('success')

					return HttpResponse('success')

			elif filter_company_sessions(request) is not None:

				session_company = request.session['pk']

				if reply_form.is_valid():
					reply = reply_form.save(commit=False)
					reply.post = Posts.objects.get(pk=post_id)
					reply.company = Company.objects.get(pk=session_company)
					reply.reply_type = 'company'
					reply.reply_date = timezone.now()
					reply.save()

					if post_obj.poster_type == 'user':

						saveUserNotificationFromCompany(
								request,
								Company.objects.get(pk=session_company),
								User.objects.get(pk=post_obj.poster.pk),
								post_obj.pk,
								'reply'
							)
						return HttpResponse('success')	
					
		return HttpResponse('cool')