def billings_pdf(request, id): billing_id = int(id) billing = Billing.objects.get(id=billing_id) articles = Article.objects.filter(billing_id=billing_id) get_sum_total_of_billing(billing_id) company = Company.objects.get(pk=billing.company_id) code = get_code_control(billing) qr_text = build_string_qr(billing) literal_amount = num2words(int(billing.total_billing), lang='es') decimal_amount = get_decimal_amount(billing_id) limit_date = billing.register_date + timedelta(days=90) html_string = render_to_string('billings/pdf.html', { 'pagesize': 'letter', 'company': company, 'billing': billing, 'instance_model': Billing, 'instance_model_b': Article, 'articles': articles, 'code_control': code, 'qr_text': qr_text, 'literal_amount': literal_amount, 'decimal_amount': decimal_amount, 'limit_date': limit_date, }, context_instance=RequestContext(request)) return build_pdf(html_string)
def book_sales_pdf(request, id): book_sale_id = int(id) book_sale = ReportsBilling.objects.get(id=book_sale_id) company = Company.objects.get(pk=book_sale.company_id) start_date = book_sale.start_date end_date = book_sale.end_date is_book_sales = True if book_sale.type == TYPE_BOOKS[0][0]: billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date), is_sale=True) else: billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date), is_sale=False) is_book_sales = False total_partial = billings.aggregate(Sum('total_billing')) html_string = render_to_string('book_sales/pdf.html', { 'pagesize': 'Letter landscape', 'company': company, 'billings': billings, 'instance_model': Billing, 'instance_model_b': Article, 'book_sale': book_sale, 'is_book_sales': is_book_sales, 'total_partial': total_partial['total_billing__sum'] }, context_instance=RequestContext(request)) return build_pdf(html_string)
def reports_pdf(request, id): report_id = int(id) report = Report.objects.get(id=report_id) billings = Billing.objects.none start_date = report.start_date end_date = report.end_date is_reports = True companies = Company.objects.all() total = 0 companies_total = {} for company in companies: billings = Billing.objects.filter(company_id=company.id, register_date__range=(start_date, end_date), is_sale=True) total_partial = billings.aggregate(Sum('total_billing')) total_sum = total_partial['total_billing__sum'] if total_sum: total += total_sum key = str(company.id) companies_total[key] = total_sum html_string = render_to_string('reports/pdf.html', { 'pagesize': 'Letter landscape', 'billings': billings, 'instance_model': Company, 'report': report, 'is_reports': is_reports, 'companies': companies, 'companies_total': companies_total, 'total': total }, context_instance=RequestContext(request)) return build_pdf(html_string)