def cart(request): data = {'title': 'Shopping Cart'} # logger.warning("Your log message is here") # logger.warning(processData(request,data)) # logger.info("pppppppppppppppppppp") return render(request, 'cart.html', processData(request, data))
def orderHistory(request): data = {'title': 'Previous orders '} if request.method == "POST": messages.error(request, "cant save. please try again or conact admin") return redirect('order_history') ordersFromDb = Order.objects.filter(user=request.user).order_by('-id') newOrders = [] for order in ordersFromDb: tmp_order = {} tmp_order['id'] = order.id tmp_order['delivered'] = order.delivered tmp_order['rider'] = order.rider tmp_order['deliveredOn'] = order.deliveredOn tmp_order['total'] = order.total_price tmp_order['items'] = OrderedItem.objects.filter( order=order).order_by('-id') newOrders.append(tmp_order) print(newOrders) data['orders'] = newOrders return render(request, 'partner/owner/order_history.html', processData(request, data))
def loginUser(request): data = {'title': 'Login to your account'} if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') if not (username and password): messages.error(request, 'All fields are mandatory') return redirect('login') user = auth.authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) print('user logged in') nextUrl = request.POST.get('next') print(nextUrl) if not nextUrl: nextUrl = 'dashboard' return redirect(nextUrl) messages.error(request, 'Invalid credentials') return redirect('login') else: # check account type, 3 types normal, rider and restaurent owner data['role'] = getRole(request) return render(request, 'login.html', processData(request, data))
def home(request): data = {'title': 'THT Food System'} items = MenuItem.objects.filter(active=True) if items and items.count() > 0: data['menuItems'] = items return render(request, 'index.html', processData(request, data))
def getOrder(request): data = {'title': 'Previous orders '} data['pendingOrders'] = Order.objects.filter( Q(delivered=False), Q(rider=None) | Q(rider=request.user)) return render(request, 'partner/rider/get_order.html', processData(request, data))
def signup(request): data = {'title': 'Create an account'} if (request.method == 'POST'): first_name = request.POST.get('first_name') last_name = request.POST.get('last_name') username = request.POST.get('username') email = request.POST.get('email') password1 = request.POST.get('password1') password2 = request.POST.get('password2') if not (first_name and last_name and username and email and password1 and password2): messages.info(request, 'All fields are mandatory') return redirect('signup') if password1 != password2: messages.info(request, 'passwords not matching') return redirect('signup') else: if User.objects.filter(username=username).exists(): messages.info( request, 'Username already taken. please select another username') return redirect('signup') elif User.objects.filter(email=email).exists(): messages.info( request, 'Email already registered.Please login to continue') else: user = User.objects.create_user(username=username, email=email, password=password1, first_name=first_name, last_name=last_name) user.profile.role = getRole(request) user.save() print('user crated') messages.info( request, 'Account created successfully. Please login to continue') return redirect('login') else: # check account type, 3 types normal, rider and restaurent owner role = request.GET.get('type', 'normal').lower() if role != 'rider' and role != 'owner': role = 'normal' data['role'] = role return render(request, 'signup.html', processData(request, data))
def restaurantDetails(request): data = {'title': 'My Restaurant Details'} print("one") if request.method == "POST": name = request.POST.get('name') address1 = request.POST.get('address1', '') address2 = request.POST.get('address2', '') country = request.POST.get('country', 'India') state = request.POST.get('state', '') zip = request.POST.get('zip', '') location = request.POST.get('location', 'pala') tag = request.POST.get('tag', '') if not name: messages.error(request, 'cant save restaurant details') return redirect('restaurant_details') rest = Restaurant() try: rest = Restaurant.objects.create(user=request.user, name=name, address1=address1, address2=address2, country=country, state=state, zip=zip, location=location, tag=tag) messages.info(request, 'saved restaurant details') except IntegrityError: rest = Restaurant.objects.get(user=request.user) rest.name = name rest.address1 = address1 rest.address2 = address2 rest.country = country rest.state = state rest.zip = zip rest.location = location rest.tag = tag rest.save() messages.info(request, 'updated restaurant details.') except: messages.info(request, 'cant save restaurant details. try again') return redirect('restaurant_details') data['rest'] = Restaurant.objects.filter( user=request.user).order_by('id').first() print(data['rest']) return render(request, 'partner/owner/restaurant_details.html', processData(request, data))
def revenue(request): data = {'title': 'Total revenue for my Restaurant'} if request.method == "POST": messages.error(request, "cant save. please try again or conact admin") return redirect('revenue') items = OrderedItem.objects.filter(item__user=request.user) revenue = 0 for i in items: revenue += i.item.price * i.quantity data['revenue'] = revenue return render(request, 'partner/owner/revenue.html', processData(request, data))
def payments(request): if request.method != 'POST': messages.error(request, 'Please checkout from cart') return redirect('cart') tmp = float(request.POST.get('total_amount')) total_amount = round(tmp, 2) context = {'title': 'Payment portal'} context['amount_rs'] = total_amount context['amount'] = total_amount * 100 context['currency'] = "INR" context['key'] = settings.STRIPE_PUBLISHABLE_KEY return render(request, 'payments/home.html', processData(request, context))
def home(request): data = {'title': 'Welcome to ezFood'} items = MenuItem.objects.filter(active=True) if items and items.count() > 0: data['menuItems'] = items data = processData(request, data) for mItem in items: print(mItem.id) for cItem in data['cartItems']: if (mItem.id == cItem['id']): mItem.quantity = cItem['quantity'] return render(request, 'index.html', data)
def ownerHistory(request): data = {'title': 'Previous orders '} if request.method == "POST": messages.error(request, "cant save. please try again or conact admin") return redirect('order_history') o = OrderedItem.objects.filter(item__user=request.user) history = () for i in o: history.append(i) print(i.item) data['history'] = history print(history) return render(request, 'partner/owner/order_history.html', processData(request, data))
def addMenu(request): data = {'title': 'Add Items to Menu for my restaurant'} if request.method == "POST": id = request.POST.get('id') name = request.POST.get('name') price = request.POST.get('price') image = request.FILES.get('image') if not (name and price): messages.error(request, 'please specify name of dish') return redirect('add_menu') try: if id: print('updating menu item') menuItem = MenuItem.objects.filter(user=request.user, id=id).first() menuItem.price = price if image: menuItem.image.save(image.name, image) menuItem.save() messages.info(request, 'updated price for item ' + name) else: menuItem = MenuItem.objects.create(user=request.user, name=name, price=price, image=image) messages.info(request, 'crated new Menu item') except Exception as e: messages.error(request, 'an error occured try again') print(e) return redirect('add_menu') return redirect('view_menu') itemId = request.GET.get('id') if itemId: data['menuItem'] = MenuItem.objects.filter(id=itemId).first() return render(request, 'partner/owner/add_menu.html', processData(request, data))
def deleteMenu(request): data = {'title': 'Delete item from Menu'} if request.method == 'POST': confirmed = request.POST.get('confirm', 'no') id = request.POST.get('id') if not id: messages.error(request, 'please select item from menu to delete') return redirect('view_menu') if confirmed and confirmed.lower() == 'yes': try: itemToDelete = MenuItem.objects.filter(user=request.user, id=id).first() itemToDelete.delete() messages.error(request, itemToDelete.name + ' deleted from Menu') return redirect('view_menu') except Exception as e: print(e) messages.error(request, 'cant delete item with id' + str(id)) return redirect('view_menu') else: messages.error(request, 'please click "yes" to confirm and delete') return redirect('view_menu') id = request.GET.get('id') if not id: messages.error(request, 'please select id to delete ') return redirect('view_menu') if MenuItem.objects.filter(user=request.user, id=id).count() != 1: messages.error(request, 'Cant find item from menu to delete') return redirect('view_menu') data['item'] = MenuItem.objects.filter(user=request.user, id=id).first() return render(request, 'partner/owner/confirm_delete_item.html', processData(request, data))
def deliveryHistory(request): data = {'title': 'Delivery history'} data['pendingOrders'] = Order.objects.filter(rider=request.user, delivered=True) return render(request, 'partner/rider/delivery_history.html', processData(request, data))
def partnerWithUs(request): data = {'title': 'Partner with us'} return render(request, 'partner/select.html', processData(request, data))
def dashboard(request): data = {'title': 'Dashboard'} return render(request, 'user/profile.html', processData(request, data))
def profile(request): data = {'title': 'Profile'} return render(request, 'user/profile.html', processData(request, data))
def support(request): data = {'title': 'Customer support page'} return render(request, 'support.html', processData(request, data))
def offers(request): data = {'title': 'New offers'} return render(request, 'offers.html', processData(request, data))
def specials(request): data = {'title': 'Special deals'} return render(request, 'specials.html', processData(request, data))
def cart(request): data = {'title': 'Shopping Cart'} return render(request, 'cart.html', processData(request, data))
def viewMenu(request): data = {'title': 'view Menu for my restaurant'} data['menuItems'] = MenuItem.objects.filter(user=request.user) return render(request, 'partner/owner/view_menu.html', processData(request, data))