def icw_list(request): franchise_email = '' franchise_list = '' franc_pagination = '' error = '' start_sr_number = '' franc_list_per_page = 10 net_details = save_franc_network_in_dict(request) if 'is_network' in net_details and net_details['is_network']: if 'franchise_email' in request.POST: franchise_email = request.POST['franchise_email'] franchise_list = Franchise.objects.select_related('user','network').filter(user__email=franchise_email) if not franchise_list: franchise_list = Franchise.objects.select_related('user','network').filter(user__username=franchise_email) if not franchise_list: error = 'ICW not found' else: franc_list_page_no = request.GET.get('page',1) franc_list_page_no = int(franc_list_page_no) network_francs_total = Franchise.objects.filter(network=net_details['network']) total_francs = network_francs_total.count() total_pages_for_franc = int(math.ceil(Decimal(total_francs)/Decimal(franc_list_per_page))) franc_pagination = utils.getPaginationContext(franc_list_page_no, total_pages_for_franc, '') startOrderIndex_franc = (franc_list_page_no-1) * franc_list_per_page franchise_list = Franchise.objects.select_related('network').filter(network=net_details['network'])[startOrderIndex_franc : startOrderIndex_franc + franc_list_per_page] if not franchise_list: error = 'Franchises not found' else: start_sr_number = franc_list_per_page * (franc_list_page_no-1) else: return HttpResponseRedirect('/accounts/login/') return render_to_response('performance/icw_list.html', { 'request':request, 'error' : error, 'net_details':net_details, 'franchise_email':franchise_email, 'franchise_list':franchise_list, 'pagination':franc_pagination, 'start_sr_number':start_sr_number, 'tab':2, }, context_instance=RequestContext(request))
def icw_catalog(request): net_details = save_franc_network_in_dict(request) commision_on= [] pagination = {} sku = '' error = '' show_add_product = False items_per_page = 10 if 'is_franchise' in net_details and net_details['is_franchise']: try: franc_role = Franchise.objects.get(id = net_details['franchise'].id) if franc_role.role == 'fb': show_add_product = True except Franchise.DoesNotExist: pass if 'is_network' in net_details and 'is_franchise' in net_details and (net_details['is_network'] or net_details['is_franchise']): if 'sku' in request.POST: sku = request.POST['sku'].strip() if not sku: error = 'Please enter order id' else: commision_on = CommisionOn.objects.select_related('seller_rate_chart', 'product', 'commision').filter(network = net_details['network'], seller_rate_chart__sku = sku) if not commision_on: error = 'Product not found with SKU "%s"'%sku else: try: commision_on = CommisionOn.objects.filter(network = net_details['network'] ) total_results = commision_on.count() if total_results and total_results > 0: try: page_no = request.GET.get('page',1) page_no = int(page_no) total_pages = int(math.ceil(Decimal(total_results)/Decimal(items_per_page))) pagination = utils.getPaginationContext(page_no, total_pages, '') startOrderIndex = (page_no-1) * items_per_page commision_on = CommisionOn.objects.select_related('seller_rate_chart', 'product', 'commision').filter(network = net_details['network'])[startOrderIndex : startOrderIndex + items_per_page] except Exception,e: log.exception('Exception while itz product history: %s' % repr(e)) pass else: error = 'No Itz products found'
def testimonials(request): _client = request.client.client testimonials = Feedback.objects.filter(client=_client,type="testimonial").order_by('-id') page_no = request.GET.get('page',1) page_no = int(page_no) items_per_page = 10 total_results = len(testimonials) total_pages = int(math.ceil(Decimal(total_results)/Decimal(items_per_page))) pagination = utils.getPaginationContext(page_no, total_pages, '') pagination['result_from'] = (page_no-1) * items_per_page pagination['result_to'] = utils.ternary(page_no*items_per_page > total_results, total_results, page_no*items_per_page) testimonials = testimonials[:int(pagination['result_to'])] testimonials = testimonials[int(pagination['result_from']):] pagination['result_from'] = pagination['result_from'] + 1 return render_to_response('web/home/detail_testimonials.html', { 'testimonials':testimonials, 'pagination':pagination, 'total_results':total_results }, context_instance=RequestContext(request))
def testimonials(request): _client = request.client.client testimonials = Feedback.objects.filter(client=_client, type="testimonial").order_by('-id') page_no = request.GET.get('page', 1) page_no = int(page_no) items_per_page = 10 total_results = len(testimonials) total_pages = int( math.ceil(Decimal(total_results) / Decimal(items_per_page))) pagination = utils.getPaginationContext(page_no, total_pages, '') pagination['result_from'] = (page_no - 1) * items_per_page pagination['result_to'] = utils.ternary( page_no * items_per_page > total_results, total_results, page_no * items_per_page) testimonials = testimonials[:int(pagination['result_to'])] testimonials = testimonials[int(pagination['result_from']):] pagination['result_from'] = pagination['result_from'] + 1 return render_to_response('web/home/detail_testimonials.html', { 'testimonials': testimonials, 'pagination': pagination, 'total_results': total_results }, context_instance=RequestContext(request))
def itz_account(request): error = '' network_commision = '' franchise_commision = '' order_id = '' sort_option ='time' asc_or_desc = 'desc' date_range = False from_date = '' to_date = '' pagination = {} items_per_page = 10 search_trend= '' show_excel_option = False save_excel = request.GET.get('excel', False) net_details = save_franc_network_in_dict(request) if not 'is_network' in net_details or not 'is_franchise' in net_details: return HttpResponseRedirect('/accounts/login/') elif net_details['is_network']: show_excel_option = True if 'order_id' in request.POST: order_id = request.POST['order_id'].strip() if not order_id or order_id =='Enter Order Id': error = 'Please enter order id' elif net_details['is_network'] or net_details['is_franchise'] or net_details['network']: try: franchise_commision = FranchiseOrder.objects.select_related('user', 'order','franchise').filter(order__reference_order_id=order_id).order_by('-order__timestamp') if not franchise_commision: error = 'No order found with order id "%s"'%order_id if net_details['is_network']: network_commision = franchise_commision except: pass else: if ('from' in request.GET and 'to' in request.GET) or 'search_trend' in request.GET: date_range = True sort_by_text = 'order__timestamp' asc_or_desc_sign = '-' asc_or_desc = 'desc' if 'search_trend' in request.GET: search_trend = request.GET.get('search_trend') if search_trend == 'day': from_date, to_date = datetime.strptime( str(datetime.now().date()),'%Y-%m-%d' ), datetime.strptime( str(datetime.now().date()),'%Y-%m-%d' ) elif search_trend == 'week': from_date, to_date = datetime.strptime( str(datetime.now().date()),'%Y-%m-%d' )+timedelta(days=-7), datetime.strptime( str(datetime.now().date()),'%Y-%m-%d' ) elif search_trend == 'mtd': first_day = str(datetime.now().date()).replace( str(datetime.now().date())[-2:] ,'01') from_date, to_date = datetime.strptime( first_day,'%Y-%m-%d' ), datetime.strptime( str(datetime.now().date()),'%Y-%m-%d' ) elif 'from' in request.GET and 'to' in request.GET: if not request.GET.get('from') or not request.GET.get('to'): error = 'Please select date range correctly' try: from_date, to_date = datetime.strptime(request.GET.get('from','time'),'%d %b %Y'), datetime.strptime(request.GET.get('to','time'),'%d %b %Y') except: date_range = False if not date_range and 'sort_option' in request.GET: sort_option = request.GET.get('sort_option','time') if sort_option == 'time': sort_by_text = 'order__timestamp' elif sort_option == 'order_value': sort_by_text = 'order__payable_amount' elif sort_option == 'icw_name': sort_by_text = 'franchise__user__email' elif sort_option == 'customer': sort_by_text = 'order__user__email' elif sort_option == 'commission': if net_details['is_franchise']: sort_by_text = 'franc_commission_amnt' elif net_details['is_network']: sort_by_text = 'network_commission_amnt' elif sort_option == 'status': sort_by_text = 'order__state' else: sort_by_text = 'order__timestamp' else: sort_by_text = 'order__timestamp' if not date_range and 'asc_or_desc' in request.GET: asc_or_desc = request.GET.get('asc_or_desc','desc') if asc_or_desc == 'asc': asc_or_desc_sign = '' else: asc_or_desc_sign = '-' else: asc_or_desc_sign = '-' if net_details['is_network'] or net_details['is_franchise'] or net_details['network']: if date_range: if net_details['is_network']: network_francs = Franchise.objects.filter(network = net_details['network']) network_commision = FranchiseOrder.objects.filter(franchise__in=( network_francs ), order__timestamp__lte=to_date+timedelta(days=1), order__timestamp__gte=from_date) total_results = network_commision.count() elif net_details['is_franchise']: franchise_commision = FranchiseOrder.objects.filter(franchise=net_details['franchise'], order__timestamp__lte=to_date+timedelta(days=1), order__timestamp__gte=from_date) total_results = franchise_commision.count() elif net_details['is_network']: network_francs = Franchise.objects.filter(network = net_details['network']) network_commision = FranchiseOrder.objects.filter(franchise__in=( network_francs )).order_by('%s%s'%(asc_or_desc_sign, sort_by_text)) total_results = network_commision.count() elif net_details['is_franchise']: franchise_commision = FranchiseOrder.objects.filter(franchise=net_details['franchise']).order_by('%s%s'%(asc_or_desc_sign, sort_by_text)) total_results = franchise_commision.count() if total_results and total_results > 0 and not save_excel: try: page_no = request.GET.get('page',1) page_no = int(page_no) total_pages = int(math.ceil(Decimal(total_results)/Decimal(items_per_page))) pagination = utils.getPaginationContext(page_no, total_pages, '') startOrderIndex = (page_no-1) * items_per_page if date_range: if net_details['is_network']: network_commision = FranchiseOrder.objects.select_related('user', 'order', 'franchise','network').filter(franchise__in=( network_francs ), order__timestamp__lte=to_date+timedelta(days=1), order__timestamp__gte=from_date).order_by('%s%s'%(asc_or_desc_sign, sort_by_text))[startOrderIndex:startOrderIndex+items_per_page] elif net_details['is_franchise']: franchise_commision = FranchiseOrder.objects.select_related('user', 'order','franchise').filter(franchise=net_details['franchise'], order__timestamp__lte=to_date+timedelta(days=1), order__timestamp__gte=from_date).order_by('%s%s'%(asc_or_desc_sign, sort_by_text))[startOrderIndex:startOrderIndex+items_per_page] elif net_details['is_network']: network_commision = FranchiseOrder.objects.select_related('user', 'order', 'franchise','network').filter(franchise__in=( network_francs )).order_by('%s%s'%(asc_or_desc_sign, sort_by_text))[startOrderIndex:startOrderIndex+items_per_page] elif net_details['is_franchise']: franchise_commision = FranchiseOrder.objects.select_related('user', 'order','franchise').filter(franchise=net_details['franchise']).order_by('%s%s'%(asc_or_desc_sign, sort_by_text))[startOrderIndex:startOrderIndex+items_per_page] except Exception,e: log.exception('Exception while rendering order history: %s' % repr(e)) pass elif save_excel: pass else: error= 'No orders placed' else:
def ifs_actions(request, selected_table, selected_action): title_table = selected_table.replace('_',' ') table_dict = ifs_table_action_map() content_list = [] url = request.get_full_path() header_list = [] display_list = [] #When it enters the view for first time, flag is new flag = 'new' content = {} entries = 100 pincode = "" zipgroup_code = "" lsp_code = "" article_id = "" prod_grp = "" dc_code = "" pagination = {} try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 if selected_action.lower() == 'view': if selected_table.lower() == 'lsp_master': content_list, header_list = lsp_view(selected_action, content) elif selected_table == 'DC_Master': content_list, header_list = dc_view(selected_action, content) elif selected_table == 'DC_Zipgroup_LSP_Local_Ship': content_list, header_list = dc_local(selected_action, content) elif selected_table == 'Zipgroup_LSP_Map': content_list, header_list = zip_lsp(selected_action, content) elif selected_table == 'Pincode_Zipgroup_Map': count = PincodeZipgroupMap.objects.count() pincode = request.POST.get("pincode", "") lsp_code = request.POST.get("lsp_code", "") zipgroup_code = request.POST.get("zipgroup_code", "") params_dict = {'page':page, 'pincode':pincode, 'lsp_code':lsp_code, 'zipgroup_code':zipgroup_code } content_list, header_list = pin_zip(selected_action, content, params_dict) if not pincode and not lsp_code and not zipgroup_code: paginator = Paginator(content_list, 1) # Show 30 items per page base_url = request.get_full_path() page_pattern = re.compile('[&?]page=\d+') base_url = page_pattern.sub('',base_url) page_pattern = re.compile('[&?]per_page=\d+') base_url = page_pattern.sub('',base_url) if base_url.find('?') == -1: base_url = base_url + '?' else: base_url = base_url + '&' pagination = getPaginationContext(page, (count/entries + 1), base_url) try: display_list = paginator.page(page) except (EmptyPage, InvalidPage): display_list = paginator.page(paginator.num_pages) elif selected_table == 'ProductGroup_Master': content_list, header_list = prod_grp_view( selected_action, content) elif selected_table == 'Article_ProductGroup_Map': count = ArticleProductgroup.objects.count() article_id = request.POST.get("article_id", "") prod_grp = request.POST.get("prod_grp", "") params_dict = {'page':page, 'prod_grp':prod_grp, 'article_id':article_id, } content_list, header_list = article_prod_grp( selected_action, content, params_dict) if not article_id and not prod_grp: paginator = Paginator(content_list, 1) # Show 30 items per page base_url = request.get_full_path() page_pattern = re.compile('[&?]page=\d+') base_url = page_pattern.sub('',base_url) page_pattern = re.compile('[&?]per_page=\d+') base_url = page_pattern.sub('',base_url) if base_url.find('?') == -1: base_url = base_url + '?' else: base_url = base_url + '&' pagination = getPaginationContext(page, (count/entries + 1), base_url) try: display_list = paginator.page(page) except (EmptyPage, InvalidPage): display_list = paginator.page(paginator.num_pages) elif selected_table == 'DC_Zipgroup_LSP_Map': count = LspDeliveryChart.objects.count() dc_code = request.POST.get("dc_code", "") lsp_code = request.POST.get("lsp_code", "") zipgroup_code = request.POST.get("zipgroup_code", "") params_dict = {'page':page, 'dc_code':dc_code, 'lsp_code':lsp_code, 'zipgroup_code':zipgroup_code } content_list, header_list = delv_chart(selected_action, content, params_dict) if not dc_code and not lsp_code and not zipgroup_code: paginator = Paginator(content_list, 1) # Show 30 items per page base_url = request.get_full_path() page_pattern = re.compile('[&?]page=\d+') base_url = page_pattern.sub('',base_url) page_pattern = re.compile('[&?]per_page=\d+') base_url = page_pattern.sub('',base_url) if base_url.find('?') == -1: base_url = base_url + '?' else: base_url = base_url + '&' pagination = getPaginationContext(page, (count/entries + 1), base_url) try: display_list = paginator.page(page) except (EmptyPage, InvalidPage): display_list = paginator.page(paginator.num_pages) return render_to_response('ifs/ifs_view.html', { 'title_table':title_table, 'lsp_code':lsp_code, 'zipgroup_code':zipgroup_code, 'pincode':pincode, 'article_id':article_id, 'prod_grp':prod_grp, 'dc_code':dc_code, 'pagination':pagination, 'selected_action':selected_action, 'display_list':display_list, 'header_list':header_list, 'content_list':content_list, }, context_instance=RequestContext(request)) elif selected_action.lower() == 'update' or selected_action.lower() == 'insert' or selected_action.lower() == 'delete': from web.sbf_forms import FileUploadForm errors, message = [], None consolidated_updates = None form = None flag = None to_update = None path_to_save = None if request.method == 'POST': if request.POST.get("upload") == 'Upload': import xlrd form = FileUploadForm(request.POST, request.FILES) if form.is_valid(): path_to_save = save_uploaded_file(request.FILES['status_file']) errors, consolidated_updates = get_ifs_updates(request, path_to_save, selected_table, selected_action, False) if not errors: flag = 'updated' else: flag='upload_errors' else: errors.append(['Please select the excel file and then click upload!!!']) form = FileUploadForm() flag = 'new' else: form = FileUploadForm() flag = 'new' ifs_dict = { 'forms' : form, 'errors' : errors, 'consolidated_updates' : consolidated_updates, 'flag' : flag, 'path_to_save' : path_to_save, 'title_table':title_table, 'selected_action':selected_action, #'header_list':header_list, #'content_list':content_list, } return render_to_response('ifs/ifs_upload.html', ifs_dict, context_instance=RequestContext(request))