def ReceptionBill(): bills = InvoicesAPI.GetBills('reception') paymethod = {} if request.method == 'POST': if request.form['submit'] == 'Submit': try: paymethod['acttype'] = 'Assets' paymethod['actcat'] = request.form['PaymentMethod'] paymethod['actname'] = request.form['PaymentAccount'] paymethod['currency'] = request.form['PaymentCurrency'] paymethod['debit'] = request.form['debit'] paymethod['credit'] = 0 InvoicesAPI.CreateBill( session['username'], session['password'], request.form['PaymentDate'], 'reception', request.form.getlist('account-type'), request.form.getlist('account-category'), request.form.getlist('account-name'), request.form.getlist('currency'), paymethod['credit'], request.form.getlist('credit'), request.form.getlist('description'), paymethod, request.form['comments']) flash('Bill successfully created...', category='success') return redirect(url_for('invoices.ReceptionBill')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.ReceptionBill')) return render_template('invoices/reception_bill.html', username=session['username'], role=session['role'], bills=bills)
def edit_customer(cst): form = EnterForms.CustomersForm(request.form) data = InvoicesAPI.GetAllCustomers() data1 = InvoicesAPI.GetOneCustomer(session['username'], session['password'], cst) if request.method == 'POST': if request.form['submit'] == 'Submit' and form.validate(): try: InvoicesAPI.UpdateCustomer( session['username'], session['password'], cst, request.form['name'], request.form['address'], request.form['phone1'], request.form['phone2'], request.form['email'], request.form['pobox'], request.form['description']) flash('Provider updated successfully', category='success') return redirect(url_for('invoices.Customers')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.Customers')) return render_template('invoices/edit_customer.html', username=session['username'], role=session['role'], form=form, data=data, data1=data1)
def ViewPaymentBill(billcode): Appr = InvoicesAPI.BillApproversList() bills = InvoicesAPI.GetBills('payment') paymethod = {} data1, data2 = InvoicesAPI.GetOneBill(billcode, 'payment') if request.method == 'POST': if request.form['submit'] == 'Submit' and session['username'] in Appr: try: InvoicesAPI.RegisterBill(session['username'], session['password'], billcode, request.form['status']) flash('Bill registered successfully...', category='success') return redirect(url_for('invoices.PaymentBill')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.PaymentBill')) else: flash( 'This user does not have permission to register this bill...', category='fail') return redirect( url_for('invoices.ViewPaymentBill', billcode=billcode)) return render_template('invoices/view_payment_bill.html', username=session['username'], role=session['role'], bills=bills, data1=data1, data2=data2)
def ViewInvoice(code, tpy): Appr = InvoicesAPI.ApproversList() iframe = url_for('invoices.InvoiceView', code=code) invs = InvoicesAPI.GetInvoices(tpy) RS, CGS, Stat = InvoicesAPI.REVSnCOST(code) if request.method == 'POST': if request.form['submit'] == 'Submit' and session['username'] in Appr: if tpy == 'procurement' or tpy == 'return': try: InvoicesAPI.UpdateInvoice(session['username'], session['password'], code, tpy, request.form['statuses']) flash('Invoice updated successfully...', category='success') return redirect( url_for('invoices.ViewInvoice', code=code, tpy=tpy)) except Exception as e: flash(str(e), category='fail') return redirect( url_for('invoices.ViewInvoice', code=code, tpy=tpy)) elif tpy == 'sales' or tpy == 'refund': try: InvoicesAPI.UpdateInvoice( session['username'], session['password'], code, tpy, request.form['statuses'], REV_Account=request.form['RVACT'], CGS_Account=request.form['CGSACT']) flash('Invoice updated successfully...', category='success') return redirect( url_for('invoices.ViewInvoice', code=code, tpy=tpy)) except Exception as e: flash(str(e), category='fail') return redirect( url_for('invoices.ViewInvoice', code=code, tpy=tpy)) else: flash( 'User does not have permission to approve or cancel this invoice', category='fail') return redirect(url_for('invoices.ViewInvoice', code=code, tpy=tpy)) return render_template('invoices/view_invoice.html', username=session['username'], role=session['role'], invs=invs, iframe=iframe, type=tpy, RS=RS, CGS=CGS, Stat=Stat)
def GrabService(code): s = InvoicesAPI.GetService(code) return jsonify(serviceid=s[0], servicename=s[1], servicetype=s[2], servicecost=s[3], serviceprice=s[4])
def InvoiceView(code): SentData, InvoiceData, ItmData = InvoicesAPI.GetPrintedInvoice(code) cmp = EnterpriseAPI.GetCompanyProfile() return render_template('invoices/printed_invoice.html', SentData=SentData, InvoiceData=InvoiceData, ItmData=ItmData, cmp=cmp)
def EditRefundInvoice(invcode): customers = InvoicesAPI.GetAllCustomers() currencies = AccountingAPI.GetAllCurrencies() itms = EnterpriseAPI.ItemPicker() pkgs = EnterpriseAPI.PackagePicker() invs = InvoicesAPI.GetInvoices('refund') srvs = InvoicesAPI.GetServicesByType('Revenue') data1, data2 = InvoicesAPI.GetInvoice(session['username'], session['password'], invcode) if request.method == 'POST': if request.form['submit'] == 'Submit': try: InvoicesAPI.EditInvoice( session['username'], session['password'], invcode, 'refund', request.form['Customer'], request.form['SheetDate'], request.form['currency'], request.form['terms'], request.form.getlist('description'), request.form.getlist('unitprice'), request.form.getlist('quantity'), request.form.getlist('amount'), request.form['totalamount'], request.form['discount'], request.form['tax'], request.form['invamount'], request.form['pay_method'], request.form['billing_account'], request.form['comments']) flash('Invoices updated successfully', category='success') return redirect(url_for('invoices.RefundInvoice')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.RefundInvoice')) return render_template('invoices/edit_refund_invoice.html', username=session['username'], role=session['role'], itms=itms, pkgs=pkgs, customers=customers, currencies=currencies, invs=invs, data1=data1, data2=data2, invcode=invcode, srvs=srvs)
def EditService(code): AllServices = InvoicesAPI.GetAllServices() Service = InvoicesAPI.GetService(code) if request.method == 'POST': if request.form['submit'] == 'Submit': try: InvoicesAPI.UpdateService( session['username'], session['password'], code, request.form['servicename'], request.form['servicetype'], request.form['servicecost'], request.form['serviceprice'], request.form['description']) flash('Service updated successfully...', category='success') return redirect(url_for('invoices.Services')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.EditService', code=code)) return render_template('invoices/edit_service.html', username=session['username'], role=session['role'], AllServices=AllServices, Service=Service)
def Services(): AllServices = InvoicesAPI.GetAllServices() form = EnterForms.Services(request.form) if request.method == 'POST': if request.form['submit'] == 'Submit': try: InvoicesAPI.CreateService( session['username'], session['password'], request.form['servicename'], request.form['servicetype'], request.form['servicecost'], request.form['serviceprice'], request.form['description']) flash('Service Successfully created...', category='success') return redirect(url_for('invoices.Services')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('inoices.Services')) return render_template('invoices/services.html', username=session['username'], role=session['role'], form=form, AllServices=AllServices)
def BillsReport(): try: file = InvoicesAPI.BillsReport(session['username'], session['password']) response = make_response(file) response.headers['Content-type'] = 'text/csv' response.headers[ 'Content-Disposition'] = 'attachement; filename = Bills_Report.csv' return response except Exception as e: flash(str(e), category='fail') return url_for('invoices.invoices')
def PrintInvoice(code): SentData, InvoiceData, ItmData = InvoicesAPI.GetPrintedInvoice(code) cmp = EnterpriseAPI.GetCompanyProfile() rendered = render_template('invoices/printed_invoice.html', SentData=SentData, InvoiceData=InvoiceData, ItmData=ItmData, cmp=cmp) pdf = pdfkit.from_string(rendered, False) response = make_response(pdf) response.headers['Content-type'] = 'application/pdf' response.headers[ 'Content-Disposition'] = 'attachement; filename = invoice.pdf' return response
def ProcurementInvoice(): providers = EnterpriseAPI.GetProviders() currencies = AccountingAPI.GetAllCurrencies() itms = EnterpriseAPI.ItemPicker() pkgs = EnterpriseAPI.PackagePicker() invs = InvoicesAPI.GetInvoices('procurement') srvs = InvoicesAPI.GetServicesByType('Expense') if request.method == 'POST': if request.form['submit'] == 'Submit': try: invcode = InvoicesAPI.AddInvoice( session['username'], session['password'], 'procurement', request.form['Customer'], request.form['SheetDate'], request.form['currency'], request.form['terms'], request.form.getlist('description'), request.form.getlist('unitprice'), request.form.getlist('quantity'), request.form.getlist('amount'), request.form['totalamount'], request.form['discount'], request.form['tax'], request.form['invamount'], request.form['pay_method'], request.form['billing_account'], request.form['comments']) flash('Invoices created successfully', category='success') return redirect(url_for('invoices.ProcurementInvoice')) except Exception as e: flash(str(e), category='fail') return redirect(url_for('invoices.ProcurementInvoice')) return render_template('invoices/procurement_invoice.html', username=session['username'], role=session['role'], itms=itms, pkgs=pkgs, providers=providers, currencies=currencies, invs=invs, srvs=srvs)
def GetPack(code): Packs = InvoicesAPI.GetPack(code) return jsonify(Packs)
def GetAccount(acc): Accounts = InvoicesAPI.GetAccount(acc) return jsonify(Accounts)