def change_request(request): """ This view enables the user to add a change request or view a change request put by him Argument: Http Request Return: Render change_form.html """ if request.method == 'POST': sessiondata = ChangeRequestForm(request.POST) purchase_order_of_session = sessiondata.data['purchase_order'] session = sessiondata.data['session'] object = VoucherId.objects.filter(session_id = session).\ filter(purchase_order_of_session = purchase_order_of_session).values() if object: voucherid = VoucherId.objects.\ filter(purchase_order_of_session=purchase_order_of_session,\ session_id=session).values('purchase_order_id') for value in voucherid: purchase_order = value['purchase_order_id'] bill = Bill.objects.values('grand_total').\ get(purchase_order=purchase_order) surcharge = TaxesApplied.objects.values('surcharge__tax_name',\ 'id','tax').filter(purchase_order_id = purchase_order) details = VoucherId.objects.values\ ('purchase_order__buyer__first_name',\ 'purchase_order__buyer__last_name', 'purchase_order__buyer__customer__address__street_address',\ 'purchase_order__buyer__customer__title', 'purchase_order__buyer__customer__address__district',\ 'purchase_order__mode_of_payment__method', 'purchase_order__cheque_dd_number',\ 'purchase_order__cheque_dd_date').\ filter(purchase_order_of_session=purchase_order_of_session)[0] session_data = FinancialSession.objects.values(\ 'session_start_date','session_end_date').get(id=session) messages = "Order" + " : " + purchase_order_of_session +\ " and Session" + " : " + str(session_data['session_start_date']) +\ ":" + str(session_data['session_end_date']) request_status = request_notify() return render(request,'catalog/change_form.html',\ {'details': details,'order_id':purchase_order_of_session,\ 'session':session,'surcharge':surcharge,'bill':bill,\ 'messages':messages, 'request':request_status}) else: form = ChangeRequestForm() errors = "No such purchase order number in selected session" request_status = request_notify() temp = {"form" : form , "errors" : errors,\ 'request':request_status} return render(request, 'catalog/change_request.html', temp) else: form = ChangeRequestForm() request_status = request_notify() return render(request, 'catalog/change_request.html', \ {'form':form,'request':request_status})
def view_results(self,request): """ Converting data from dict to list form so that it can be render easily. Calling template to be rendered. """ generated_data_list = [] for data in self.details: temporary = [] for field in self.fields_list: temporary.append(data[field]) generated_data_list.append(temporary) flag = 0 suspense_flag = 0 if 'proforma' in request.GET: flag=1 suspense = SuspenseOrder.objects.filter(purchase_order=self.title) if suspense: suspense_flag = 1 request_status = request_notify() temp = {'client':self.selected_fields_client, 'order':self.selected_fields_order, 'result':generated_data_list, 'title':self.title,'order_id':self.purchase_order_id, 'records':self.results,'request':request_status, 'flag':flag,\ 'suspense_flag':suspense_flag} return render(request,'reports/search_result.html',temp)
def voucher_show(request): """ This function shows the number of vouchers generated for a particular order Argument:Http Request Return:Render Voucher Show """ id = request.GET['order_id'] purchase_order = PurchaseOrder.objects.get(id=id) voucher_no_list = [] voucher_obj_distinct = [] temp_voucherid = VoucherId.objects.values('voucher_no').\ filter(purchase_order=purchase_order)[0] message = 'Voucher' if temp_voucherid['voucher_no'] == 0: message = "No voucher to display" voucherid = VoucherId.objects.values('purchase_order','purchased_item',\ 'voucher_no', 'session','purchase_order_of_session').\ filter(purchase_order = purchase_order) for value in voucherid: if value['voucher_no'] not in voucher_no_list: voucher_no_list.append(value['voucher_no']) voucher_obj_distinct.append(value) suspense_order = SuspenseOrder.objects.values('voucher', 'session_id_id').\ filter(purchase_order=id, is_cleared=1) request_status = request_notify() return render(request, 'voucher/voucher_show.html', {\ 'voucherid' : voucher_obj_distinct, 'suspense_order':suspense_order,\ 'request':request_status, 'message':message})
def view_results(self,request): """ Converting data from dict to list form so that it can be render easily. Calling template to be rendered. Argument:Http Request Return:Render Search Result """ generated_data_list = [] for data in self.details: temporary = [] for field in self.fields_list: temporary.append(data[field]) generated_data_list.append(temporary) flag = 0 suspense_flag = 0 if 'proforma' in request.GET: flag=1 if 'Client' not in request.GET and 'proforma' not in request.GET: try: voucherid = VoucherId.objects.values('purchase_order').\ filter(purchase_order_of_session=self.title)[0] suspense = SuspenseOrder.objects.filter( purchase_order=voucherid['purchase_order']) if suspense: suspense_flag = 1 except: pass request_status = request_notify() temp = {'client':self.selected_fields_client, 'order':self.selected_fields_order, 'result':generated_data_list, 'title':self.title,'order_id':self.purchase_order_id, 'records':self.results,'request':request_status, 'flag':flag,\ 'suspense_flag':suspense_flag} return render(request,'reports/search_result.html',temp)
def index(request): """ It lists all the products and the user can select any product and can add them to the cart. Argument: Http Request Return: Render index.html """ """error = {} categorylist = Category.objects.all() if categorylist.count() == 0: nocategory = True return render(request, 'catalog.html', {'nocategory': nocategory}) productlist = Product.objects.all(); if productlist.count() == 0: noproduct = True return render(request, 'catalog.html', {'noproduct': noproduct}) return render(request,'catalog.html', {'productlist': productlist, 'categorylist': categorylist}) pass""" request_status = request_notify() return render(request,'index.html',{'request':request_status})
def search_form(request): """ View to display "search.html" i.e. the search interface or form. First it'll check which type of request is i.e; 'search' request or 'generate register' request. On the basis of that, it'll assign code to search_type_code which will be used in template. It'll raise an exception if anyone give invalid value in 'type'. Argument:Http Request Return:Render Search """ try: if request.GET["type"] == "search": submit_url = "/search_result/" search_type_code = "1" client_form = ClientForm() order_form = OrderForm() request_status = request_notify() temp = { "client_form": client_form, "order_form": order_form, "code": search_type_code, "url": submit_url, "request": request_status, } elif request.GET["type"] == "register": submit_url = "/generate_register/" search_type_code = "2" client_form = ClientForm() order_form = OrderForm() add_constraints = AddConstraints() request_status = request_notify() temp = { "client_form": client_form, "order_form": order_form, "add_constraints": add_constraints, "code": search_type_code, "url": submit_url, "request": request_status, } else: return HttpResponse("<h1>Page not found</h1>") except: return HttpResponse("<h1>Invalid URL</h1>") return render(request, "reports/search.html", temp)
def details(request): """ displays the details of the purchase of the client """ order_id = request.GET['order_id'] purchases = PurchasedItem.objects.filter(purchase_order__id=order_id) request_status = request_notify() return render(request,'reports/history_details.html',\ {'purchases':purchases,'order_id':order_id,'request':request_status})
def list_saved_registers(request): """ List saved registers """ local_url = settings.LOCAL_URL list_of_registers = SavedRegisters.objects.\ values('title','selected_fields') request_status = request_notify() return render(request,'reports/list_of_registers.html', \ {'list_of_registers':list_of_registers,'local_url': local_url,\ 'request':request_status})
def select_note(request): """ View to handle selection of extra notes while adding quoted order. argument: Http Request. returns: Render form for selection of note form. """ quoted_order_id = request.session.get('quoted_order_id') form = SelectNoteForm(initial={'quoted_order':quoted_order_id}) request_status = request_notify() return render(request, 'bills/select_note.html', \ {'form':form, 'request':request_status})
def proforma_details(request): """ displays the details of the proforma order of the client Argument:Http Request Return:Render Proforma Details """ order_id = request.GET['order_id'] quotes = QuotedItem.objects.filter(quoted_order__id=order_id) request_status = request_notify() return render(request,'reports/proforma_details.html',\ {'quotes':quotes,'order_id':order_id,'request':request_status})
def clearance_search(request): if request.method == 'POST': sessiondata = SessionSelectForm(request.POST) if sessiondata.is_valid(): voucher = sessiondata.data['voucher'] session = sessiondata.data['session'] object = SuspenseOrder.objects.filter(session_id=session).\ filter(voucher=voucher).values() if object: form = Clearance_form(initial={'voucher_no':voucher,\ 'session':session, 'labour_charge':0, 'car_taxi_charge':0,\ 'boring_charge_external':0, 'boring_charge_internal':0}) clearance = 'enable' session_data = FinancialSession.objects.values(\ 'session_start_date','session_end_date').get(id=session) messages = " Voucher" + " : " + voucher + " and Session" + " : " +\ str(session_data['session_start_date']) + ":" +\ str(session_data['session_end_date']) request_status = request_notify() return render(request, 'suspense/suspense_first.html', \ {'form':form, 'clearance':clearance,\ 'messages':messages, 'request':request_status}) else: form = SessionSelectForm() errors = "No such voucher number in selected session" request_status = request_notify() temp = {"form":form , "message":errors,\ 'request':request_status} return render(request, 'suspense/suspense_first.html', temp) else: form = SessionSelectForm(request.POST) request_status = request_notify() return render(request, 'suspense/suspense_first.html',\ {'form':form, 'request':request_status}) else: form = SessionSelectForm() request_status = request_notify() return render(request, 'suspense/suspense_first.html',\ {'form':form, 'request':request_status})
def search_form(request): """ View to display "search.html" i.e. the search interface or form. First it'll check which type of request is i.e; 'search' request or 'generate register' request. On the basis of that, it'll assign code to search_type_code which will be used in template. It'll raise an exception if anyone give invalid value in 'type'. Argument:Http Request Return:Render Search """ try: if request.GET['type'] == 'search': submit_url = reverse('search_result') search_type_code = '1' client_form = ClientForm() order_form = OrderForm() request_status = request_notify() temp = {'client_form':client_form,'order_form':order_form, 'code':search_type_code, 'url':submit_url, 'request':request_status } elif request.GET['type'] == 'register': submit_url = reverse('view_register') search_type_code = '2' client_form = ClientForm() order_form = OrderForm() add_constraints= AddConstraints() request_status = request_notify() temp = {'client_form':client_form,'order_form':order_form, 'add_constraints':add_constraints,'code':search_type_code, 'url':submit_url, 'request':request_status } else: return HttpResponse('<h1>Page not found</h1>') except: return HttpResponse('<h1>Invalid URL</h1>') return render(request, 'reports/search.html',temp)
def history(request): """ displays the purchase history of the client """ user_id = request.GET['user_id'] purchases = VoucherId.objects.values('purchase_order',\ 'purchase_order_of_session','purchase_order__mode_of_payment__method',\ 'purchase_order__date_time').\ filter(purchase_order__buyer__id=user_id) request_status = request_notify() return render(request,'reports/purchase_history.html',\ {'purchases':purchases,'request':request_status})
def sessionselect(request): if request.method == 'POST': form = SessionSelectForm(request.POST) if form.is_valid(): session = request.POST['session'][0] voucher = request.POST['voucher'] Session = FinancialSession.objects.filter(id = session).\ values('session_start_date','session_end_date') for date in Session: session_start_date = date['session_start_date'] session_end_date = date['session_end_date'] object = SuspenseOrder.objects.filter(session_id=session).\ filter(voucher=voucher).values() if object: Transport = TransportForm1() messages = " Voucher "+" "+ voucher +" and Session"+" "+\ str(session_start_date)+":"+str(session_end_date) request_status = request_notify() temp = {"TransportForm":Transport, "session":session,\ "voucher":voucher,"messages":messages,'request':request_status} return render(request, 'suspense/transportform.html', temp) else: form = SessionSelectForm() request_status = request_notify() errors = "No such voucher number in selected session" temp = {"SelectForm":form, "errors":errors,\ 'request':request_status} return render(request, 'voucher/sessionselect.html', temp) else: form = SessionSelectForm(request.POST) request_status = request_notify() temp = {"SelectForm":form, 'request':request_status} return render(request, 'voucher/sessionselect.html', temp) else: form = SessionSelectForm() request_status = request_notify() temp = {"SelectForm":form,'request':request_status} return render(request, 'voucher/sessionselect.html', temp)
def list_saved_registers(request): """ List saved registers Argument:Http Request Return:Render List of Registers """ local_url = settings.LOCAL_URL list_of_registers = SavedRegisters.objects.values("title", "selected_fields") request_status = request_notify() return render( request, "reports/list_of_registers.html", {"list_of_registers": list_of_registers, "local_url": local_url, "request": request_status}, )
def tada_order_session(request): if request.method == 'POST': form = SessionSelectForm(request.POST) if form.is_valid(): session = request.POST['session'] voucher = request.POST['voucher'] object = SuspenseOrder.objects.filter(session_id=session).\ filter(voucher=voucher).values() if object: form = TaDaForm(initial={'voucher_no':voucher,\ 'session': session}) tada = 'enable' session_data = FinancialSession.objects.values(\ 'session_start_date','session_end_date').get(id=session) messages = " Voucher" + " : " + voucher + " and Session" + " : " +\ str(session_data['session_start_date']) + ":" +\ str(session_data['session_end_date']) request_status = request_notify() return render(request, 'suspense/form.html', \ {'form':form, 'tada':tada, 'messages':messages,\ 'request':request_status}) else: form = SessionSelectForm() request_status = request_notify() errors = "No such voucher number in selected session" temp = {"form":form , "errors":errors,'request':request_status} return render(request, 'suspense/form.html', temp) else: form = SessionSelectForm(request.POST) request_status = request_notify() return render(request, 'suspense/form.html', { 'form':form, 'request':request_status}) else: form = SessionSelectForm() request_status = request_notify() return render(request, 'suspense/form.html', { 'form':form,'request':request_status})
def order_added_success(request): order_id = request.session.get('purchase_order_id') details = PurchaseOrder.objects.values('buyer__first_name',\ 'buyer__last_name','buyer__customer__address__street_address',\ 'buyer__customer__title','buyer__customer__address__city',\ 'mode_of_payment__method','cheque_dd_number',\ 'cheque_dd_date').filter(id=order_id)[0] suspense_flag = 0 suspense = SuspenseOrder.objects.filter(purchase_order=order_id) if suspense: suspense_flag = 1 request_status = request_notify() return render(request,'catalog/order_added_success.html',\ {'details': details,'order_id':order_id,'request':request_status,\ 'suspense_flag':suspense_flag})
def list_products(request): """ This view lists products for viewing purpose Argument: Http Request Return: Render catalog page """ if request.method == 'POST': form = ProductListForm(request.POST) if form.is_valid(): select_lab = request.POST['select_lab'] root_name = Category.objects.get(id=select_lab) all_products = Product.objects.filter(category__parent__parent=select_lab) work_type = Category.objects.filter(parent=select_lab) category = Category.objects.filter(parent__parent=select_lab) result = [] for work in work_type: temp = [] temp.append(work.name) work_type_category = Category.objects.filter(parent=work.id) temp.append(work_type_category) products = Product.objects.filter(category__parent__parent=select_lab) temp.append(products) result.append(temp) return render(request,'catalog/list_products.html',{'result':result, 'root_name':root_name}) # all_products = Product.objects.filter(category__parent__parent=select_lab) # all_categories=Category.objects.filter().order_by('name') # products_dict = { } # for one_category in all_categories: # if one_category.is_leaf_node(): # one_category_dict = {} # products_list = Product.objects.filter(category=one_category) # attributes_dict = { } # for one_product in products_list: # attributes_list = Catalog.objects.filter(product = one_product) # attributes_dict[one_product] = attributes_list # one_category_dict[one_category.name] = attributes_dict # products_dict[one_category.id] = one_category_dict # return render(request,'catalog/list_products.html',{'nodes':all_categories, \ # 'products_dict':products_dict}) else: form = ProductListForm() request_status = request_notify() return render(request,'catalog/product_list_form.html', \ {'form':form,'request':request_status})
def history(request): """ displays the purchase history of the client Argument:Http Request Return:Render Purchase History """ user_id = request.GET['user_id'] purchases = VoucherId.objects.values('purchase_order',\ 'purchase_order_of_session','purchase_order__mode_of_payment__method',\ 'purchase_order__date_time').\ filter(purchase_order__buyer__id=user_id) proformas = QuotedOrderofSession.objects.values('quoted_order',\ 'quoted_order_session', 'quoted_order__date_time').\ filter(quoted_order__buyer__id=user_id) request_status = request_notify() return render(request,'reports/purchase_history.html',\ {'purchases':purchases,'proformas':proformas,'request':request_status})
def voucher_show(request): id = request.GET["order_id"] purchase_order = PurchaseOrder.objects.get(id=id) voucher_no_list = [] voucher_obj_distinct = [] voucherid = VoucherId.objects.values( "purchase_order", "purchased_item", "voucher_no", "session", "purchase_order_of_session" ).filter(purchase_order=purchase_order) for value in voucherid: if value["voucher_no"] not in voucher_no_list: voucher_no_list.append(value["voucher_no"]) voucher_obj_distinct.append(value) suspense_order = SuspenseOrder.objects.values("voucher", "session_id_id").filter(purchase_order=id, is_cleared=1) request_status = request_notify() return render( request, "voucher/voucher_show.html", {"voucherid": voucher_obj_distinct, "suspense_order": suspense_order, "request": request_status}, )
def clearance_options(request): voucher_no = request.GET.get('voucher_no') session_id = request.GET.get('session') financialsession = FinancialSession.objects.values('session_start_date',\ 'session_end_date').get(id=session_id) voucherid = VoucherId.objects.values('purchase_order_of_session',\ 'purchase_order').filter(voucher_no=voucher_no, session_id=session_id)[0] with_transport = 0 try: Transport.objects.get(voucher_no=voucher_no, session_id=session_id) except: with_transport = 1 details = PurchaseOrder.objects.values('buyer__first_name',\ 'buyer__last_name','buyer__customer__address__street_address',\ 'buyer__customer__title','buyer__customer__address__city',\ 'mode_of_payment__method','cheque_dd_number',\ 'cheque_dd_date').filter(id=voucherid['purchase_order'])[0] request_status = request_notify() return render(request,'suspense/clearance_options.html',\ {'details': details,'order_id':voucherid['purchase_order_of_session'], 'request':request_status, 'voucher_no':voucher_no,\ 'session_id':session_id, 'financialsession':financialsession,\ 'request':request_status, 'with_transport':with_transport})
def order_added_success(request): """ This view displays Success message after order is successfully added Argument: Http Request Return: Render order_added_success.html """ order_id = request.session.get('purchase_order_id') details = VoucherId.objects.values('purchase_order__buyer__first_name',\ 'purchase_order__buyer__last_name', 'purchase_order__buyer__customer__address__street_address',\ 'purchase_order__buyer__customer__title', 'purchase_order__buyer__customer__address__district',\ 'purchase_order__mode_of_payment__method', 'purchase_order__cheque_dd_number',\ 'purchase_order__cheque_dd_date', 'receipt_no_of_session').filter(purchase_order=order_id)[0] suspense_flag = 0 suspense = SuspenseOrder.objects.filter(purchase_order=order_id) if suspense: suspense_flag = 1 request_status = request_notify() return render(request,'catalog/order_added_success.html',\ {'details': details,'order_id':order_id,'request':request_status,\ 'suspense_flag':suspense_flag})
def mark_clear(request): suspense_obj = SuspenseOrder.objects.filter().\ values('voucher','session_id') suspense_cleared = SuspenseOrder.objects.filter().values(\ 'voucher','session_id','is_cleared') list_clearance = [] list_user = [] list_details = [] for suspense_var in suspense_obj: SuspenseClearance_object = SuspenseClearance.objects.\ filter(session = suspense_var['session_id']).\ filter(voucher_no=suspense_var['voucher']).values('session',\ 'voucher_no', 'lab_testing_staff','field_testing_staff',\ 'test_date','clear_date') if SuspenseClearance_object: list_clearance.append(SuspenseClearance_object) for temp_var in list_clearance: for voucher_var in temp_var: voucher_object = VoucherId.objects.\ filter(voucher_no=voucher_var['voucher_no']).\ filter(session_id=voucher_var['session']).\ values('purchase_order__buyer__first_name',\ 'purchase_order__buyer__last_name',\ 'purchase_order__buyer__customer__address__street_address',\ 'purchase_order__buyer__customer__address__city',\ 'purchase_order__buyer__customer__address__province') if voucher_object: list_user.append(voucher_object) list_user_clr = zip (list_user,list_clearance) for suspense_var,voucher_var in list_user_clr: final_list = zip(suspense_var,voucher_var) list_details.append(final_list) request_status = request_notify() return render(request, 'suspense/mark_suspense_clear.html', { 'listed':list_details, 'suspense_cleared':suspense_cleared,\ 'request':request_status})
def list_products(request): """ This view lists products for viewing purpose Argument: Http Request Return: Render catalog page """ if request.method == "POST": form = ProductListForm(request.POST) if form.is_valid(): select_lab = request.POST["select_lab"] root_name = Category.objects.get(id=select_lab) work_type = Category.objects.filter(parent=select_lab) result = [] for work in work_type: temp = [] temp.append(work.name) work_type_category = Category.objects.filter(parent=work.id) temp.append(work_type_category) products = Product.objects.filter( category__parent__parent=select_lab) temp.append(products) result.append(temp) return render( request, "catalog/list_products.html", { "result": result, "root_name": root_name }, ) # all_products = Product.objects.filter( # category__parent__parent=select_lab) # all_categories=Category.objects.filter().order_by('name') # products_dict = { } # for one_category in all_categories: # if one_category.is_leaf_node(): # one_category_dict = {} # products_list = Product.objects.filter( # category=one_category) # attributes_dict = { } # for one_product in products_list: # attributes_list = Catalog.objects.filter( # product = one_product) # attributes_dict[one_product] = attributes_list # one_category_dict[one_category.name] = attributes_dict # products_dict[one_category.id] = one_category_dict # return render(request,'catalog/list_products.html',{'nodes # ':all_categories, \ # 'products_dict':products_dict}) else: form = ProductListForm() request_status = request_notify() return render( request, "catalog/product_list_form.html", { "form": form, "request": request_status }, )
def clearance_result(request): if request.method == 'POST': form = Clearance_form(request.POST) if form.is_valid(): formdata = form.cleaned_data voucher_no = formdata['voucher_no'] session = formdata['session'] labour_charge = formdata['labour_charge'] car_taxi_charge = formdata['car_taxi_charge'] boring_charge_external = formdata['boring_charge_external'] boring_charge_internal = formdata['boring_charge_internal'] lab_testing_staff = formdata['lab_testing_staff'] field_testing_staff = formdata['field_testing_staff'] test_date = formdata['test_date'] clear_date = formdata['clear_date'] session_id = str(session) split = session_id.split(' : ') start_date = datetime.strptime(split[0], '%Y-%m-%d').date() end_date = datetime.strptime(split[1], '%Y-%m-%d').date() financialsession = FinancialSession.objects.values('id').\ get(session_start_date=start_date, session_end_date=end_date) suspense_object = SuspenseOrder.objects.filter(voucher=voucher_no,\ session_id=session).update(is_cleared=0) try: SuspenseClearance.objects.get(voucher_no=voucher_no,\ session=financialsession['id']) SuspenseClearance.objects.\ filter(voucher_no=voucher_no, session=financialsession['id']).\ update(session=session, voucher_no=voucher_no,\ work_charge=0, labour_charge=labour_charge,\ car_taxi_charge=car_taxi_charge,\ boring_charge_external=boring_charge_external,\ boring_charge_internal=boring_charge_internal,\ lab_testing_staff=lab_testing_staff,\ field_testing_staff=field_testing_staff,\ test_date=test_date) except: obj= SuspenseClearance(session=session, voucher_no=voucher_no, work_charge=0, labour_charge=labour_charge, car_taxi_charge=car_taxi_charge, boring_charge_external=boring_charge_external, boring_charge_internal=boring_charge_internal, lab_testing_staff=lab_testing_staff, field_testing_staff=field_testing_staff, test_date=test_date) obj.save() request_status = request_notify() temp = {'session':session,'voucher_no': voucher_no,\ 'labour_charge':labour_charge,\ 'car_taxi_charge':car_taxi_charge, 'boring_charge_external':boring_charge_external, 'boring_charge_internal':boring_charge_internal, 'lab_testing_staff':lab_testing_staff, 'field_testing_staff':field_testing_staff,\ 'test_date':test_date, 'clear_date':clear_date,\ 'request':request_status} return render(request, 'suspense/clearance_result.html', temp) else: voucher = request.POST['voucher_no'] session = request.POST['session'] transport = Transport.objects.values('total').\ get(voucher_no=voucher, session=session) form = Clearance_form(request.POST,initial={'voucher_no': voucher,\ 'session': session, 'car_taxi_charge':transport['total']}) clearance = 'enable' message = "Fields are mandatory" request_status = request_notify() return render(request, 'suspense/suspense_first.html', \ {'form':form, 'clearance':clearance, 'message':message, 'request':request_status}) else: return HttpResponseRedirect(\ reverse('librehatti.suspense.views.clearance_search'))
def select_note(request): quoted_order_id = request.session.get('quoted_order_id') form = SelectNoteForm(initial={'quoted_order': quoted_order_id}) request_status = request_notify() return render(request, 'bills/select_note.html', \ {'form':form, 'request':request_status})
def transportbill(request): if request.method == 'POST': form = TransportForm1(request.POST) if form.is_valid(): if not 'session' in request.POST: HttpResponseRedirect(\ reverse("librehatti.suspense.views.sessionselect")) session = FinancialSession.objects.\ get(id=request.POST['session']) voucher = request.POST['voucher'] date_of_generation = request.POST['Date_of_generation'] vehicle = Vehicle.objects.get(id=request.POST['Vehicle']) kilometers_list = simplejson.dumps(\ request.POST.getlist("kilometer")) kilometers = json.loads(kilometers_list) dated = simplejson.dumps(request.POST.getlist("date")) date = json.loads(dated) rate_object = Surcharge.objects.filter(\ tax_name='transportation').values('value')[0] rate = int(rate_object['value']) distance = 0 for temp_var in kilometers: distance = distance + int(temp_var) total = rate * distance suspense_object = SuspenseOrder.objects.filter(voucher=voucher,\ session_id=session).update(is_cleared=0) try: if Transport.objects.filter(voucher_no=voucher).exists(): Transport.objects.filter(voucher_no = voucher).\ update(vehicle=vehicle,kilometer=kilometers ,\ date_of_generation=date_of_generation, total = total,\ date=date, rate=rate, voucher_no=voucher,\ session=session) else: obj = Transport(vehicle=vehicle, kilometer=kilometers,\ date_of_generation=date_of_generation, total=total,\ date=date, rate=rate, voucher_no=voucher,\ session=session) obj.save() except: pass temp = Transport.objects.filter(voucher_no=voucher).values() total_amount = Transport.objects.filter(voucher_no=voucher).\ aggregate(Sum('total')).get('total__sum', 0.00) zipped_data = zip(date, kilometers) transport_total = [] for date_var,kilometers_var in zipped_data: cal_total = rate * int(kilometers_var) transport_total.append(cal_total) zip_data = zip(date, kilometers, transport_total) header = HeaderFooter.objects.values('header').\ get(is_active=True) footer = HeaderFooter.objects.values('footer').\ get(is_active=True) request_status = request_notify() session_id = session.id return render(request, 'suspense/transport_summary.html', {'words':num2eng(total_amount), 'total':total, 'header':header, 'kilometers':kilometers, 'rate':rate,\ 'date':date, "voucherid":voucher, "temp":temp,\ 'zip_data':zip_data, 'total_amount':total_amount,\ 'date_of_generation':date_of_generation,\ 'vehicle':vehicle,'request':request_status,\ 'session':session_id}) else: message = " Fields are mandatory" session = request.POST['session'] voucher = request.POST['voucher'] object = SuspenseOrder.objects.filter(session_id=session).\ filter(voucher=voucher).values() if object: TransportForm = TransportForm1(request.POST) message = " Fields are mandatory" request_status = request_notify() temp = {"TransportForm":TransportForm, "session":session,\ "voucher":voucher, "message":message, 'request':request_status} return render(request, 'suspense/transportform.html', temp) else: form = SessionSelectForm() request_status = request_notify() temp = {"SelectForm":form,'request':request_status} return render(request, 'voucher/sessionselect.html', temp)
def tada_result(request): if request.method == 'POST': form = TaDaForm(request.POST) if form.is_valid(): session = request.POST['session'] voucher = request.POST['voucher_no'] departure_time_from_tcc = request.POST['departure_time_from_tcc'] arrival_time_at_site = request.POST['arrival_time_at_site'] departure_time_from_site = request.POST['departure_time_from_site'] arrival_time_at_tcc = request.POST['arrival_time_at_tcc'] start_test_date = request.POST['start_test_date'] end_test_date = request.POST['end_test_date'] source_site = request.POST['source_site'] testing_site = request.POST['testing_site'] testing_staff = request.POST['testing_staff'] testing_staff_list = testing_staff.split(',') list_staff = [] if start_test_date == end_test_date: days = 1 else: no_of_days = datetime.strptime(end_test_date, '%Y-%m-%d') -\ datetime.strptime(start_test_date, '%Y-%m-%d') days = no_of_days.days + 1 for testing_staff_var in testing_staff_list: testing_staff_details = Staff.objects.filter(\ code=testing_staff_var).values('name','daily_ta_da') for tada_val in testing_staff_details: tada_val['daily_ta_da'] = tada_val['daily_ta_da'] * days list_staff.append(testing_staff_details) header = HeaderFooter.objects.values('header').get(is_active=True) footer = HeaderFooter.objects.values('footer').get(is_active=True) voucher_obj = VoucherId.objects.filter(session=session).\ filter(voucher_no=voucher).\ values_list('purchase_order_id', flat=True) purchase_order_var = 0 for temp_var in voucher_obj: purchase_order_var = temp_var purchase_order_object = PurchaseOrder.objects.filter(\ id = purchase_order_var).values('id', 'buyer_id__username',\ 'buyer_id__first_name', 'buyer_id__last_name') tada_total = 0 for temp_var in list_staff: for tada_value in temp_var: tada_total = tada_value['daily_ta_da'] + tada_total suspense_object = SuspenseOrder.objects.filter(voucher=voucher,\ session_id=session).update(is_cleared=0) if TaDa.objects.filter(voucher_no=voucher).\ filter(session=session).exists(): TaDa.objects.filter(voucher_no=voucher).\ update(voucher_no=voucher, session=session,\ departure_time_from_tcc=departure_time_from_tcc,\ arrival_time_at_site=arrival_time_at_site,\ departure_time_from_site=departure_time_from_site,\ arrival_time_at_tcc=arrival_time_at_tcc,\ tada_amount=tada_total, start_test_date=start_test_date,\ end_test_date=end_test_date, source_site=source_site,\ testing_site=testing_site , testing_staff=testing_staff,) else: obj = TaDa(voucher_no=voucher, session=session,\ departure_time_from_tcc=departure_time_from_tcc,\ arrival_time_at_site=arrival_time_at_site,\ departure_time_from_site=departure_time_from_site,\ arrival_time_at_tcc=arrival_time_at_tcc,\ tada_amount=tada_total, start_test_date=start_test_date,\ end_test_date=end_test_date, source_site=source_site,\ testing_site=testing_site , testing_staff=testing_staff ) obj.save() tada_obj = TaDa.objects.values('departure_time_from_tcc',\ 'arrival_time_at_site', 'departure_time_from_site',\ 'arrival_time_at_tcc', 'tada_amount', 'start_test_date',\ 'end_test_date', 'source_site', 'testing_site',\ 'date_of_generation').get(voucher_no=voucher) tada_amount_in_words = tada_total header = HeaderFooter.objects.values('header').get(is_active=True) footer = HeaderFooter.objects.values('footer').get(is_active=True) request_status = request_notify() return render(request, 'suspense/tada_summary.html',{\ 'purchase_order_object':purchase_order_object, 'tada':tada_obj, 'purchase_order_id':voucher,\ 'list_staff':list_staff, 'words':num2eng(int(tada_total)),\ 'total':tada_total, 'request':request_status}) else: session = request.POST['session'] voucher = request.POST['voucher_no'] form = TaDaForm(request.POST,initial={'voucher_no':voucher,\ 'session': session}) message = 'Fields are mandatory' tada = 'enable' request_status = request_notify() return render(request, 'suspense/form.html',{ 'form':form,'message':message,'request':request_status}) else: return HttpResponseRedirect(\ reverse('librehatti.suspense.views.tada_order_session'))
def select_note(request): quoted_order_id = request.session.get('quoted_order_id') form = SelectNoteForm(initial={'quoted_order':quoted_order_id}) request_status = request_notify() return render(request, 'bills/select_note.html', \ {'form':form, 'request':request_status})
def view_register(self, request): """ Converting data from dict to list form so that it can be render easily. Calling template to be rendered. """ generated_data_list = [] try: details = self.details except BaseException: details = self.client_details for data in details: temporary = [] if self.surcharge: try: data["bill__grand_total"] except BaseException: error_type = "Insufficient fields" error = "Total must be included in field list" temp = {"type": error_type, "message": error} return render(request, "error_page.html", temp) for field in self.fields_list: temporary.append(data[field]) tax_pos = 0 for val in request.GET.getlist("surcharges"): tax = ( TaxesApplied.objects.values_list("tax", flat=True) .filter(purchase_order=data["id"]) .filter(surcharge=val) ) try: self.total_taxes[tax_pos] = ( self.total_taxes[tax_pos] + tax[0] ) except BaseException: pass if tax: temporary[-1:-1] = tax else: temporary[-1:-1] = ["None"] tax_pos = tax_pos + 1 generated_data_list.append(temporary) number_of_fields = len(self.selected_fields_order) + len( self.selected_fields_client ) if ( "Total With Taxes" in self.selected_fields_order and "Total Without Taxes" in self.selected_fields_order ): number_of_fields -= 1 number_of_fields = number_of_fields - self.decrement_field request_status = request_notify() temp = { "client": self.selected_fields_client, "order": self.selected_fields_order, "result": generated_data_list, "title": self.title, "number_of_fields": number_of_fields, "get_data": self.get_data, "save_option": self.save_option, "request": request_status, } try: temp["grand_total"] = self.grand_total_list except BaseException: pass try: self.selected_fields_order[-1:-1] = self.surcharge temp["surcharge"] = self.surcharge self.grand_total_list[-1:-1] = self.total_taxes except BaseException: pass return render(request, "reports/generated_register.html", temp)
def view_register(self,request): """ Converting data from dict to list form so that it can be render easily. Calling template to be rendered. """ generated_data_list = [] try: details = self.details except: details = self.client_details for data in details: temporary = [] if self.surcharge: try: data['bill__grand_total'] except: error_type = "Insufficient fields" error = "Total must be included in field list" temp = {'type': error_type, 'message':error} return render(request,'error_page.html',temp) for field in self.fields_list: temporary.append(data[field]) tax_pos = 0 for val in request.GET.getlist('surcharges'): tax = TaxesApplied.objects.values_list('tax', flat = True).\ filter(purchase_order = data['id']).filter(surcharge = val) try: self.total_taxes[tax_pos] = self.total_taxes[tax_pos] + \ tax[0] except: pass if tax: temporary[-1:-1] = tax else: temporary[-1:-1] = ['None'] tax_pos = tax_pos + 1 generated_data_list.append(temporary) number_of_fields = len(self.selected_fields_order) + len(self.\ selected_fields_client) if ('Total With Taxes' in self.selected_fields_order \ and 'Total Without Taxes' in self.selected_fields_order): number_of_fields -= 1 number_of_fields = number_of_fields - self.decrement_field request_status = request_notify() temp = {'client':self.selected_fields_client, 'order':self.selected_fields_order, 'result':generated_data_list, 'title':self.title, 'number_of_fields':number_of_fields,'get_data': self.get_data, 'save_option': self.save_option,\ 'request':request_status} try: temp['grand_total'] = self.grand_total_list except: pass try: self.selected_fields_order[-1:-1] = self.surcharge temp['surcharge'] = self.surcharge self.grand_total_list[-1:-1] = self.total_taxes except: pass return render(request,'reports/generated_register.html',temp)
def view_register(self, request): """ Converting data from dict to list form so that it can be render easily. Calling template to be rendered. """ generated_data_list = [] try: details = self.details except: details = self.client_details for data in details: temporary = [] if self.surcharge: try: data['bill__grand_total'] except: error_type = "Insufficient fields" error = "Total must be included in field list" temp = {'type': error_type, 'message': error} return render(request, 'error_page.html', temp) for field in self.fields_list: temporary.append(data[field]) tax_pos = 0 for val in request.GET.getlist('surcharges'): tax = TaxesApplied.objects.values_list('tax', flat = True).\ filter(purchase_order = data['id']).filter(surcharge = val) try: self.total_taxes[tax_pos] = self.total_taxes[tax_pos] + \ tax[0] except: pass if tax: temporary[-1:-1] = tax else: temporary[-1:-1] = ['None'] tax_pos = tax_pos + 1 generated_data_list.append(temporary) number_of_fields = len(self.selected_fields_order) + len(self.\ selected_fields_client) if ('Total With Taxes' in self.selected_fields_order \ and 'Total Without Taxes' in self.selected_fields_order): number_of_fields -= 1 number_of_fields = number_of_fields - self.decrement_field request_status = request_notify() temp = {'client':self.selected_fields_client, 'order':self.selected_fields_order, 'result':generated_data_list, 'title':self.title, 'number_of_fields':number_of_fields,'get_data': self.get_data, 'save_option': self.save_option,\ 'request':request_status} try: temp['grand_total'] = self.grand_total_list except: pass try: self.selected_fields_order[-1:-1] = self.surcharge temp['surcharge'] = self.surcharge self.grand_total_list[-1:-1] = self.total_taxes except: pass return render(request, 'reports/generated_register.html', temp)
def change_request(request): """ This view enables the user to add a change request or view a change request put by him Argument: Http Request Return: Render change_form.html """ if request.method == "POST": sessiondata = ChangeRequestForm(request.POST) purchase_order_of_session = sessiondata.data["purchase_order"] session = sessiondata.data["session"] object = list( VoucherId.objects.filter(session_id=session).filter( purchase_order_of_session=purchase_order_of_session).values()) if object: voucherid = VoucherId.objects.filter( purchase_order_of_session=purchase_order_of_session, session_id=session, ).values("purchase_order_id") for value in voucherid: purchase_order = value["purchase_order_id"] bill = Bill.objects.values("grand_total").get( purchase_order=purchase_order) surcharge = TaxesApplied.objects.values( "surcharge__tax_name", "id", "tax").filter(purchase_order_id=purchase_order) details = VoucherId.objects.values( "purchase_order__buyer__first_name", "purchase_order__buyer__last_name", "purchase_order__buyer__customer__address__street_address", "purchase_order__buyer__customer__title", "purchase_order__buyer__customer__address__district", "purchase_order__mode_of_payment__method", "purchase_order__cheque_dd_number", "purchase_order__cheque_dd_date", ).filter(purchase_order_of_session=purchase_order_of_session)[0] session_data = FinancialSession.objects.values( "session_start_date", "session_end_date").get(id=session) messages = ("Order" + " : " + purchase_order_of_session + " and Session" + " : " + str(session_data["session_start_date"]) + ":" + str(session_data["session_end_date"])) request_status = request_notify() return render( request, "catalog/change_form.html", { "details": details, "order_id": purchase_order_of_session, "session": session, "surcharge": surcharge, "bill": bill, "messages": messages, "request": request_status, }, ) else: form = ChangeRequestForm() errors = "No such purchase order number in selected session" request_status = request_notify() temp = {"form": form, "errors": errors, "request": request_status} return render(request, "catalog/change_request.html", temp) else: form = ChangeRequestForm() request_status = request_notify() return render( request, "catalog/change_request.html", { "form": form, "request": request_status }, )