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)
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)
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)
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)
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)
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)
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)
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)
def activity_favorite_space_list(request): token = get_api_token(request) context = {'token': token} return render(request, 'account/manage/favorite_space_list.html', context)
def activity_product_react_list(request): token = get_api_token(request) context = {'token': token} return render(request, 'account/manage/product_react_list.html', context)
def trending(request): context = {} token = get_api_token(request) context['token'] = token return render(request, 'home/filtering/trending.html', context)
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)