def populateSellerDetailsParameters(request, parameters = {}, version = "0"): defaultValue = 1 if version == "1": defaultValue = 0 sellerDetails = request.GET.get("seller_details", None) if validate_bool(sellerDetails): parameters["seller_details"] = int(sellerDetails) else: parameters["seller_details"] = defaultValue sellerDetailsDetails = request.GET.get("seller_details_details", None) if validate_bool(sellerDetailsDetails): parameters["seller_details_details"] = int(sellerDetailsDetails) else: parameters["seller_details_details"] = defaultValue sellerAddressDetails = request.GET.get("seller_address_details", None) if validate_bool(sellerAddressDetails): parameters["seller_address_details"] = int(sellerAddressDetails) else: parameters["seller_address_details"] = defaultValue sellerBankDetails = request.GET.get("seller_bank_details", None) if validate_bool(sellerBankDetails): parameters["seller_bank_details"] = int(sellerBankDetails) else: parameters["seller_bank_details"] = defaultValue return parameters
def populateLogisticsParameters(request, parameters={}, version="0"): parameters = getPaginationParameters(request, parameters, 10, version) parameters = populateAllUserIDParameters(request, parameters, version) pincodeCode = request.GET.get("pincode_code", "") if pincodeCode != "" and pincodeCode != None: parameters["pincodesCodesArr"] = getArrFromString(pincodeCode) pincodeID = request.GET.get("pincodeID", "") if pincodeID != "" and pincodeID != None: parameters["pincodesArr"] = getArrFromString(pincodeID) logisticsPartnerID = request.GET.get("logisticspartnerID", "") if logisticsPartnerID != "" and logisticsPartnerID != None: parameters["logisticsPartnersArr"] = getArrFromString( logisticsPartnerID) regularDeliveryAvailable = request.GET.get("regular_delivery_available", "") if validate_bool(regularDeliveryAvailable): parameters["regular_delivery_available"] = int( regularDeliveryAvailable) regularPickupAvailable = request.GET.get("regular_pickup_available", "") if validate_bool(regularPickupAvailable): parameters["regular_pickup_available"] = int(regularPickupAvailable) codAvailable = request.GET.get("cod_available", "") if validate_bool(codAvailable): parameters["cod_available"] = int(codAvailable) return parameters
def getArticleParameters(request, parameters={}, version="0"): defaultValue = 0 articleID = request.GET.get("articleID", "") if articleID != "" and articleID != None: parameters["articlesArr"] = getArrFromString(articleID) showOnline = request.GET.get("show_online", None) if validate_bool(showOnline): parameters["show_online"] = int(showOnline) articleDetails = request.GET.get("article_details", None) if validate_bool(articleDetails): parameters["article_details"] = int(articleDetails) else: parameters["article_details"] = defaultValue internalUserDetails = request.GET.get("internal_user_details", None) if validate_bool(internalUserDetails): parameters["internal_user_details"] = int(internalUserDetails) else: parameters["internal_user_details"] = defaultValue parameters = populateInternalUserIDParameters(request, parameters) parameters = getPaginationParameters(request, parameters) return parameters
def validateProductData(product, oldproduct, is_new): flag = 0 if not "name" in product or product["name"] == None: flag = 1 product["name"] = oldproduct.name if not "price_per_unit" in product or not validate_number( product["price_per_unit"]): flag = 1 product["price_per_unit"] = oldproduct.price_per_unit if not "unit" in product or product["unit"] == None: product["unit"] = oldproduct.unit if not "tax" in product or not validate_number(product["tax"]): product["tax"] = oldproduct.tax if not "min_price_per_unit" in product or not validate_number( product["min_price_per_unit"]): product["min_price_per_unit"] = oldproduct.min_price_per_unit if not "lot_size" in product or not validate_integer(product["lot_size"]): flag = 1 product["lot_size"] = oldproduct.lot_size if not "price_per_lot" in product or not validate_number( product["price_per_lot"]): flag = 1 product["price_per_lot"] = oldproduct.price_per_lot if not "verification" in product or not validate_bool( product["verification"]): product["verification"] = oldproduct.verification if not "show_online" in product or not validate_bool( product["show_online"]): product["show_online"] = oldproduct.show_online if not "slug" in product or product["slug"] == None: product["slug"] = oldproduct.slug if not "display_name" in product or product["display_name"] == None: product["display_name"] = oldproduct.display_name if not "is_catalog" in product or not validate_bool(product["is_catalog"]): product["is_catalog"] = oldproduct.is_catalog if not "delete_status" in product or not validate_bool( product["delete_status"]): product["delete_status"] = oldproduct.delete_status if not float(product["min_price_per_unit"]) > 0 or not float( product["price_per_lot"]) > 0 or not float( product["price_per_unit"]) > 0: return False if not float(product["price_per_unit"]) >= float( product["min_price_per_unit"]) or not float( product["price_per_lot"]) >= float(product["price_per_unit"]): return False if is_new == 1 and flag == 1: return False return True
def populateProductFilterParameters(request, parameters={}, version="0"): productID = request.GET.get("productID", "") if productID != "" and productID != None: parameters["productsArr"] = getArrFromString(productID) categoryID = request.GET.get("categoryID", "") if categoryID != "" and categoryID != None: parameters["categoriesArr"] = getArrFromString(categoryID) fabric = request.GET.get("fabric", "") if fabric != "" and fabric != None: parameters["fabricArr"] = getStrArrFromString(fabric) colour = request.GET.get("colour", "") if colour != "" and colour != None: parameters["colourArr"] = getStrArrFromString(colour) sizes = request.GET.get("sizes", "") if sizes != "" and sizes != None: parameters["sizesArr"] = getStrArrFromString(sizes) productShowOnline = request.GET.get("product_show_online", "") if productShowOnline != "" and validate_bool(productShowOnline): parameters["product_show_online"] = int(productShowOnline) productVerification = request.GET.get("product_verification", "") if productVerification != "" and validate_bool(productVerification): parameters["product_verification"] = int(productVerification) min_price_per_unit = request.GET.get("min_price_per_unit", "") max_price_per_unit = request.GET.get("max_price_per_unit", "") if validate_number(min_price_per_unit) and validate_number( max_price_per_unit) and float(min_price_per_unit) >= 0 and float( max_price_per_unit) > float(min_price_per_unit): parameters["price_filter_applied"] = True parameters["min_price_per_unit"] = float(min_price_per_unit) parameters["max_price_per_unit"] = float(max_price_per_unit) productOrderBy = request.GET.get("product_order_by", "") if productOrderBy != "" and productOrderBy != None: parameters["product_order_by"] = productOrderBy productUpdatedAt = request.GET.get("product_updated_at", "") if productUpdatedAt != "" and productUpdatedAt != None: parameters["product_updated_at"] = productUpdatedAt return parameters
def validateArticleData(article, old_article, is_new): flag = 0 if not "title" in article or article["title"] == None: flag = 1 article["title"] = old_article.title if not "content" in article or article["content"] == None: flag = 1 article["content"] = old_article.content if not "show_online" in article or not validate_bool( article["show_online"]): article["show_online"] = old_article.show_online if not "linkedin_pulse_link" in article or article[ "linkedin_pulse_link"] == None: article["linkedin_pulse_link"] = old_article.linkedin_pulse_link if not "medium_link" in article or article["medium_link"] == None: article["medium_link"] = old_article.medium_link if not "tumblr_link" in article or article["tumblr_link"] == None: article["tumblr_link"] = old_article.tumblr_link if not "quora_link" in article or article["quora_link"] == None: article["quora_link"] = old_article.quora_link if not "blogspot_link" in article or article["blogspot_link"] == None: article["blogspot_link"] = old_article.blogspot_link if is_new == 1 and flag == 1: return False return True
def validateBuyerInterestData(buyer_interest, old_buyer_interest, is_new): flag = 0 if not "scale" in buyer_interest or not validate_buyer_interest_scale(buyer_interest["scale"]): buyer_interest["scale"] = old_buyer_interest.scale if not "min_price_per_unit" in buyer_interest or not validate_number(buyer_interest["min_price_per_unit"]) or not float(buyer_interest["min_price_per_unit"]) >= 0: buyer_interest["min_price_per_unit"] = old_buyer_interest.min_price_per_unit if not "max_price_per_unit" in buyer_interest or not validate_number(buyer_interest["max_price_per_unit"]) or not float(buyer_interest["max_price_per_unit"]) >= 0: buyer_interest["max_price_per_unit"] = old_buyer_interest.max_price_per_unit if not "fabric_filter_text" in buyer_interest or buyer_interest["fabric_filter_text"]==None: buyer_interest["fabric_filter_text"] = old_buyer_interest.fabric_filter_text if not "productid_filter_text" in buyer_interest or buyer_interest["productid_filter_text"]==None: buyer_interest["productid_filter_text"] = old_buyer_interest.productid_filter_text if not "is_active" in buyer_interest or not validate_bool(buyer_interest["is_active"]): buyer_interest["is_active"] = old_buyer_interest.is_active if float(buyer_interest["max_price_per_unit"]) > float(buyer_interest["min_price_per_unit"]): buyer_interest["price_filter_applied"] = True else: buyer_interest["price_filter_applied"] = False buyer_interest["min_price_per_unit"] = 0.0 buyer_interest["max_price_per_unit"] = 0.0 if is_new == 1 and flag == 1: return False return True
def populateSellerIDParameters(request, parameters={}, version="0"): accessToken = getAccessToken(request) sellerID = request.GET.get("sellerID", "") tokenPayload = get_token_payload(accessToken, "sellerID") parameters["isSeller"] = 0 if "sellerID" in tokenPayload and validate_integer( tokenPayload["sellerID"]) and "password" in tokenPayload: try: sellerPtr = Seller.objects.get(id=int(tokenPayload["sellerID"]), password=tokenPayload["password"], delete_status=False) except: pass else: parameters["sellersArr"] = [sellerPtr.id] parameters["isSeller"] = 1 elif sellerID != "": parameters["sellersArr"] = getArrFromString(sellerID) sellerShowOnline = request.GET.get("seller_show_online", "") if sellerShowOnline != "" and validate_bool(sellerShowOnline): parameters["seller_show_online"] = int(sellerShowOnline) return parameters
def populateBusinessTypeParameters(request, parameters = {}, version = "0"): parameters = populateAllUserIDParameters(request, parameters, version) canBuyerBuyFrom = request.GET.get("can_buyer_buy_from", None) if validate_bool(canBuyerBuyFrom): parameters["can_buyer_buy_from"] = int(canBuyerBuyFrom) canBeBuyer = request.GET.get("can_be_buyer", None) if validate_bool(canBeBuyer): parameters["can_be_buyer"] = int(canBeBuyer) canBeSeller = request.GET.get("can_be_seller", None) if validate_bool(canBeSeller): parameters["can_be_seller"] = int(canBeSeller) return parameters
def validateSellerData(seller, oldseller, isnew): flag = 0 if not "name" in seller or seller["name"] == None: flag = 1 seller["name"] = oldseller.name if not "company_name" in seller or seller["company_name"] == None: seller["company_name"] = oldseller.company_name if not "mobile_number" in seller or seller[ "mobile_number"] == None or not validate_mobile_number( str(seller["mobile_number"])): flag = 1 seller["mobile_number"] = oldseller.mobile_number if not "email" in seller or seller["email"] == None or not validate_email( seller["email"]): seller["email"] = oldseller.email if not "password" in seller or seller["password"] == None: seller["password"] = oldseller.password if not "alternate_phone_number" in seller or seller[ "alternate_phone_number"] == None: seller["alternate_phone_number"] = oldseller.alternate_phone_number if not "mobile_verification" in seller or not validate_bool( seller["mobile_verification"]): seller["mobile_verification"] = oldseller.mobile_verification if not "email_verification" in seller or not validate_bool( seller["email_verification"]): seller["email_verification"] = oldseller.email_verification if not "company_profile" in seller or seller["company_profile"] == None: seller["company_profile"] = oldseller.company_profile if not "seller_conditions" in seller or seller["seller_conditions"] == None: seller["seller_conditions"] = oldseller.seller_conditions if not "show_online" in seller or not validate_bool(seller["show_online"]): seller["show_online"] = oldseller.show_online else: seller["show_online_changed"] = True if not "concerned_person" in seller or seller["concerned_person"] == None: seller["concerned_person"] = oldseller.concerned_person if not "concerned_person_number" in seller or seller[ "concerned_person_number"] == None: seller["concerned_person_number"] = oldseller.concerned_person_number if isnew == 1 and flag == 1: return False return True
def populateBuyerDetailsParameters(request, parameters={}, version="0"): defaultValue = 1 if version == "1": defaultValue = 0 buyerDetails = request.GET.get("buyer_details", None) if validate_bool(buyerDetails): parameters["buyer_details"] = int(buyerDetails) else: parameters["buyer_details"] = defaultValue buyerDetailsDetails = request.GET.get("buyer_details_details", None) if validate_bool(buyerDetailsDetails): parameters["buyer_details_details"] = int(buyerDetailsDetails) else: parameters["buyer_details_details"] = defaultValue buyerAddressDetails = request.GET.get("buyer_address_details", None) if validate_bool(buyerAddressDetails): parameters["buyer_address_details"] = int(buyerAddressDetails) else: parameters["buyer_address_details"] = defaultValue buyerInterestDetails = request.GET.get("buyer_interest_details", None) if validate_bool(buyerInterestDetails): parameters["buyer_interest_details"] = int(buyerInterestDetails) else: parameters["buyer_interest_details"] = defaultValue buyerPurchasingStateDetails = request.GET.get( "buyer_purchasing_state_details", None) if validate_bool(buyerPurchasingStateDetails): parameters["buyer_purchasing_state_details"] = int( buyerPurchasingStateDetails) else: parameters["buyer_purchasing_state_details"] = 0 buyerBuysFromDetails = request.GET.get("buyer_buys_from_details", None) if validate_bool(buyerBuysFromDetails): parameters["buyer_buys_from_details"] = int(buyerBuysFromDetails) else: parameters["buyer_buys_from_details"] = 0 buyerProductDetails = request.GET.get("buyer_product_details", None) buyerProductCount = request.GET.get("buyer_product_count", None) if validate_bool(buyerProductDetails): parameters["buyer_product_details"] = int(buyerProductDetails) parameters["product_image_details"] = 1 try: parameters["buyer_product_count"] = int(buyerProductCount) except Exception as e: parameters["buyer_product_count"] = 10 else: parameters["buyer_product_details"] = 0 return parameters
def validateSellerDetailsData(sellerdetails, oldsellerdetails): if not "vat_tin" in sellerdetails or sellerdetails["vat_tin"] == None: sellerdetails["vat_tin"] = oldsellerdetails.vat_tin if not "cst" in sellerdetails or sellerdetails["cst"] == None: sellerdetails["cst"] = oldsellerdetails.cst if not "pan" in sellerdetails or sellerdetails["pan"] == None: sellerdetails["pan"] = oldsellerdetails.pan if not "name_on_pan" in sellerdetails or sellerdetails[ "name_on_pan"] == None: sellerdetails["name_on_pan"] = oldsellerdetails.name_on_pan if not "dob_on_pan" in sellerdetails or sellerdetails[ "dob_on_pan"] == None or not validate_date( sellerdetails["dob_on_pan"]): sellerdetails["dob_on_pan"] = oldsellerdetails.dob_on_pan if not "pan_verification" in sellerdetails or not validate_bool( sellerdetails["pan_verification"]): sellerdetails["pan_verification"] = oldsellerdetails.pan_verification if not "tin_verification" in sellerdetails or not validate_bool( sellerdetails["tin_verification"]): sellerdetails["tin_verification"] = oldsellerdetails.tin_verification
def validateOrderShipmentData(orderShipment): flag = True if not "invoice_number" in orderShipment or orderShipment[ "invoice_number"] == None: orderShipment["invoice_number"] = "" if not "invoice_date" in orderShipment or orderShipment[ "invoice_date"] == None or not validate_date( orderShipment["invoice_date"]): return False if not "waybill_number" in orderShipment or orderShipment[ "waybill_number"] == None: orderShipment["waybill_number"] = "" if not "packaged_weight" in orderShipment or not validate_number( orderShipment["packaged_weight"]): return False if not "packaged_length" in orderShipment or not validate_number( orderShipment["packaged_length"]): return False if not "packaged_breadth" in orderShipment or not validate_number( orderShipment["packaged_breadth"]): return False if not "packaged_height" in orderShipment or not validate_number( orderShipment["packaged_height"]): return False if not "cod_charge" in orderShipment or not validate_number( orderShipment["cod_charge"]): return False if not "shipping_charge" in orderShipment or not validate_number( orderShipment["shipping_charge"]): return False if not "remarks" in orderShipment or orderShipment["remarks"] == None: orderShipment["remarks"] = "" if not "rto_remarks" in orderShipment or orderShipment[ "rto_remarks"] == None: orderShipment["rto_remarks"] = "" if not "tracking_url" in orderShipment or orderShipment[ "tracking_url"] == None: orderShipment["tracking_url"] = "" if not "all_items" in orderShipment or not validate_bool( orderShipment["all_items"]): return False if not "logistics_partner" in orderShipment or orderShipment[ "logistics_partner"] == None: return False else: try: logistics_partner = LogisticsPartner.objects.get( name=orderShipment["logistics_partner"]) except Exception as e: return False return flag
def populateProductDetailsParameters(request, parameters={}, version="0"): defaultValue = 1 if version == "1": defaultValue = 0 productDetails = request.GET.get("product_details", None) if validate_bool(productDetails): parameters["product_details"] = int(productDetails) else: parameters["product_details"] = defaultValue productDetailsDetails = request.GET.get("product_details_details", None) if validate_bool(productDetailsDetails): parameters["product_details_details"] = int(productDetailsDetails) else: parameters["product_details_details"] = defaultValue productLotDetails = request.GET.get("product_lot_details", None) if validate_bool(productLotDetails): parameters["product_lot_details"] = int(productLotDetails) else: parameters["product_lot_details"] = defaultValue productImageDetails = request.GET.get("product_image_details", None) if validate_bool(productImageDetails): parameters["product_image_details"] = int(productImageDetails) else: parameters["product_image_details"] = defaultValue categoryDetails = request.GET.get("category_details", None) if validate_bool(categoryDetails): parameters["category_details"] = int(categoryDetails) else: parameters["category_details"] = defaultValue parameters = populateSellerDetailsParameters(request, parameters, version) return parameters
def populateCartParameters(request, parameters = {}, version = "0"): defaultValue = 1 if version == "1": defaultValue = 0 parameters = populateAllUserIDParameters(request, parameters, version) productID = request.GET.get("productID", "") if productID != "" and productID != None: parameters["productsArr"] = getArrFromString(productID) cartItemID = request.GET.get("cartitemID", "") if cartItemID != "" and cartItemID != None: parameters["cartItemsArr"] = getArrFromString(cartItemID) cartItemStatus = request.GET.get("cart_item_status", "") if cartItemStatus != "": parameters["cartItemStatusArr"] = getArrFromString(cartItemStatus) parameters = populateBuyerDetailsParameters(request, parameters, version) parameters = populateSellerDetailsParameters(request, parameters, version) parameters = populateProductDetailsParameters(request, parameters, version) parameters = getPaginationParameters(request, parameters, 10, version) cartItemDetails = request.GET.get("cart_item_details", None) if validate_bool(cartItemDetails): parameters["cart_item_details"] = int(cartItemDetails) else: parameters["cart_item_details"] = defaultValue subCartDetails = request.GET.get("sub_cart_details", None) if validate_bool(subCartDetails): parameters["sub_cart_details"] = int(subCartDetails) else: parameters["sub_cart_details"] = defaultValue return parameters
def populateBuyerParameters(request, parameters = {}, version = "0"): parameters = populateBuyerIDParameters(request, parameters, version) parameters = populateInternalUserIDParameters(request, parameters, version) buyerInterestID = request.GET.get("buyerinterestID", "") whatsappSharingActive = request.GET.get("whatsapp_sharing_active", None) if validate_bool(whatsappSharingActive): parameters["whatsapp_sharing_active"] = int(whatsappSharingActive) testBuyer = request.GET.get("test_buyer", None) if validate_bool(testBuyer): parameters["test_buyer"] = int(testBuyer) if buyerInterestID != "": parameters["buyerInterestArr"] = getArrFromString(buyerInterestID) buyersharedproductID = request.GET.get("buyersharedproductID", "") if buyersharedproductID != "" and validate_integer(buyersharedproductID): parameters["buyersharedproductID"] = int(buyersharedproductID) buyerMinID = request.GET.get("buyer_min_ID", "") if buyerMinID != "" and validate_integer(buyerMinID): parameters["buyer_min_ID"] = int(buyerMinID) buyerMaxID = request.GET.get("buyer_max_ID", "") if buyerMaxID != "" and validate_integer(buyerMaxID): parameters["buyer_max_ID"] = int(buyerMaxID) buyerPurchasingStateID = request.GET.get("buyerpurchasingstateID", "") if buyerPurchasingStateID != "": parameters["buyerPurchasingStateArr"] = getArrFromString(buyerPurchasingStateID) parameters = populateBuyerDetailsParameters(request, parameters, version) return parameters
def populateCategorytDetailsParameters(request, parameters={}, version="0"): defaultValue = 1 if version == "1": defaultValue = 0 sellerCategoryDetails = request.GET.get("seller_category_details", None) if validate_bool(sellerCategoryDetails): parameters["seller_category_details"] = int(sellerCategoryDetails) else: parameters["seller_category_details"] = defaultValue categoryProductDetails = request.GET.get("category_product_details", None) if validate_bool(categoryProductDetails): parameters["category_product_details"] = int(categoryProductDetails) parameters = populateProductDetailsParameters(request, parameters, version) parameters["category_details_details"] = 1 return parameters
def validateBuyerData(buyer, oldbuyer, is_new): flag = 0 if not "name" in buyer or buyer["name"]==None: flag = 1 buyer["name"] = oldbuyer.name if not "company_name" in buyer or buyer["company_name"]==None: buyer["company_name"] = oldbuyer.company_name if not "mobile_number" in buyer or not validate_mobile_number(buyer["mobile_number"]): flag = 1 buyer["mobile_number"] = oldbuyer.mobile_number if not "email" in buyer or buyer["email"]==None or not validate_email(buyer["email"]): buyer["email"] = oldbuyer.email if is_new == 1: buyer["email"] = None if not "alternate_phone_number" in buyer or buyer["alternate_phone_number"]==None: buyer["alternate_phone_number"] = oldbuyer.alternate_phone_number if not "mobile_verification" in buyer or not validate_bool(buyer["mobile_verification"]): buyer["mobile_verification"] = oldbuyer.mobile_verification if not "email_verification" in buyer or not validate_bool(buyer["email_verification"]): buyer["email_verification"] = oldbuyer.email_verification if not "gender" in buyer or buyer["gender"]: buyer["gender"] = oldbuyer.gender if not "whatsapp_number" in buyer or buyer["whatsapp_number"]==None: if oldbuyer.whatsapp_number==None or oldbuyer.whatsapp_number=="": buyer["whatsapp_number"] = buyer["mobile_number"] else: buyer["whatsapp_number"] = oldbuyer.whatsapp_number if not "whatsapp_sharing_active" in buyer or not validate_bool(buyer["whatsapp_sharing_active"]): buyer["whatsapp_sharing_active"] = oldbuyer.whatsapp_sharing_active if not "store_global_margin" in buyer or not validate_percent(buyer["store_global_margin"], False): buyer["store_global_margin"] = oldbuyer.store_global_margin if is_new == 1 and flag == 1: return False return True
def validateBuyerLeadData(buyerlead, oldbuyerlead, is_new): flag = 0 if not "name" in buyerlead or buyerlead["name"] == None: flag = 1 buyerlead["name"] = oldbuyerlead.name if not "mobile_number" in buyerlead or buyerlead["mobile_number"] == None: flag = 1 buyerlead["mobile_number"] = oldbuyerlead.mobile_number if not "email" in buyerlead or buyerlead["email"] == None: buyerlead["email"] = oldbuyerlead.email if not "status" in buyerlead or not validate_bool(buyerlead["status"]): buyerlead["status"] = oldbuyerlead.status if not "signup" in buyerlead or not validate_bool(buyerlead["signup"]): buyerlead["signup"] = oldbuyerlead.signup if not "comments" in buyerlead or buyerlead["comments"] == None: buyerlead["comments"] = oldbuyerlead.comments if is_new == 1 and flag == 1: return False return True
def populateBuyerProductParameters(request, parameters = {}, version = "0"): parameters = populateBuyerParameters(request, parameters, version) isActive = request.GET.get("is_active", None) responded = request.GET.get("responded", None) buyerProductID = request.GET.get("buyerproductID", "") buyerInterestID = request.GET.get("buyerinterestID", "") productID = request.GET.get("productID", "") landing = request.GET.get("landing", "") if validate_bool(isActive): parameters["buyer_product_is_active"] = int(isActive) if validate_bool(landing): parameters["buyer_product_landing"] = int(landing) if validate_integer(responded): parameters["responded"] = int(responded) if buyerProductID != "": parameters["buyerProductsArr"] = getArrFromString(buyerProductID) if buyerInterestID != "": parameters["buyerInterestArr"] = getArrFromString(buyerInterestID) from .catalog_handler import populateProductFilterParameters parameters = populateProductFilterParameters(request, parameters, version) parameters = getPaginationParameters(request, parameters, 10, version) from .catalog_handler import populateProductDetailsParameters parameters = populateProductDetailsParameters(request, parameters, version) return parameters
def populateMarketingContactsParameters(request, parameters={}, version="0"): parameters = populateInternalUserIDParameters(request, parameters, version) parameters = getPaginationParameters(request, parameters, 200) newContacts = request.GET.get("new_contacts", "") if newContacts != "" and validate_bool(newContacts): parameters["new_contacts"] = int(newContacts) else: parameters["new_contacts"] = 1 marketingContactID = request.GET.get("marketingcontactID", "") if marketingContactID != "" and marketingContactID != None: parameters["marketingContactsArr"] = getArrFromString( marketingContactID) return parameters
def populateCategoryParameters(request, parameters={}, version="0"): version = getApiVersion(request) categoryID = request.GET.get("categoryID", "") if categoryID != "": parameters["categoriesArr"] = getArrFromString(categoryID) categoryShowOnline = request.GET.get("category_show_online", "") if categoryShowOnline != "" and validate_bool(categoryShowOnline): parameters["category_show_online"] = int(categoryShowOnline) parameters = populateAllUserIDParameters(request, parameters, version) parameters = populateCategorytDetailsParameters(request, parameters, version) return parameters
def validateCategoryData(category, oldcategory, is_new): flag = 0 if not "name" in category or category["name"]==None: flag = 1 category["name"] = oldcategory.name if not "display_name" in category or category["display_name"]==None: if not is_new == 1: category["display_name"] = oldcategory.display_name else: category["display_name"] = category["name"] if not "show_online" in category or not validate_bool(category["show_online"]): category["show_online"] = oldcategory.show_online if is_new == 1 and flag == 1: return False return True
def populateOrderDetailsParameters(request, parameters = {}, version = "0"): defaultValue = 1 if version == "1": defaultValue = 0 orderDetails = request.GET.get("order_details", None) if validate_bool(orderDetails): parameters["order_details"] = int(orderDetails) else: parameters["order_details"] = defaultValue subOrderDetails = request.GET.get("sub_order_details", None) if validate_bool(subOrderDetails): parameters["sub_order_details"] = int(subOrderDetails) else: parameters["sub_order_details"] = defaultValue orderShipmentDetails = request.GET.get("order_shipment_details", None) if validate_bool(orderShipmentDetails): parameters["order_shipment_details"] = int(orderShipmentDetails) else: parameters["order_shipment_details"] = defaultValue orderItemDetails = request.GET.get("order_item_details", None) if validate_bool(orderItemDetails): parameters["order_item_details"] = int(orderItemDetails) else: parameters["order_item_details"] = defaultValue buyerPaymentDetails = request.GET.get("buyer_payment_details", None) if validate_bool(buyerPaymentDetails): parameters["buyer_payment_details"] = int(buyerPaymentDetails) else: parameters["buyer_payment_details"] = defaultValue sellerPaymentDetails = request.GET.get("seller_payment_details", None) if validate_bool(sellerPaymentDetails): parameters["seller_payment_details"] = int(sellerPaymentDetails) else: parameters["seller_payment_details"] = defaultValue parameters = populateBuyerDetailsParameters(request, parameters, version) parameters = populateSellerDetailsParameters(request, parameters, version) parameters = populateProductDetailsParameters(request, parameters, version) return parameters
def validateContactUsLeadData(contactUsLead, oldcontactUsLead, is_new): flag = 0 if not "remarks" in contactUsLead or contactUsLead["remarks"] == None: contactUsLead["remarks"] = oldcontactUsLead.remarks if not "mobile_number" in contactUsLead or contactUsLead[ "mobile_number"] == None: contactUsLead["mobile_number"] = oldcontactUsLead.mobile_number if not "email" in contactUsLead or contactUsLead["email"] == None: contactUsLead["email"] = oldcontactUsLead.email if not "status" in contactUsLead or not validate_bool( contactUsLead["status"]): contactUsLead["status"] = oldcontactUsLead.status if not "comments" in contactUsLead or contactUsLead["comments"] == None: contactUsLead["comments"] = oldcontactUsLead.comments if is_new == 1 and flag == 1: return False return True
def validateSellerPaymentData(sellerPayment): if not "payment_method" in sellerPayment or not validate_integer( sellerPayment["payment_method"]): return False if not "reference_number" in sellerPayment or sellerPayment[ "reference_number"] == None: return False if not "details" in sellerPayment or sellerPayment["details"] == None: sellerPayment["details"] = "" if not "payment_time" in sellerPayment or not validate_date_time( sellerPayment["payment_time"]): return False if not "payment_value" in sellerPayment or not validate_number( sellerPayment["payment_value"]): return False if not "fully_paid" in sellerPayment or not validate_bool( sellerPayment["fully_paid"]): return False return True
def validateSellerLeadData(sellerlead, oldsellerlead, is_new): flag = 0 if not "company_name" in sellerlead or sellerlead["company_name"] == None: flag = 1 sellerlead["company_name"] = oldsellerlead.company_name if not "mobile_number" in sellerlead or sellerlead["mobile_number"] == None: flag = 1 sellerlead["mobile_number"] = oldsellerlead.mobile_number if not "email" in sellerlead or sellerlead["email"] == None: sellerlead["email"] = oldsellerlead.email if not "status" in sellerlead or not validate_bool(sellerlead["status"]): sellerlead["status"] = oldsellerlead.status if not "comments" in sellerlead or sellerlead["comments"] == None: sellerlead["comments"] = oldsellerlead.comments if is_new == 1 and flag == 1: return False return True
def validateBuyerStoreUrlData(data): if not "store_url" in data or data["store_url"] == None or len(data["store_url"]) < 6: return False if not "store_active" in data or not validate_bool(data["store_active"]): return False return True
def post_new_buyer_product(request, parameters): try: requestbody = request.body.decode("utf-8") buyer_product = convert_keys_to_string(json.loads(requestbody)) except Exception as e: return customResponse(400, error_code=4) if not len(buyer_product): return customResponse(400, error_code=5, error_details="Invalid data sent in request") buyerParameters = {} buyerParameters["test_buyer"] = False buyerParameters["whatsapp_sharing_active"] = True if "all_buyers" in buyer_product and validate_bool( buyer_product["all_buyers"]) and int( buyer_product["all_buyers"]) == 1: if parameters["isInternalUser"] == 0: return customResponse(403, error_code=8) else: if parameters["isBuyer"] == 1: buyer_product["buyerID"] = parameters["buyersArr"][0] elif not "buyerID" in buyer_product: return customResponse(400, error_code=5, error_details="Id for buyer not sent") buyerParameters["buyersArr"] = getArrFromString( buyer_product["buyerID"]) allBuyersSeries = filterBuyer(buyerParameters).values_list('id', flat=True) if len(allBuyersSeries) == 0: return customResponse(400, error_code=6, error_details="Invalid ids for buyer sent") if not "productID" in buyer_product or buyer_product["productID"] == None: return customResponse(400, error_code=5, error_details="Id for product not sent") productParameters = {} productParameters["product_verification"] = True productParameters["product_show_online"] = True productParameters["productsArr"] = getArrFromString( buyer_product["productID"]) allProductsDF = filterProducts(productParameters).values('id') if len(allProductsDF) == 0: return customResponse(400, error_code=6, error_details="Invalid ids for products sent") allProductsDF = DataFrame(list(allProductsDF)) #buyerProductsPtr = BuyerProducts.objects.filter(buyer_id__in = allBuyersSeries).order_by('buyer_id') buyerProductParameters = {} buyerProductParameters["buyersArr"] = allBuyersSeries #buyerProductParameters["responded"] = 0 allBuyerProductsDF = filterBuyerProducts(buyerProductParameters).values( 'id', 'buyer_id', 'product_id', 'responded') if len(allBuyerProductsDF) == 0: columns = ['id', 'buyer_id', 'product_id', 'responded'] allBuyerProductsDF = DataFrame(columns=columns) else: allBuyerProductsDF = DataFrame(list(allBuyerProductsDF)) buyerProductsToCreate = [] buyerProductsToUpdate = [] buyerSharedProductIDtoCreate = [] for buyer in allBuyersSeries: tempBuyerProductsDF = allBuyerProductsDF[allBuyerProductsDF.buyer_id == buyer] innerFrame = tempBuyerProductsDF[(tempBuyerProductsDF.product_id.isin( allProductsDF.id))] leftOnlyFrame = allProductsDF[( ~allProductsDF.id.isin(innerFrame.product_id))] for product_id in leftOnlyFrame['id'].tolist(): buyerProduct = BuyerProducts(buyer_id=buyer, product_id=product_id, buyer_interest=None) buyerProductsToCreate.append(buyerProduct) buyerProductsToUpdate.extend(innerFrame['id'].tolist()) newBuyerSharedProductID = BuyerSharedProductID( buyer_id=buyer, productid_filter_text=buyer_product["productID"]) buyerSharedProductIDtoCreate.append(newBuyerSharedProductID) try: BuyerSharedProductID.objects.bulk_create(buyerSharedProductIDtoCreate, batch_size=4000) BuyerProducts.objects.bulk_create(buyerProductsToCreate, batch_size=4000) BuyerProducts.objects.filter(id__in=buyerProductsToUpdate).update( is_active=True, delete_status=False, updated_at=timezone.now()) except Exception as e: log.critical(e) closeDBConnection() return customResponse(500, error_code=1) else: closeDBConnection() return customResponse(200, {"buyer_product": "successfully added"})