def model_run(self, model_context): context = self._build_context(model_context) # mostrar el reporte fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template('cartera_perdida_x_incobrable.html') yield PrintHtml(t.render(context))
def model_run(self, model_context): context = self._build_context(model_context) # mostrar el reporte fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template('cartera_finalizados_sin_saldar.html') yield PrintHtml(t.render(context))
def model_run(self, model_context): context = self._build_context(model_context) # mostrar el reporte fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template('indicadores.html') yield PrintHtmlLandscape(t.render(context))
def model_run(self, model_context): context = self._build_context(model_context) # mostrar el reporte fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template('recaudacion_potencial_total_x_barrio.html') yield PrintHtml(t.render(context))
def model_run(self, model_context): obj = model_context.get_object() deuda_final = obj.prestamo * (1 + obj.tasa_interes) redondeo = 0.5 cuota_sin_redondeo = round(deuda_final / obj.cuotas) if deuda_final - (obj.cuotas - 1) * cuota_sin_redondeo > cuota_sin_redondeo: cuota_calculada = cuota_sin_redondeo + redondeo else: cuota_calculada = cuota_sin_redondeo # debido al redondeo, puede ocurrir que la deuda se cancela antes. # obtener el monto de la ultima cuota for i in range(1, obj.cuotas): monto_ultima_cuota = deuda_final - cuota_calculada * (obj.cuotas - i) if monto_ultima_cuota >= 0: break # generar la planilla detalle = [] if obj.para_construccion: detalle = [] #self._detalle_planilla_aleman(obj) template = 'planilla_pagos_aleman.html' else: detalle = self._detalle_planilla(obj, cuota_calculada, deuda_final) template = 'planilla_pagos.html' context = { 'anio': datetime.date.today().year, 'comentarios': obj.beneficiaria.comentarios, 'saldo_anterior': money_fmt(obj.saldo_anterior), 'monto_cheque': money_fmt(obj.monto_cheque), 'fecha_entrega': obj.fecha_entrega, 'deuda_inicial': money_fmt(obj.prestamo), 'deuda_final': money_fmt(deuda_final), 'nro_credito': obj.nro_credito, 'cuotas': obj.cuotas, 'cuota_calculada': money_fmt(cuota_calculada), 'monto_ultima_cuota': money_fmt(monto_ultima_cuota), 'fecha': datetime.date.today(), 'pagado_a_fecha': money_fmt(obj.total_pagos), 'beneficiaria': '%s %s' % (obj.beneficiaria.nombre, obj.beneficiaria.apellido), 'dni': obj.beneficiaria.dni, 'telefono': obj.beneficiaria.telefono, 'domicilio': obj.beneficiaria.domicilio, 'grupo': obj.beneficiaria.grupo, 'detalle': detalle, } # mostrar el reporte fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template(template) yield PrintHtml(t.render(context))
def model_run(self, model_context): obj = model_context.get_object() monto_cuota = obj.monto_cheque * (1 + obj.tasa_interes) / obj.cuotas # la 1era semana no paga cuota. Recien a los 14 dias de recibido el cheque tiene que pagar la primer cuota. fecha_1ra_cuota = obj.fecha_entrega + datetime.timedelta(weeks=2) fecha_ultima_cuota = obj.fecha_entrega + datetime.timedelta(weeks=obj.cuotas + 1) context = { 'header_image_filename': header_image_filename(), 'firma_presidente_filename': firma_presidente_filename(), 'firma_tesorero_filename': firma_tesorero_filename(), 'beneficiaria': '%s %s' % (obj.beneficiaria.nombre, obj.beneficiaria.apellido), 'dni': spacer(obj.beneficiaria.dni), 'fecha_nac': spacer(obj.beneficiaria.fecha_nac), 'estado_civil': spacer(obj.beneficiaria.estado_civil), 'domicilio': spacer(obj.beneficiaria.domicilio), 'ciudad': obj.beneficiaria.barrio.domicilio_pago.ciudad.nombre, 'provincia': obj.beneficiaria.barrio.domicilio_pago.ciudad.provincia.nombre, 'emprendimiento': obj.rubro.actividad, 'tasa_interes_mensual': float_fmt(obj.tasa_interes * 100 * 4 / obj.cuotas), # 4 -> semanas en un mes 'cuotas': obj.cuotas, 'cuotas_letras': nro_en_letras(obj.cuotas), 'monto_prestamo': money_fmt(obj.prestamo, 2), 'monto_prestamo_letras': nro_en_letras(obj.prestamo), 'monto_cuota_letras': nro_en_letras(monto_cuota), 'monto_cuota': money_fmt(monto_cuota, 2), 'dia_1ra_cuota': fecha_1ra_cuota.day, 'mes_1ra_cuota_letras': mes_en_letras(fecha_1ra_cuota.month), 'anio_1ra_cuota': fecha_1ra_cuota.year, 'dia_ultima_cuota': fecha_ultima_cuota.day, 'mes_ultima_cuota_letras': mes_en_letras(fecha_ultima_cuota.month), 'anio_ultima_cuota': fecha_ultima_cuota.year, 'domicilio_pago': obj.beneficiaria.barrio.domicilio_pago.nombre, } fileloader = PackageLoader('m2000', 'templates') env = Environment(loader=fileloader) t = env.get_template('contrato_mutuo.html') yield PrintHtml(t.render(context))
# coding=utf-8 import getpass import os import shutil from jinja import Environment, PackageLoader from python_bootstrap.utils.decorators import verify_creation env = Environment(loader=PackageLoader("python_bootstrap", "res/templates")) @verify_creation def copy_folder(origin_path, destination_path): # Check if destination folder exists current_dir = os.path.dirname(__file__) origin_path = os.path.join(current_dir, origin_path) if not os.path.isdir(destination_path): shutil.copytree(origin_path, destination_path) @verify_creation def create_file_from_string(file_path, content_string=""): file_object = open(file_path, "w") file_object.write(content_string) file_object.close() @verify_creation def create_file_from_template(file_path, template, **kwargs):
def package_zip_loader(monkeypatch): monkeypatch.syspath_prepend( os.path.join(os.path.dirname(__file__), "res", "package.zip") ) return PackageLoader("t_pack")
def package_dir_loader(monkeypatch): monkeypatch.syspath_prepend(os.path.dirname(__file__)) return PackageLoader("res")