def tmp_save(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({ 'code': 66, 'msg': u'login error!' }), content_type='application/json') if request.method == 'POST': id = request.POST.get('id', '') sku = request.POST.get('sku', '').replace('amp;', '') title = request.POST.get('title', '') customer_num = request.POST.get('customer_num', '') keywords = request.POST.get('keywords', '') send_time = request.POST.get('send_time', '') order_status = request.POST.get('order_status', '') content = request.POST.get('content', '') sku = sku.strip() if not id: obj = EmailTemplates() obj.id obj.order_status = int(order_status) obj.sku = sku obj.customer_num = customer_num obj.user_id = user.user.id obj.keywords = keywords obj.title = title obj.content = content obj.send_time = send_time obj.save() if obj.id: return HttpResponse(json.dumps({ 'code': 1, 'msg': 'Work is Done!' }), content_type='application/json') else: id = int(id) re = EmailTemplates.objects.filter(id=id) if not re: return HttpResponse(json.dumps({ 'code': 0, 'msg': 'Template is not exits!' }), content_type='application/json') i = re.update(sku=sku, title=title, content=content, send_time=send_time, order_status=order_status, keywords=keywords, customer_num=customer_num) if i: return HttpResponse(json.dumps({ 'code': 1, 'msg': 'Work is Done!' }), content_type='application/json')
def add_kit_sku(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") keywords = request.GET.get('keywords', '') type = request.GET.get('type', '') res = KitSkuRes.objects.all().order_by('-id', '-created') if not user.user.is_superuser: res = res.filter(user=user.user) if keywords: if type == 'kit': res = res.filter(kit__icontains=keywords) else: res = res.filter(sku__icontains=keywords) limit = request.GET.get('limit', 50) page = request.GET.get('page', 1) re_limit = limit total_count = len(res) total_page = round(len(res) / int(limit)) if int(limit) >= total_count: limit = total_count if res: paginator = Paginator(res, limit) try: data = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. data = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. data = paginator.page(paginator.num_pages) data = { 'data': data, 'total_count': total_count, 'total_page': total_page, 're_limit': int(re_limit), 'limit': int(limit), 'page': page, 'title': "Add KitSKU", 'keywords': keywords, 'type': type, 'user': user } else: data = { 'data': '', 'total_count': total_count, 'total_page': total_page, 're_limit': int(re_limit), 'limit': int(limit), 'page': page, 'title': "Add KitSKU", 'keywords': keywords, 'type': type, 'user': user } return render(request, "Stocks/add_kit_sku/add_kit_sku.html", data)
def import_sitem(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({ 'code': 66, 'msg': u'login error!' }), content_type='application/json') if request.method == 'POST': myfile = request.FILES.get('myfile', '') if not myfile: return HttpResponse(json.dumps({ 'code': 0, 'msg': u'File is empty!' }), content_type='application/json') file_path = os.path.join(settings.BASE_DIR, settings.DOWNLOAD_URL, 'excel_stocks', myfile.name) f = open(file_path, 'wb') for chunk in myfile.chunks(): f.write(chunk) f.close() if not os.path.isfile(file_path): return HttpResponse(json.dumps({ 'code': 0, 'msg': 'File is not found!' }), content_type='application/json') data = xlrd.open_workbook(file_path) # 打开fname文件 data.sheet_names() # 获取xls文件中所有sheet的名称 table = data.sheet_by_index(0) # 通过索引获取xls文件第0个sheet nrows = table.nrows msg = '' querylist = [] for i in range(nrows): try: if i + 1 < nrows: item = table.cell_value( i + 1, 0, ) chec = Sfps.objects.filter(item=item, user=user.user) if chec: msg += '第%s行已存在。<br>' % (i + 1) else: querylist.append(Sfps(item=item, user=user.user)) except: msg += '第%s行添加有误。<br>' % (i + 1) continue if querylist: Sfps.objects.bulk_create(querylist) os.remove(file_path) return HttpResponse(json.dumps({ 'code': 1, 'msg': msg }), content_type='application/json')
def checked_edit(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({ 'code': 66, 'msg': u'login error!' }), content_type='application/json') if request.method == 'POST': id = int(request.POST.get('id', '')) qty = request.POST.get('qty', '') sku = request.POST.get('sku', '').replace('amp;', '') warehouse = request.POST.get('warehouse', '') type = request.POST.get('type', '') if id: res = WarehouseStocks.objects.filter(id=id) if not res: return HttpResponse(json.dumps({ 'code': 0, 'msg': u'Data is not found!' }), content_type='application/json') if type == 'new': if id: i = res.update(qty=qty) else: obj = WarehouseStocks() obj.id obj.sku = sku obj.warehouse = warehouse obj.qty = qty obj.is_new = 0 obj.save() i = obj.id if i: data = { 'user': user.user, 'fun': request.path, 'description': 'Sku:%s,QTY covered by %s.' % (sku, qty), } re_qty = qty else: qtys = res[0].qty - int(qty) i = res.update(qty=qtys) if i: data = { 'user': user.user, 'fun': request.path, 'description': 'Sku:%s,QTY lower %s.' % (res[0].sku, qty), } re_qty = qtys views.save_logs(data) return HttpResponse(json.dumps({ 'code': 1, 'data': re_qty }), content_type='application/json')
def fba_transport(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") res = FbaTransportTask.objects.all().order_by('-id', '-created') for val in res: val.file_name = val.file_path.split('/')[-1] data = {'data': res, 'title': "FBA Transport", 'user': user} return render(request, "Stocks/sfp/fba_transport.html", data)
def __init__(self, t_name, queue, request=None): threading.Thread.__init__(self,name=t_name) self.data = queue self.t_name = t_name self.username = '' if request: user = App.get_user_info(request) if not user.user.is_superuser: self.username = user.user.username
def update_kits(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': start_date = request.POST.get('start_date', '') start_date = start_date[0:10] get_kit_skus(start_date) return HttpResponse(json.dumps({'code': 1, 'msg': u'Successfully!'}), content_type='application/json')
def export_qa(self): user = App.get_user_info(self) if not user: return HttpResponseRedirect("/admin/maxlead_site/login/") asin = self.GET.get('qa_asin', '') qa_max = Questions.objects.filter(asin=asin).aggregate(Max('created')) if not qa_max or not qa_max['created__max']: qa_max = Questions.objects.aggregate(Max('created')) question = Questions.objects.filter( asin=asin, created__icontains=qa_max['created__max'].strftime("%Y-%m-%d")) if not question: return HttpResponseRedirect("") data = [] for q in question: answer = Answers.objects.filter(question_id=q.id) if answer: for val in answer: re = { 'question': val.question.question, 'asin': val.question.asin, 'asked': val.question.asked, 'votes': val.question.votes, 'answer': val.answer, 'person': val.person, 'created': val.created.strftime("%Y-%m-%d %H:%M:%S") } data.append(re) else: re = { 'question': q.question, 'asin': q.asin, 'asked': q.asked, 'votes': q.votes, 'answer': '', 'person': '', 'created': q.created.strftime("%Y-%m-%d %H:%M:%S") } data.append(re) fields = [ 'Question', 'Asin', 'Asked', 'Votes', 'Answer', 'Answerer', 'Create Date' ] data_fields = [ 'question', 'asin', 'asked', 'votes', 'answer', 'person', 'created' ] return get_excel_file(self, data, fields, data_fields)
def del_check_order(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': id = request.POST.get('id','') obj = NoSendRes.objects.filter(id=id) if not obj: return HttpResponse(json.dumps({'code': 0, 'msg': 'Data is not exits!'}), content_type='application/json') obj.delete() return HttpResponse(json.dumps({'code': 1, 'msg': 'Work is Done!'}), content_type='application/json')
def delete_task_data(self): user = App.get_user_info(self) if not user: return HttpResponse(json.dumps({'code': 0, 'msg': '请登陆!'}), content_type='application/json') id = self.GET.get('task_id') if not id: return HttpResponse(json.dumps({'code': 0, 'msg': '数据有误!'}), content_type='application/json') task = Task.objects.get(id=id) if not task: return HttpResponse(json.dumps({'code': 0, 'msg': '数据不存在/被删除!'}), content_type='application/json') task.delete() return HttpResponse(json.dumps({'code': 1, 'data': 1}), content_type='application/json')
def del_ads_data(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({ 'code': 66, 'msg': u'login error!' }), content_type='application/json') if request.method == 'GET': id = request.GET.get('id', '') data_res = AdsData.objects.filter(id=id) type = data_res[0].type if type == 1: model = Inventory elif type == 2: model = BrandPerformance elif type == 3: model = BizReport elif type == 4: model = SearchTeam elif type == 5: model = Placement elif type == 6: model = AdvProducts elif type == 7: model = PurProduct elif type == 8: model = CampaignPla elif type == 9: model = KwdPla obj = model.objects.filter(user=data_res[0].user, account=data_res[0].account, type=data_res[0].type, range_type=data_res[0].range_type, year_str=data_res[0].year_str, month=data_res[0].month, week=data_res[0].week) if not obj: return HttpResponse(json.dumps({ 'code': 0, 'msg': u'Data is not exist!' }), content_type='application/json') obj.delete() change_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') data_res.update(change_time=change_time, user=user.user) return HttpResponse(json.dumps({ 'code': 1, 'data': change_time }), content_type='application/json')
def send_email(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': data = request.POST.get('data') customer_num = request.POST.get('customer_num','') m_time = 0 list_data = eval(data) user.customer_num = customer_num for i,val in enumerate(list_data): orders = OrderItems.objects.filter(order_id=val['order_id'], is_email=0, customer_num=customer_num) old_orders = OldOrderItems.objects.filter(order_id=val['order_id'], customer_num=customer_num) tmps = EmailTemplates.objects.filter(sku=val['sku'], customer_num=customer_num) if not user.user.is_superuser: tmps = tmps.filter(user_id=user.user.id) orders = orders.filter(user_id=user.user.id) old_orders = old_orders.filter(user_id=user.user.id) if orders and tmps and not old_orders: title = tmps[0].title if title: if not title.find('%s') == -1: title = title % val['order_id'] if tmps[0].content and tmps[0].content.find('%s') == -1: msg = tmps[0].content else: msg = tmps[0].content % val['buyer'] m_time += (3 + random.randint(7, 20)) time_re = _get_send_time(tmps[0].send_time, m_time=m_time) tmp_res = [title, msg, user, val['email'], val['order_id'], val['sku'], val['buyer'], orders[0].payments_date, orders[0].is_presale, orders[0].order_status, user.user_id, request.path] t = threading.Timer(float('%.1f' % time_re), send_email_as_tmp, tmp_res) t.start() email_order_obj = OldOrderItems() email_order_obj.id email_order_obj.user_id = user.user_id email_order_obj.order_id = val['order_id'] email_order_obj.sku = val['sku'] email_order_obj.customer_num = customer_num email_order_obj.email = val['email'] email_order_obj.customer = val['buyer'] email_order_obj.payments_date = orders[0].payments_date email_order_obj.is_presale = orders[0].is_presale email_order_obj.is_email = 1 email_order_obj.send_date = datetime.now() email_order_obj.order_status = orders[0].order_status email_order_obj.save() if email_order_obj.id: orders.delete() return HttpResponse(json.dumps({'code': 1, 'msg': 'Work is Done!'}), content_type='application/json')
def export_radar(self): user = App.get_user_info(self) if not user: return HttpResponseRedirect("/admin/maxlead_site/login/") viewRange = self.GET.get('viewRange', '') asins = Dashboard._get_asins(self, user, ownership='Others',user_id=viewRange) res = Dashboard._get_activity_radar(self, asins,param=self.GET) if not self.GET.get('actBgn','') and not self.GET.get('actEnd',''): res = res[0:6] data = [] if res: for val in res: re = { 'asin': val.asin, 'title': val.title, 'price': val.price, 'feature': val.feature, 'description': val.description, 'image_date': val.image_date.strftime('%Y-%m-%d'), 'image_names': val.image_thumbs, 'created': val.created, 'changed': val.changed, 'buy_box_res': val.buy_box_res } data.append(re) fields = [ 'Image Thumbs', 'Title', 'Asin', 'Price', 'Changed', 'Feature', 'Description', 'Image Date', 'Buy Box', 'Created' ] data_fields = [ 'image_names', 'title', 'asin', 'price', 'changed', 'feature', 'description', 'image_date', 'buy_box_res', 'created' ] return get_excel_file(self, data, fields, data_fields)
def batch_del_contact(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': ids = eval(request.POST.get('data','')) if not ids: return HttpResponse(json.dumps({'code': 0, 'msg': u'请选择要删除数据!'}), content_type='application/json') obj = EmailContacts.objects.filter(id__in=ids) if not obj: return HttpResponse(json.dumps({'code': 0, 'msg': u'请求的数据不存在!'}), content_type='application/json') obj.delete() return HttpResponse(json.dumps({'code': 1, 'msg': u'Successfully!'}), content_type='application/json')
def barcode(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") res = Barcodes.objects.all().order_by('status', '-id', '-created') if not res: sync_date = '11/01/2019 10:15' else: sync_date = res[0].created.strftime('%m/%d/%Y %H:%M:%S') limit = request.GET.get('limit', 50) page = request.GET.get('page', 1) re_limit = limit total_count = len(res) total_page = round(len(res) / int(limit)) if int(limit) >= total_count: limit = total_count if res: paginator = Paginator(res, limit) try: data = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. data = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. data = paginator.page(paginator.num_pages) data = { 'data': data, 'total_count': total_count, 'total_page': total_page, 're_limit': int(re_limit), 'limit': int(limit), 'page': page, 'sync_date': sync_date, 'title': "Barcode", 'user': user } else: data = { 'data': '', 'total_count': total_count, 'total_page': total_page, 're_limit': int(re_limit), 'limit': int(limit), 'page': page, 'sync_date': sync_date, 'title': "Barcode", 'user': user } return render(request, "Stocks/barcode/barcode.html", data)
def order_save(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': id = request.POST.get('id','') sku = request.POST.get('sku','').replace('amp;','') if not id: obj = NoSendRes() obj.id obj.sku = sku obj.save() if obj.id: return HttpResponse(json.dumps({'code': 1, 'msg': 'Work is Done!'}), content_type='application/json')
def store_info(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/maxlead_site/login/") ordder_field = request.GET.get('ordder_field', 'created') order_desc = request.GET.get('order_desc', '-') data = [] limit = request.GET.get('limit', 20) page = request.GET.get('page', 1) re_limit = limit total_count = 0 total_page = 0 if user.user.is_superuser or user.group.user.username == 'Landy' or user.group.user.username == 'admin' or user.user.username == 'Landy': data = StoreInfo.objects.all() if ordder_field: order_by_str = "%s%s" % (order_desc, ordder_field) data = data.order_by(order_by_str) if data: for val in data: val.created = val.created.strftime('%Y-%m-%d %H:%M:%S') total_count = len(data) total_page = round(len(data) / int(limit)) if int(limit) >= total_count: limit = total_count if data: paginator = Paginator(data, limit) try: data = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. data = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. data = paginator.page(paginator.num_pages) data = { 'data': data, 'total_count': total_count, 'total_page': total_page, 're_limit': int(re_limit), 'limit': int(limit), 'page': page, 'user': user, 'ordder_field': ordder_field, 'order_desc': order_desc, 'avator': user.user.username[0], } return render(request, 'fba_acodtask/store_info.html', data)
def save_brand(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': id = request.POST.get('id','') brand = request.POST.get('brand','') brand = brand.upper() campaign_obj = AdsBrand.objects.filter(id=id) if not campaign_obj: return HttpResponse(json.dumps({'code': 0, 'msg': u'数据不存在!'}), content_type='application/json') campaign_obj.update(brand=brand) return HttpResponse(json.dumps({'code': 1, 'msg': u'Successfully!'}), content_type='application/json')
def sfp_temp(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") keywords = request.GET.get('keywords', '').replace('amp;','') res = SfpTemps.objects.all() if keywords: res = res.filter(Q(sfp_temp__contains=keywords) | Q(warehouse__contains=keywords)) data = { 'data': res, 'title': "Sfp Temp", 'user': user } return render(request, "Stocks/sfp/sfp_temp.html", data)
def export_k_rank(self): user = App.get_user_info(self) if not user: return HttpResponseRedirect("/admin/maxlead_site/login/") asin = self.GET.get('asin', '') krStartDate = self.GET.get('krStartDate', datetime.datetime.now().strftime("%Y-%m-1")) krEndDate = self.GET.get('krEndDate', datetime.datetime.now().strftime("%Y-%m-%d")) kwdCat = self.GET.get('kwdCat', '') ranks = CategoryRank.objects.filter(asin=asin, user_asin=asin) if kwdCat: ranks = ranks.filter(cat__icontains=kwdCat) if krStartDate: ranks = ranks.filter(created__gte=krStartDate) if krEndDate: ranks = ranks.filter(created__lte=krEndDate) data = [] for v in ranks: re = { 'asin': v.asin, 'cat': v.cat, 'keywords': v.keywords, 'rank': v.rank, 'is_ad': v.is_ad, 'created': v.created.strftime("%Y-%m-%d %H:%M:%S"), } data.append(re) fields = [ 'Asin', 'Cat', 'Keywords', 'Rank', 'AD', 'Created', ] data_fields = [ 'asin', 'cat', 'keywords', 'rank', 'is_ad', 'created', ] if data: return get_excel_file(self, data, fields, data_fields)
def branch_edit_tmp(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({ 'code': 66, 'msg': u'login error!' }), content_type='application/json') if request.method == 'POST': ids = eval(request.POST.get('data', '')) keywords = request.POST.get('keywords', '') title = request.POST.get('title', '') send_time = request.POST.get('send_time', '') status = request.POST.get('status', '') content = request.POST.get('content', '') update_fields = [] if keywords: update_fields.append('keywords') if title: update_fields.append('title') if send_time: update_fields.append('send_time') if status: update_fields.append('order_status') if content: update_fields.append('content') for val in ids: try: obj = EmailTemplates() obj.id = int(val) if keywords: obj.keywords = keywords if title: obj.title = title if send_time: obj.send_time = send_time if status: obj.order_status = status if content: obj.content = content obj.save(update_fields=update_fields) except: continue return HttpResponse(json.dumps({ 'code': 1, 'msg': 'Work is Done!' }), content_type='application/json')
def index(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") user_id = request.GET.get('user_id', '') list = Menus.objects.all() user_list = User.objects.filter() index_user = user_list[0] if user_id: index_user = User.objects.get(id=user_id) role_list = Roles.objects.all() checked_role_code = 0 checked_role_id = 0 for val in role_list: val.is_checked = 0 try: if val.code == index_user.userprofile.stocks_role: val.is_checked = 1 checked_role_code = val.code checked_role_id = val.id except: continue role_menus = Menus.objects.filter(roles__id=checked_role_id) for val in user_list: val.is_checked = 0 try: if val.userprofile.stocks_role == checked_role_code: val.is_checked = 1 except: continue role_ids = [] if role_menus: for val in role_menus: role_ids.append(val.elem_id) for val in list: val.is_checked = 0 if val.elem_id in role_ids: val.is_checked = 1 data = { 'list': list, 'user': user, 'user_id': user_id, 'user_list': user_list, 'role_list': role_list, 'title': 'Setting', } return render(request, "Stocks/settings/index.html", data)
def stock_checked(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") data = [] if request.method == 'POST': myfile = request.FILES.get('myfile', '') type = request.POST.get('type', '') file_path = os.path.join(settings.BASE_DIR, settings.DOWNLOAD_URL, 'excel_stocks', myfile.name) f = open(file_path, 'wb') for chunk in myfile.chunks(): f.write(chunk) f.close() res = read_excel_data(WarehouseStocks, file_path) if res: for val in res: re1 = {} re = WarehouseStocks.objects.filter(sku=val['sku'], warehouse=val['warehouse']) is_same = '' if re: if not re[0].qty == val['qty']: is_same = 1 id = re[0].id qty_old = re[0].qty else: id = 0 qty_old = 0 is_same = 1 re1.update({ 'id': id, 'sku': val['sku'], 'warehouse': val['warehouse'], 'qty_old': qty_old, 'qty_new': val['qty'], 'is_same': is_same, }) if type == 'new': re1.update({'type': type}) data.append(re1) os.remove(file_path) data = { 'data': data, 'user': user, 'title': 'Inventory-Check', 'type': type, } return render(request, "Stocks/stocks/stock_checked.html", data)
def delete(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': id = request.POST.get('id','') obj = Employee.objects.filter(id=id) user_obj = User.objects.filter(id=obj[0].user_id) if not obj: return HttpResponse(json.dumps({'code': 0, 'msg': u'Data already exists!'}), content_type='application/json') if(obj.delete()): user_obj.delete() return HttpResponse(json.dumps({'code': 1, 'msg': u'Successfully!'}), content_type='application/json')
def get_save_role_user(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66}), content_type='application/json') if request.method == 'POST': role_code = request.POST.get('role_code', '') user_ids = request.POST.get('user_ids', '') if user_ids: user_obj = UserProfile.objects.filter(stocks_role=role_code) user_obj.update(stocks_role='0') user_obj = UserProfile.objects.filter(user_id__in=eval(user_ids)) if not user_obj: return HttpResponse(json.dumps({'code': 0, 'msg': 'User is not exits!'}), content_type='application/json') user_obj.update(stocks_role=role_code) return HttpResponse(json.dumps({'code': 1, 'msg': 'Work is done!'}), content_type='application/json')
def get_menus_by_role(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66}), content_type='application/json') if request.method == 'POST': role_code = request.POST.get('role_code', '') menu_obj = Menus.objects.filter(roles__code=role_code) menu_ids = [] if not menu_obj: return HttpResponse(json.dumps({'code': 1, 'data': {'menus': menu_ids}}), content_type='application/json') for val in menu_obj: menu_ids.append(val.id) return HttpResponse(json.dumps({'code': 1, 'data': {'menus': menu_ids}}), content_type='application/json')
def export_shuttle(self): user = App.get_user_info(self) if not user: return HttpResponseRedirect("/admin/maxlead_site/login/") asin = self.GET.get('shuttle_asin', '') tsStartDate = self.GET.get('tsStartDate', '') tsEndDate = self.GET.get('tsEndDate', '') listing = Listings.objects.filter(asin=asin).order_by('-created') if tsStartDate: listing = listing.filter(created__gte=tsStartDate) if tsEndDate: listing = listing.filter(created__gte=tsEndDate) data = [] for v in listing: re = { 'image_names': v.image_thumbs, 'title': v.title, 'asin': v.asin, 'sku': v.sku, 'description': v.description, 'feature': v.feature, 'buy_box': v.buy_box, 'price': v.price, 'total_review': v.total_review, 'total_qa': v.total_qa, 'rvw_score': v.rvw_score, 'category_rank': v.category_rank, 'inventory': v.inventory, 'last_check': v.user_asin.last_check.strftime("%Y-%m-%d %H:%M:%S"), 'created': v.created.strftime("%Y-%m-%d %H:%M:%S"), 'image_date': v.image_date.strftime("%Y-%m-%d"), } data.append(re) fields = [ 'Image Names', 'Ttile', 'Asin', 'SKU', 'Description', 'Feature', 'Buy Box', 'Price', 'Total Review', 'Total Qa', 'Rvw Score', 'Category Rank', 'Inventory', 'Last Check', 'Created', 'Image Date' ] data_fields = [ 'title', 'asin', 'sku', 'description', 'feature', 'buy_box', 'price', 'total_review', 'total_qa', 'rvw_score', 'category_rank', 'inventory', 'last_check', 'created', 'image_date' ] return get_excel_file(self, data, fields, data_fields)
def edit_children(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66, 'msg': u'login error!'}), content_type='application/json') if request.method == 'POST': child_employee = request.POST.get('child_employee', '') child_obj = Employee.objects.filter(parent_user=user.user_id) if child_obj: child_obj.update(parent_user=0) if child_employee: child_employees = Employee.objects.filter(id__in=eval(child_employee)) if child_employees: child_employees.update(parent_user=user.user_id) return HttpResponse(json.dumps({'code': 1, 'msg': u'Successfully!'}), content_type='application/json')
def get_role_by_user(request): user = App.get_user_info(request) if not user: return HttpResponse(json.dumps({'code': 66}), content_type='application/json') if request.method == 'POST': user_id = request.POST.get('user_id', '') user_obj = User.objects.filter(id=user_id) if not user_obj: return HttpResponse(json.dumps({'code': 0, 'msg': 'User is not exits!'}), content_type='application/json') try: return HttpResponse(json.dumps({'code': 1, 'data': {'role_code': user_obj[0].userprofile.stocks_role}}), content_type='application/json') except: return HttpResponse(json.dumps({'code': 0, 'msg': 'User/role is not exits!'}), content_type='application/json')
def logs(request): user = App.get_user_info(request) if not user: return HttpResponseRedirect("/admin/max_stock/login/") keywords = request.GET.get('keywords', '').replace('amp;', '') res = StockLogs.objects.all().order_by('-created') if keywords: res = res.filter( Q(fun__contains=keywords) | Q(user__username__contains=keywords) | Q(description__contains=keywords)) data = { 'data': res, 'title': "Logs", 'user': user, } return render(request, "Stocks/users_sku/logs.html", data)