Example #1
0
def update(request, space_name):
	context = {}
	try:
		space = Space.objects.get(code=hashing_into_int(space_name))
		if request.user == space.owner:
			tab = request.GET.get('tab', 'information')
			tab = tab.lower()

			if tab == 'banner':
				banners = Banner.objects.filter(space_id=space.id)
				context['banners'] = banners
				token = get_api_token(request)
				context['token'] = token
			elif tab == 'logo':
				token = get_api_token(request)
				context['token'] = token
			else:
				tab = 'information'
				if request.method == 'POST':
					form = SpaceUpdateForm(request.POST, space=space)
					if form.is_valid():
						space = form.save()
						return redirect('/'+space.name+'/')
				else:
					form = SpaceUpdateForm(space=space)
				context['form'] = form

			context['tab'] = tab
			context['space'] = space
			return render(request, 'space/manage/update.html', context)

	except ObjectDoesNotExist as e:
		pass
	return invalid_request(request, context)
Example #2
0
def notification(request):
    context = {}
    if request.method == 'GET':
        query = request.GET.get('query', None)
        if query:
            query = query.lower()
            context['query'] = query
        else:
            context['query'] = 'all'

    token = get_api_token(request)
    context['token'] = token
    return render(request, 'home/manage/notification.html', context)
Example #3
0
def view(request, space_name, product_uid):
	product_uid = is_valid_uuid(product_uid)
	if product_uid is None:
		return invalid_request(request)
	try:
		product = Product.objects.get(uid = product_uid, space__name__iexact=space_name)
		media = ProductMedia.objects.filter(product_id=product.uid)
		context = {}
		context['product'] = product
		context['media'] = media
		current_site = get_current_site(request)
		context['current_site'] = current_site
		if not request.user.is_authenticated:
			return render(request, 'space/product/single.html', context)

		related_products = Product.objects.filter(category_id=product.category_id).values(
			'uid', 'title','price', 'space__name', 'react_good', 'react_bad', 'react_fake',
			'logo_url').order_by('-time_date')[:10]

		react_obj = ProductReact.objects.filter(product_id=product.uid, user_id=request.user.id).first()
		if react_obj is not None:
			context['has_react'] = True
			context['current_react'] = react_obj.react
		else:
			context['has_react'] = False
			context['current_react'] = 'N'

		if request.user.id == product.space.owner_id:
			context['is_owner'] = True
		else:
			context['is_owner'] = False


		pin = PinnedProduct.objects.filter(product_id=product.uid, user_id=request.user.id).first()
		if pin is not None:
			context['has_pin'] = True
		else:
			context['has_pin'] = False

		token = get_api_token(request)
		context['token'] = token
		
		context['related_products'] = related_products

		return render(request, 'space/product/view.html', context)
		
	except ObjectDoesNotExist as e:
		return invalid_request(request=request)
Example #4
0
def explore_product(request):
    context = {}
    has_attribute = False

    if request.method == 'GET':
        category = request.GET.get('category', None)
        token = get_api_token(request)
        context['token'] = token

        if category is not None:
            has_attribute = True
            context['category'] = category

    context['has_attribute'] = has_attribute

    return render(request, 'home/manage/explore_product.html', context)
Example #5
0
def search(request):
    context = {}
    query = None

    if request.method != 'GET':
        return invalid_request(request)

    query = request.GET.get('query', None)
    what = request.GET.get('what', 'product')

    if query is None:
        return redirect('/')

    token = get_api_token(request)
    context['token'] = token
    context['query'] = query
    context['what'] = what.lower()

    return render(request, 'home/filtering/search.html', context)
Example #6
0
def index(request, space_name):
	try:
		space = Space.objects.get(code=hashing_into_int(space_name))
		status = Status.objects.get(space_id=space.id)
		banners = Banner.objects.filter(space_id=space.id)
		token = get_api_token(request)

		context = {}
		context['space'] = space
		context['banners'] = banners
		context['status'] = status
		context['has_favorite'] = False
		context['token'] = token
		try:
			favorite = Favorite.objects.get(user_id=request.user.id, space_id=space.id)
			context['has_favorite'] = True
		except ObjectDoesNotExist as e:
			pass

		return render(request, 'space/manage/index.html', context)
	except ObjectDoesNotExist as e:
		return invalid_request(request)
Example #7
0
def update(request, space_name, product_uid):
	product_uid = is_valid_uuid(product_uid)
	if product_uid is None:
		return invalid_request(request)
	try:
		product = Product.objects.get(uid=product_uid, space__name__iexact=space_name)
		if product.space.owner_id == request.user.id:
			context = {}

			tab = request.GET.get('tab', 'details')
			tab = tab.lower()
			if tab == 'images':
				media = ProductMedia.objects.filter(product=product)
				context['media'] = media
			else:
				if request.method == 'POST':
					form = ProductUpdateForm(request.POST, product=product)
					if form.is_valid():
						product = form.save()
						return redirect('/'+space_name+'/product/'+str(product_uid)+'/')
				else:
					form = ProductUpdateForm(product=product)
				tab = 'details'
				context['form'] = form

			token = get_api_token(request)
			context['token'] = token
			context['tab'] = tab
			context['product'] = product
			context['space_name'] = space_name

			return render(request, 'space/product/update.html', context) 

	except ObjectDoesNotExist as e:
		pass

	return invalid_request(request)
Example #8
0
def update(request):
    context = {}
    user = request.user

    if request.method == 'POST':
        form = ProfileUpdateForm(request.POST, user=user)
        if form.is_valid():
            if form.is_new_email():
                user = form.save(commit=False)
                user.is_active = False
                user.save()
                verify_email(request, user)
                return render(request, 'account/auth/verify.html', {})

            user = form.save()
            return redirect('/account/')
    else:
        form = ProfileUpdateForm(user=request.user)

    token = get_api_token(request)
    context['token'] = token
    context['form'] = form

    return render(request, 'account/manage/update.html', context)
Example #9
0
def activity_favorite_space_list(request):
    token = get_api_token(request)
    context = {'token': token}
    return render(request, 'account/manage/favorite_space_list.html', context)
Example #10
0
def activity_product_react_list(request):
    token = get_api_token(request)
    context = {'token': token}
    return render(request, 'account/manage/product_react_list.html', context)
Example #11
0
def trending(request):
    context = {}
    token = get_api_token(request)
    context['token'] = token
    return render(request, 'home/filtering/trending.html', context)
Example #12
0
def explore(request):
    space_list = Space.objects.all()
    token = get_api_token(request)
    context = {'space_list': space_list, 'token': token}

    return render(request, 'home/manage/explore.html', context)