Example #1
0
 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))
Example #2
0
 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))
Example #3
0
 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))
Example #4
0
 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))
Example #5
0
    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))
Example #6
0
    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))
Example #7
0
# 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):
Example #8
0
def package_zip_loader(monkeypatch):
    monkeypatch.syspath_prepend(
        os.path.join(os.path.dirname(__file__), "res", "package.zip")
    )
    return PackageLoader("t_pack")
Example #9
0
def package_dir_loader(monkeypatch):
    monkeypatch.syspath_prepend(os.path.dirname(__file__))
    return PackageLoader("res")