def post(self): self.response.headers['content-type'] = 'text/html' WebPageLink = "https://medicare-287205.nw.r.appspot.com/" ButtonName = self.request.get('Button') if (ButtonName == "SignInButton"): userEmail = self.request.get('userEmail') userPassword = self.request.get('userPassword') DBConnect = ndb.Key('UsersDB', userEmail).get() if (DBConnect != None and DBConnect.IsActive == 1): if (DBConnect.user_Password == userPassword): self.redirect('/?userEmail=' + userEmail) else: self.redirect('/UserSignIn?notification=PasswordMissmatch') else: self.redirect( '/UserSignIn?notification=EmailIdNotRegisteredOrInActive') elif (ButtonName == "SignUpButton"): FirstName = self.request.get('FirstName') LastName = self.request.get('LastName') Email = self.request.get('userEmail_SU') Password = self.request.get('userPassword_SU') Contact = self.request.get('Contact') Address = self.request.get('Address') Gender = self.request.get('Gender') DOB = self.request.get('DOB') DBConnect = ndb.Key('UsersDB', Email).get() if (DBConnect == None): API_Key = "AIzaSyDvLc7SvzpX6KP6HCfn033xNKaM8UH3e2w" params = {"address": Address, "key": API_Key} GoogleAPI = "https://maps.googleapis.com/maps/api/geocode/json" url_params = urlencode(params) url = GoogleAPI + "?" + url_params result = urlfetch.fetch(url=url, method=urlfetch.POST, headers=params) Latitude = json.loads( result.content )['results'][0]['geometry']['location']['lat'] Longitude = json.loads( result.content )['results'][0]['geometry']['location']['lng'] DBConnect = UsersDB(id=Email) DBConnect.user_FirstName = FirstName DBConnect.user_LastName = LastName DBConnect.user_Email = Email DBConnect.user_Password = Password DBConnect.user_Contact = Contact DBConnect.user_Address = Address DBConnect.Latitude = Latitude DBConnect.Longitude = Longitude DBConnect.user_Gender = Gender DBConnect.user_DOB = DOB DBConnect.EmailVerified = 0 DBConnect.ResetPasswordLinkSent = 0 DBConnect.IsActive = 1 DBConnect.put() SendEmail( Email, "Congratulations! Your MediCare account has been setup", """ Dear """ + DBConnect.user_FirstName + """, This is an automated email confirmation sent to you in regards of your MediCare account. Please click on below link to verify your Email Id: """ + WebPageLink + """VerifyEmail?RegisteredAs=User&userEmail=""" + Email + """&VerifyStatus=""" + hashlib.md5(DBConnect.user_Password.encode()).hexdigest() + """ Thanks & regards, MediCare Team. """) self.redirect( '/UserSignIn?notification=UserSuccessfullyRegistered') else: self.redirect( '/UserSignIn?notification=EmailAlreadyRegistered') elif (ButtonName == "ForgotPasswordButton"): Email = self.request.get('userEmail_FP') DBConnect = ndb.Key('UsersDB', Email).get() if (DBConnect != None): SendEmail( Email, "Reset password for your MediCare account", """ Dear """ + DBConnect.user_FirstName + """, This is an automated email sent to reset password of your MediCare account. Click on below link to reset your password: """ + WebPageLink + """ResetPassword?RegisteredAs=User&userEmail=""" + Email + """&FromPage=/UserSignIn&ResetStatus=""" + hashlib.md5(DBConnect.user_Password.encode()).hexdigest() + """ In case above link doesn't work, copy and paste the same in url bar of your browser. Thanks & regards, MediCare Team. """) DBConnect.ResetPasswordLinkSent = 1 DBConnect.put() self.redirect('/UserSignIn?notification=PasswordResetLinkSent') else: self.redirect('/UserSignIn?notification=EmailIdNotRegistered')
def post(self): self.response.headers['Content-Type'] = 'application/json' WebPageLink = "https://medicare-287205.nw.r.appspot.com/" JD = json.loads(self.request.body) ResponseData = {} FunctionOption = JD["function"] userEmail = JD["userEmail"] if (userEmail != "" and userEmail != None): DBConnect = ndb.Key('UsersDB', userEmail).get() # Below is code for SignUp. if (FunctionOption == "SignUp" and DBConnect == None): API_Key = "AIzaSyDvLc7SvzpX6KP6HCfn033xNKaM8UH3e2w" params = {"address": JD["Address"], "key": API_Key} GoogleAPI = "https://maps.googleapis.com/maps/api/geocode/json" url_params = urlencode(params) url = GoogleAPI + "?" + url_params result = urlfetch.fetch(url=url, method=urlfetch.POST, headers=params) Latitude = json.loads( result.content)['results'][0]['geometry']['location']['lat'] Longitude = json.loads( result.content)['results'][0]['geometry']['location']['lng'] DBConnect = UsersDB(id=userEmail) DBConnect.user_FirstName = JD["FirstName"] DBConnect.user_LastName = JD["LastName"] DBConnect.user_Email = userEmail DBConnect.user_Password = JD["Password"] DBConnect.user_Contact = JD["Contact"] DBConnect.user_Address = JD["Address"] DBConnect.Latitude = Latitude DBConnect.Longitude = Longitude DBConnect.user_Gender = JD["Gender"] DBConnect.user_DOB = JD["DOB"] DBConnect.EmailVerified = 0 DBConnect.ResetPasswordLinkSent = 0 DBConnect.IsActive = 1 DBConnect.put() SendEmail( userEmail, "Congratulations! Your MediCare account has been setup", """ Dear """ + DBConnect.user_FirstName + """, This is an automated email confirmation sent to you in regards of your MediCare account. Please click on below link to verify your Email Id: """ + WebPageLink + """VerifyEmail?RegisteredAs=User&userEmail=""" + userEmail + """&VerifyStatus=""" + hashlib.md5(DBConnect.user_Password.encode()).hexdigest() + """ Thanks & regards, MediCare Team. """) ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserSuccessfullyRegistered" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "SignUp" and DBConnect != None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserAlreadyRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for SignIn. elif (FunctionOption == "SignIn" and DBConnect != None): userPassword = JD["Password"] if (DBConnect.IsActive == 1): if (DBConnect.user_Password == userPassword): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "SuccessfulSignIn" ResponseData['FirstName'] = DBConnect.user_FirstName ResponseData['LastName'] = DBConnect.user_LastName ResponseData['Contact'] = DBConnect.user_Contact ResponseData['Address'] = DBConnect.user_Address ResponseData['Gender'] = DBConnect.user_Gender ResponseData['DOB'] = DBConnect.user_DOB ResponseData['EmailVerified'] = DBConnect.EmailVerified self.response.write(json.dumps(ResponseData)) else: ResponseData['userEmail'] = userEmail ResponseData['notification'] = "PasswordMissmatch" self.response.write(json.dumps(ResponseData)) else: ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserInActive" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "SignIn" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for Forgot Password. elif (FunctionOption == "ForgotPassword" and DBConnect != None): DBConnect.ResetPasswordLinkSent = 1 DBConnect.put() SendEmail( userEmail, "Reset password for your MediCare account", """ Dear """ + DBConnect.user_FirstName + """, This is an automated email sent to reset password of your MediCare account. Click on below link to reset your password: """ + WebPageLink + """ResetPassword?RegisteredAs=User&userEmail=""" + userEmail + """&FromPage=/UserSignIn&ResetStatus=""" + hashlib.md5(DBConnect.user_Password.encode()).hexdigest() + """ In case above link doesn't work, copy and paste the same in url bar of your browser. Thanks & regards, MediCare Team. """) ResponseData['userEmail'] = userEmail ResponseData['notification'] = "ResetLinkSent" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "ForgotPassword" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for DeletingUserProfile. elif (FunctionOption == "DeleteUser" and DBConnect != None): DBConnect.key.delete() ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserSuccessfullyDeleted" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "DeleteUser" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for HomePageAllProductsID. elif (FunctionOption == "AllProductID"): ProductsData = ProductsDB.query().fetch() ResponseProductID = {} Product = [] for i in range(0, len(ProductsData)): Product.append(ProductsData[i].ProductID) ResponseProductID['ProductID'] = Product self.response.write(json.dumps(ResponseProductID)) # Below is code for HomePageAllProductsData. elif (FunctionOption == "ProductData"): ResponseProduct = {} ProductID = JD["ProductID"] ProductData = ndb.Key("ProductsDB", ProductID).get() ResponseProduct['ProductID'] = ProductData.ProductID ResponseProduct['ProductName'] = ProductData.ProductName ResponseProduct['Image'] = ProductData.Images[0] ResponseProduct['Description'] = ProductData.Description ResponseProduct['Dosage'] = ProductData.Dosage ResponseProduct['Category'] = ProductData.Category ResponseProduct['Ingredients'] = ProductData.Ingredients ResponseProduct['Price'] = ProductData.Price ResponseProduct['ProductLife'] = ProductData.ProductLife ResponseProduct['Quantity'] = ProductData.Quantity ResponseProduct[ 'PrescriptionRequired'] = ProductData.PrescriptionRequired Stock = [] for j in range(0, len(ProductData.StockedIn)): Stock.append(ProductData.StockedIn[j]) ResponseProduct['StockedIn'] = Stock self.response.write(json.dumps(ResponseProduct)) # Below is code to add products to cart. elif (FunctionOption == "AddToCart" and DBConnect != None): ProductID = JD["ProductID"] ProductDBStatus = ndb.Key("ProductsDB", ProductID).get() CartDBStatus = ndb.Key("CartDB", userEmail).get() if (CartDBStatus != None): if (ProductID not in CartDBStatus.ProductID): CartDBStatus.ProductID.append(ProductID) CartDBStatus.Quantity.append(0) CartDBStatus.PharmacyID.append("None") if (ProductDBStatus.PrescriptionRequired == 1 and CartDBStatus.PrescriptionRequired != 1): CartDBStatus.PrescriptionRequired = 1 else: CartDBStatus = CartDB(id=userEmail) CartDBStatus.userEmail = userEmail CartDBStatus.OrderType = "None" CartDBStatus.ProductID.append(ProductID) CartDBStatus.Quantity.append(0) CartDBStatus.PharmacyID.append("None") if (ProductDBStatus.PrescriptionRequired == 1): CartDBStatus.PrescriptionRequired = 1 else: CartDBStatus.PrescriptionRequired = 0 CartDBStatus.put() ResponseData['userEmail'] = userEmail ResponseData['notification'] = "ProductSuccessfullyAdded" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "AddToCart" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code to remove products from cart. elif (FunctionOption == "RemoveFromCart" and DBConnect != None): ProductID = JD["ProductID"] ProductData = ndb.Key("ProductsDB", ProductID).get() CartData = ndb.Key("CartDB", userEmail).get() if (CartData != None): if (len(CartData.ProductID) > 1): for i in range(0, len(CartData.ProductID)): if (CartData.ProductID[i] == ProductID): if (ProductData.PrescriptionRequired == 1): CartData.PrescriptionRequired = 0 del CartData.PrescriptionImage del CartData.ProductID[i] del CartData.Quantity[i] del CartData.PharmacyID[i] CartData.put() break for i in range(0, len(CartData.ProductID)): PD = ndb.Key("ProductsDB", CartData.ProductID[i]).get() if (PD.PrescriptionRequired == 1): CartData.PrescriptionRequired = 1 CartData.put() else: CartData.key.delete() ResponseData['notification'] = "ProductSuccessfullyRemoved" else: ResponseData['notification'] = "FailedToRemoveProduct" ResponseData['userEmail'] = userEmail self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "RemoveFromCart" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for Fetching user profile data. elif (FunctionOption == "FetchProfileData" and DBConnect != None): ResponseData['userEmail'] = DBConnect.user_Email ResponseData['notification'] = "ProfileDataFound" ResponseData['FirstName'] = DBConnect.user_FirstName ResponseData['LastName'] = DBConnect.user_LastName ResponseData['Contact'] = DBConnect.user_Contact ResponseData['Address'] = DBConnect.user_Address ResponseData['Gender'] = DBConnect.user_Gender ResponseData['DOB'] = DBConnect.user_DOB ResponseData['EmailVerified'] = DBConnect.EmailVerified self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "FetchProfileData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for updating user profile data. elif (FunctionOption == "UpdateProfileData" and DBConnect != None): API_Key = "AIzaSyDvLc7SvzpX6KP6HCfn033xNKaM8UH3e2w" params = {"address": JD["Address"], "key": API_Key} GoogleAPI = "https://maps.googleapis.com/maps/api/geocode/json" url_params = urlencode(params) url = GoogleAPI + "?" + url_params result = urlfetch.fetch(url=url, method=urlfetch.POST, headers=params) DBConnect.user_FirstName = JD["FirstName"] DBConnect.user_LastName = JD["LastName"] DBConnect.user_Contact = JD["Contact"] DBConnect.user_Address = JD["Address"] DBConnect.Latitude = json.loads( result.content)['results'][0]['geometry']['location']['lat'] DBConnect.Longitude = json.loads( result.content)['results'][0]['geometry']['location']['lng'] DBConnect.put() SendEmail( DBConnect.user_Email, "Congratulations! Your MediCare account details are updated successfully", """ Dear """ + DBConnect.user_FirstName + """, This is an automated email confirmation sent to you in regards of successful updation of your MediCare account. Thanks & regards, MediCare Team. """) ResponseData['userEmail'] = DBConnect.user_Email ResponseData['notification'] = "ProfileSuccessfullyUpdated" ResponseData['FirstName'] = DBConnect.user_FirstName ResponseData['LastName'] = DBConnect.user_LastName ResponseData['Contact'] = DBConnect.user_Contact ResponseData['Address'] = DBConnect.user_Address ResponseData['Gender'] = DBConnect.user_Gender ResponseData['DOB'] = DBConnect.user_DOB ResponseData['EmailVerified'] = DBConnect.EmailVerified self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "UpdateProfileData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for searching product and returning product id if keyword matches. elif (FunctionOption == "SearchProduct"): ProductIDs = [] SearchKeyword = JD["SearchKeyword"] if (SearchKeyword != ""): AllProducts = ProductsDB.query().fetch() if (AllProducts != None): for i in range(0, len(AllProducts)): ProdName = AllProducts[i].ProductName.lower() ProdDescription = AllProducts[i].Description.lower() ProdIngredients = AllProducts[i].Ingredients.lower() if (ProdName.find(SearchKeyword.lower()) != -1): ProductIDs.append(AllProducts[i].ProductID) elif (ProdDescription.find(SearchKeyword.lower()) != -1): ProductIDs.append(AllProducts[i].ProductID) elif (ProdIngredients.find(SearchKeyword.lower()) != -1): ProductIDs.append(AllProducts[i].ProductID) ResponseData['ProductID'] = ProductIDs self.response.write(json.dumps(ResponseData)) # Below is code for fetching MyOrdersData for logged in user in android device. elif (FunctionOption == "MyOrdersData" and DBConnect != None): OrderID = [] OrderType = [] OrderStatus = [] OrderTotal = [] ActiveOrderDetails = [] CompletedOrderDetails = [] OrderDetails = OrdersDB.query( OrdersDB.userEmail == userEmail, OrdersDB.OrderStatus == "Active").fetch() UON1 = [] UON2 = [] if (OrderDetails != []): for i in range(0, len(OrderDetails)): if (OrderDetails[i].OrderID not in UON1): UON1.append(OrderDetails[i].OrderID) for i in range(0, len(UON1)): OrderDetails = OrdersDB.query( OrdersDB.userEmail == userEmail, OrdersDB.OrderStatus == "Active", OrdersDB.OrderID == UON1[i]).fetch() ActiveOrderDetails.append(OrderDetails[0]) OrderID.append(ActiveOrderDetails[i].OrderID) OrderType.append(ActiveOrderDetails[i].OrderType) OrderTotal.append(ActiveOrderDetails[i].GrandTotal) if (len(OrderDetails) > 1): for j in range(1, len(OrderDetails)): if (ActiveOrderDetails[i].OrderSubStatus != "Reviewing" and OrderDetails[j].OrderSubStatus == "Reviewing"): ActiveOrderDetails[ i].OrderSubStatus = OrderDetails[ j].OrderSubStatus OrderStatus.append(ActiveOrderDetails[i].OrderSubStatus) OrderDetails = OrdersDB.query( OrdersDB.userEmail == userEmail, OrdersDB.OrderStatus == "Completed").fetch() if (OrderDetails != []): for i in range(0, len(OrderDetails)): if (OrderDetails[i].OrderID not in UON1 and OrderDetails[i].OrderID not in UON2): UON2.append(OrderDetails[i].OrderID) for i in range(0, len(UON2)): OrderDetails = OrdersDB.query( OrdersDB.userEmail == userEmail, OrdersDB.OrderID == UON2[i]).fetch() OrderID.append(OrderDetails[0].OrderID) OrderType.append(OrderDetails[0].OrderType) OrderTotal.append(OrderDetails[0].GrandTotal) if (len(OrderDetails) > 1): OS = OrderDetails[0].OrderStatus OSS = OrderDetails[0].OrderSubStatus for j in range(1, len(OrderDetails)): if (OS != OrderDetails[j].OrderStatus): OS = OrderDetails[j] if (OSS != OrderDetails[j].OrderSubStatus and OSS != "OrderComplete"): OSS = OrderDetails[j].OrderSubStatus if (OS == "Completed"): CompletedOrderDetails.append(OrderDetails[0]) if (OSS != CompletedOrderDetails[ len(CompletedOrderDetails) - 1].OrderSubStatus): OrderDetails[0].OrderSubStatus = OSS else: if (OrderDetails[0].OrderStatus == "Completed"): CompletedOrderDetails.append(OrderDetails[0]) OrderStatus.append(OrderDetails[0].OrderSubStatus) ResponseData['OrderID'] = OrderID ResponseData['OrderType'] = OrderType ResponseData['OrderStatus'] = OrderStatus ResponseData['OrderTotal'] = OrderTotal self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "MyOrdersData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for fetching OrdersData for selected OrderID of logged in user in android device. elif (FunctionOption == "OrderIDData" and DBConnect != None): OrderID = JD["OrderID"] ProductID = [] PharmacyID = [] ProductStatus = [] ServiceCharge = 0.0 DeliveryCharge = 0.0 ReUploadPrescription = 0 PaymentRequired = 0 SubTotalPrice = 0.0 OrderData = OrdersDB.query(OrdersDB.OrderID == OrderID).fetch() if (OrderData != []): OrderDetails = OrderData[0] DeliveryCharge = DeliveryCharge + OrderData[0].DeliveryCharge for i in range(0, len(OrderDetails.ProductID)): PharmacyID.append( OrderData[0].PharmacyID ) # I have got pharmacy id for each product id. ProductStatus.append( OrderData[0].OrderSubStatus ) # I have got individual product status from here. SubTotalPrice = SubTotalPrice + (OrderDetails.Quantity[i] * OrderDetails.Price[i]) if (OrderData[0].OrderSubStatus == "ReUploadPrescription"): ReUploadPrescription = 1 PaymentRequired = 0 elif (OrderData[0].OrderSubStatus == "PaymentRequired"): ReUploadPrescription = 0 PaymentRequired = 1 elif (OrderData[0].OrderSubStatus == "CancelledByVendor" and len(OrderData) > 1): ReUploadPrescription = 0 PaymentRequired = 1 else: ReUploadPrescription = 0 PaymentRequired = 0 if (len(OrderData) > 1): for i in range(1, len(OrderData)): DeliveryCharge = DeliveryCharge + OrderData[ i].DeliveryCharge if (OrderData[i].OrderSubStatus != "CancelledByVendor" and OrderData[i].OrderSubStatus != "CancelledByCustomer" and OrderDetails.ServiceCharge == 0.0): if (OrderData[i].OrderType != "Collection"): OrderDetails.ServiceCharge = 1.0 OrderDetails.OrderTotal = OrderDetails.OrderTotal + OrderData[ i].OrderTotal elif (OrderData[i].OrderSubStatus != "CancelledByVendor" and OrderData[i].OrderSubStatus != "CancelledByCustomer" and OrderDetails.ServiceCharge != 0.0): OrderDetails.OrderTotal = OrderDetails.OrderTotal + OrderData[ i].OrderTotal - OrderData[i].ServiceCharge OrderDetails.DeliveryCharge = OrderDetails.DeliveryCharge + OrderData[ i].DeliveryCharge if (OrderDetails.PrescriptionRequired == 0): OrderDetails.PrescriptionRequired = OrderData[ i].PrescriptionRequired if (OrderDetails.PrescriptionRequired == 1): OrderDetails.PrescriptionImage = OrderData[ i].PrescriptionImage for j in range(0, len(OrderData[i].ProductID)): PharmacyID.append(OrderData[i].PharmacyID) OrderDetails.ProductID.append( OrderData[i].ProductID[j]) OrderDetails.Quantity.append( OrderData[i].Quantity[j]) OrderDetails.Price.append(OrderData[i].Price[j]) SubTotalPrice = SubTotalPrice + ( OrderData[i].Quantity[j] * OrderData[i].Price[j]) ProductStatus.append(OrderData[i].OrderSubStatus) if (OrderData[i].OrderSubStatus == "ReUploadPrescription"): ReUploadPrescription = 1 PaymentRequired = 0 elif (OrderData[i].OrderSubStatus == "CancelledByVendor" and PaymentRequired == 1): ReUploadPrescription = 0 PaymentRequired = 1 elif (OrderData[i].OrderSubStatus == "PaymentRequired" and PaymentRequired == 1): ReUploadPrescription = 0 PaymentRequired = 1 else: PaymentRequired = 0 ProductID = OrderDetails.ProductID ServiceCharge = OrderDetails.ServiceCharge ResponseData['OrderID'] = OrderID ResponseData['notification'] = "DataFound" ResponseData['OrderType'] = OrderDetails.OrderType ResponseData['ProductID'] = ProductID ResponseData['Quantity'] = OrderDetails.Quantity ResponseData['Price'] = OrderDetails.Price ResponseData['PharmacyID'] = PharmacyID ResponseData['ProductStatus'] = ProductStatus ResponseData['ServiceCharge'] = ServiceCharge ResponseData['DeliveryCharge'] = DeliveryCharge ResponseData[ 'PrescriptionRequired'] = OrderDetails.PrescriptionRequired ResponseData[ 'PrescriptionImage'] = OrderDetails.PrescriptionImage ResponseData['ReUploadPrescription'] = ReUploadPrescription ResponseData['PaymentRequired'] = PaymentRequired ResponseData['SubTotalPrice'] = SubTotalPrice else: ResponseData['OrderID'] = OrderID ResponseData['notification'] = "NoData" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "OrderIDData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for fetching data for given pharmacy id. elif (FunctionOption == "PharmacyData" and DBConnect != None): PharmacyID = JD["PharmacyID"] PharmacyData = ndb.Key("PharmacyDB", PharmacyID).get() ResponseData['PharmacyID'] = PharmacyData.PharmacyID ResponseData['PharmacyName'] = PharmacyData.PharmacyName ResponseData['OfficialEmailId'] = PharmacyData.OfficialEmailId ResponseData['OfficialContact'] = PharmacyData.OfficialContact ResponseData['PhysicalAddress'] = PharmacyData.PhysicalAddress ResponseData['Latitude'] = PharmacyData.Latitude ResponseData['Longitude'] = PharmacyData.Longitude self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "PharmacyData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # Below is code for fetching Cart data for logged in user in android device. elif (FunctionOption == "FetchCartData" and DBConnect != None): CartData = ndb.Key("CartDB", userEmail).get() if (CartData != None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "ProductsInCart" ResponseData['ProductID'] = CartData.ProductID ResponseData[ 'PrescriptionRequired'] = CartData.PrescriptionRequired self.response.write(json.dumps(ResponseData)) else: ResponseData['userEmail'] = userEmail ResponseData['notification'] = "NoProductsInCart" self.response.write(json.dumps(ResponseData)) elif (FunctionOption == "FetchCartData" and DBConnect == None): ResponseData['userEmail'] = userEmail ResponseData['notification'] = "UserNotRegistered" self.response.write(json.dumps(ResponseData)) # In case no function satisfy conditions, below will be returned. else: ResponseData['userEmail'] = userEmail ResponseData['notification'] = "FunctionNotRecognized" self.response.write(json.dumps(ResponseData))