def dataRemAll(): if 'username' in session: tHistory.delete_many({}) productInfo.objects.delete() notificationUnautItem.objects().delete() itemOutStock.objects().delete() return redirect(url_for('index'))
def editSKUChange(oldSKU): if 'username' in session: x= request.form.get('body') hist = tHistory.find({ "Custom Label": oldSKU}) temp = productInfo.objects(SKU=x) temp.to_json() tHistory.update_many({"Custom Label": oldSKU}, {'$set': {'Custom Label':x,'Item Title':temp[0]['productName'],'Status':''}}) stockOut = 0 for i in (hist): stockOut += int(i['Quantity']) if int(temp[0]['quantity_inStock']) - int(stockOut)<1: temp[0]['quantity_inStock'] =int(temp[0]['quantity_inStock']) - int(stockOut) itemStockUpdate2(x,temp[0]['productName']) else: temp[0]['quantity_inStock'] =int(temp[0]['quantity_inStock']) - int(stockOut) temp[0]['quantity_sold'] = temp[0]['quantity_sold']+stockOut noteExists = notificationUnautItem.objects(SKU=oldSKU).delete() return redirect(url_for('home')) return render_template('login.html')
def dataRemTrans(): if 'username' in session: tHistory.delete_many({}) notificationUnautItem.objects().delete() return redirect(url_for('index'))
def temp(): print((request.form.getlist('productName'))) incompleteVal ='False' multi =False if len(request.form.getlist('productName'))>2: productName =request.form.get('productName','') if productName == "": incompleteVal = 'True' products =request.form.getlist('productName') chineseName = request.form.get('chinese_name','') chinese = request.form.getlist('chinese_name') if chineseName == "": incompleteVal = 'True' SKU =request.form.get('SKU','') SKUS =request.form.getlist('SKU') if SKU == "": incompleteVal = 'True' multi ='True' else: productName =request.form.get('productName') if productName == "": incompleteVal = 'True' chineseName = request.form.get('chinese_name') if chineseName == "": incompleteVal = 'True' SKU =request.form.get('SKU') if SKU == "": incompleteVal = 'True' multi = 'False' colour =request.form.get('Colour','') if colour == "": incompleteVal = 'True' weight =request.form.get('weight','') if weight == "": incompleteVal = 'True' height =request.form.get('Height','') if height == "": incompleteVal = 'True' width =request.form.get('Width','') if width == "": incompleteVal = 'True' lenght =request.form.get('Lenght','') if lenght == "": incompleteVal = 'True' description =request.form.get('item_description','') if description == "": incompleteVal = 'True' material =request.form.get('item_materials','') if material == "": incompleteVal = 'True' quantity_inStock =request.form.get('stock','') if quantity_inStock == '': quantity_inStock = 0 incompleteVal = 'True' currency =request.form.get('currencyType') if currency == "": incompleteVal = 'True' cost_price =request.form.get('cost_price',0.00) if cost_price == 0.00: incompleteVal = 'True' category = request.form.get('category') print(category) if category == "none": print('cat true') incompleteVal = 'True' elif category == 'OtherCat': print('other cat') category = request.form['otherCat'] if categories.objects(category=(request.form['otherCat']).capitalize()).count()>0: pass else: catagoryCreate((request.form['otherCat']).capitalize()) envelope = request.form.get('envelope','none') if envelope == "none": incompleteVal = 'True' elif envelope == "Other": envelope = request.form['envName'] enveCreate(envelope) if 1==1: if productInfo.objects(productName=productName).count()>1: print('asdfasdfsdf') return(redirect(url_for('products'))) else: if productInfo.objects(SKU=SKU) == True: pass else: if currency == 'AUD': AUD = float(cost_price) USD = AUD/1.4 RMB = AUD* 4.77 elif currency == 'USD': AUD = 1.4 * float(cost_price) USD = float(cost_price) RMB = 6.68 * float(cost_price) elif currency == 'RMB': RMB = float(cost_price) USD = RMB/6.68 AUD = .21 * RMB else: AUD = 0.00 USD = 0.00 RMB = 0.00 fileExists = tHistory.find({ "Item Title": productName}) if fileExists.count() >0: stockOut = 0 for i in range(fileExists.count()): stockOut += int(fileExists[i]['Quantity']) if int(quantity_inStock) - int(stockOut)<1: itemStockUpdate2(SKU,productName) incompleteVal = 'True' if multi =='True': itemInsert5(productName,chineseName,SKU,products,chinese,SKUS,colour,weight,height,width,lenght,description,material,int(quantity_inStock),int(AUD),int(RMB),int(USD),category,incompleteVal,stockOut) else: itemInsert2(productName,chineseName,SKU,colour,weight,height,width,lenght,description,material,int(quantity_inStock),int(AUD),int(RMB),int(USD),category,incompleteVal,stockOut) noteExists = notificationUnautItem.objects(itemName=productName).delete() else: #if len(productName)>1: if multi =='True': itemInsert5(productName,chineseName,SKU,products,chinese,SKUS,colour,weight,height,width,lenght,description,material,int(quantity_inStock),int(AUD),int(RMB),int(USD),category,incompleteVal) else: itemInsert(productName,chineseName,SKU,colour,weight,height,width,lenght,description,material,int(quantity_inStock),int(AUD),int(RMB),int(USD),category,incompleteVal) if notificationUnautItem.objects(SKU = request.form.get('SKU','')).count()>0: notificationUnautItem.objects(SKU = request.form.get('SKU','')).delete() x = tHistory.find({'Custom Label': request.form.get('SKU','')}) for i in x: if i['Status'] == 'Incomplete_SKU': i['Status'] = 'None' return(redirect(url_for('products')))
def upload_file(): if 'username' not in session: return redirect(url_for('index')) if not 'fileInput' in request.files: return redirect(url_for('dailyReports')) for f in request.files.getlist('fileInput'): fName = secure_filename(f.filename) f.save(fName) f= open(fName,'r') try: file =newFile.read().splitlines() except: os.system("dos2unix " + fName) newFile= open(fName, 'r',encoding = "ISO-8859-1") file =newFile.read().splitlines() in_db = False if not in_db: x = [] for i in reader((file)): if len(i)>0: if i[0]=='': pass else: if len(str(i).strip()) == 0 or len(str(i).strip())==1 : pass else: x.append(i) for i in x: if i == ['\t']: x.remove(i) elif i == []: x.remove(i) li = [] headers = x[0] x=x[1::] inc=[] for iterA in range(len(x)): dictI = {} if len(x[iterA])>10: for i in range(len(headers)): try: dictI[headers[i].strip()]=x[iterA][i] except: pass try: dictI['Sales Record Number'] = int(dictI['Sales Record Number']) except: dictI['Sales Record Number'] = '' dictI['filename'] = fName dictIF = True try: dictI['Total Price'] = dictI['Total Price'][4::] except: dictIF = False try: dictI['Sale Date']=dateparser.parse(dictI['Sale Date'], settings={'DATE_ORDER': 'DMY'}) except: dictIF = False try: temp = dictI['Custom Label'].split('-') if len(temp) != 0: itemCode = temp[2] sku = dictI['Custom Label'] shopTemp = shopName.objects(code=temp[0]).first() dictI['Shop Name']=shopTemp.name dictI['Quantity'] = int(dictI['Quantity']) * int(temp[4]) except: dictIF = False dictI['Status']='None' if dictIF != False: try: skuLookup = productInfo.objects(SKU__contains=itemCode).get() except: skuLookup = '' if len(skuLookup)>0: if skuLookup.quantity_inStock - int(dictI['Quantity']) <0: itemStockUpdate(sku,skuLookup.productName,dictI['Sales Record Number']) else: skuLookup.quantity_sold=skuLookup.quantity_sold+int(dictI['Quantity']) skuLookup.quantity_inStock = skuLookup.quantity_inStock - int(dictI['Quantity']) skuLookup.save() else: dictI['Status'] = 'Incomplete_SKU' temp = notificationUnautItem.objects(SKU = dictI['Custom Label']) if len(temp)==0: newItemCreate(str(dictI['Custom Label']),dictI['Item Title']) try: if dictI['Sales Record Number']==li[-1]['Sales Record Number']: dictI['Buyer State'] = li[-1]['Buyer State'] dictI['PayPal Transaction ID'] = li[-1]['PayPal Transaction ID'] except: pass li.append(dictI) trans =[] rep=[] done = [] for i in li: trans.append([i['PayPal Transaction ID'],i['Sales Record Number'],i['Buyer Postcode'],i['Buyer Address 1'],i['User Id']]) for i in trans: if tHistory.find({'PayPal Transaction ID':i[0]}).count()>0: rep.append(i) for x in trans: if i[0]==x[0]: if i[1]==x[1]: pass else: done.append(x) for i in li: for x in rep: if (i['PayPal Transaction ID'])==x: i['Status'] ='Repeat' for x in done: if ([i['PayPal Transaction ID']])==[x[0]]: if i['User Id'] == x[4]: if (i['Buyer Postcode'],i['Buyer Address 1']) !=(x[2],x[3]): i['Status'] ='DropShip' elif (i['User Id'],i['Buyer Address 1'] )== (x[4],x[3]): if (i['PayPal Transaction ID'],i['Sales Record Number']) !=(x[0],x[1]): i['Status'] = 'Multi' elif [i['PayPal Transaction ID'],i['Sales Record Number'],i['Buyer Postcode']]==[x[0],x[1],x[2]]: i['Status'] ='Repeat' tHistory.insert_many(li) #print(rep) return redirect(url_for('dailyReports')) else: flash('Database is Already Stored') return redirect(url_for('dailyReports'))
def home(): if 'username' in session: return render_template('home.html',unregisteredItem = notificationUnautItem.objects(),itemOutStock = itemOutStock.objects()) return render_template('login.html')
def products(): if 'username' in session: return render_template('products.html',products= productInfo.objects,unregisteredItem = notificationUnautItem.objects()) return render_template('login.html')