Ejemplo n.º 1
0
def id_propia_empresa_cliente():
    """
    Devuelve el id de la propia empresa en la tabla clientes.
    """
    from framework.pclases import DatosDeLaEmpresa, Cliente, Auditoria
    try:
        empresa = DatosDeLaEmpresa.select()[0]
    except:
        print "ERROR: No hay datos de la empresa."
        return 0
    try:
        empresa = Cliente.select(Cliente.q.nombre == empresa.nombre)[0]
    except IndexError:  # Pues la creo.
        try:
            empresa = Cliente(nombre = empresa.nombre, 
                              tarifa = None, 
                              contador = None,
                              cliente = None)
            Auditoria.nuevo(empresa, None, __file__)
        except TypeError:   # Me falta algún campo.
            print "utils_administracion.py::id_propia_empresa_cliente -> "\
                  "ERROR: TypeError al crear empresa como cliente."
            return 0
    except:  # ¿SQLObjectNotFound?
        print "utils_administracion.py::id_propia_empresa_cliente -> "\
              "ERROR: La empresa no está en la tabla de clientes."
        return 0
    return empresa.id
Ejemplo n.º 2
0
def dibujar_logo(canvas, doc, ruta_logo, lineas_datos_empresa, datos_fiscales, 
                 logo_marcado = None, idioma = "es"):
    """
    Dibuja el logotipo de la empresa en la página de «canvas».
    También dibuja el pie porque se hace con onLaterPages, que no es llamada 
    en la primera página. Así que aquí hay que hacer las dos cosas.
    """
    try:
        from framework.pclases import DatosDeLaEmpresa
        datos_empresa = DatosDeLaEmpresa.select()[0]
        dibujar_logo_prns(canvas, 1*cm, PAGE_HEIGHT, datos_empresa)
        dibujar_domicilio_fiscal_prns(canvas, 1*cm, PAGE_HEIGHT - 2.7*cm,
                                      datos_empresa)
        dibujar_domicilio_fabrica_prns(canvas, 1*cm, PAGE_HEIGHT - 3.5*cm,
                                       datos_empresa)
        dibujar_cif_prns(canvas, 1*cm, PAGE_HEIGHT - 4.2*cm, datos_empresa)
        if idioma == "en":
            strcarta = "Letter of commitment"
        else:
            strcarta = "Carta compromiso"
        dibujar_bvqi_prns(canvas, PAGE_WIDTH - 1*cm, PAGE_HEIGHT - 3*cm,
                          datos_empresa, strcarta)
        canvas.saveState()
        canvas.setStrokeColorRGB(*VERDE_GTX)
        canvas.line(0, PAGE_HEIGHT - 4.5*cm, PAGE_WIDTH, PAGE_HEIGHT - 4.5*cm)
        canvas.restoreState()
    except Exception, e:
        # OLD CODE IS OLD
        if ruta_logo:
            im = Image.open(ruta_logo)
            ancho, alto = im.size
            nuevo_alto = min(5 * cm, alto)
            ancho_proporcional = ancho * (nuevo_alto / alto)
            canvas.drawImage(ruta_logo, 
                             (PAGE_WIDTH - ancho_proporcional) / 2, 
                             PAGE_HEIGHT - 2 * cm - nuevo_alto, 
                             ancho_proporcional, 
                             nuevo_alto)
        if logo_marcado:
            im = Image.open(logo_marcado)
            ancho, alto = im.size
            nuevo_alto = min(2.5 * cm, alto)
            ancho_proporcional = ancho * (nuevo_alto / alto)
            canvas.drawImage(logo_marcado, 
                             PAGE_WIDTH - 6 * cm, 
                             PAGE_HEIGHT - 2 * cm - nuevo_alto, 
                             ancho_proporcional, 
                             nuevo_alto)
            canvas.saveState()
            canvas.setFont("Helvetica", 8)
            # OJO: HARCODED (como en todos los PDF que llevan marcado CE)
            texto_marcado = 'CE 1035-CPD-ES033858'  # Ojito: el de rollos, que es 
                # el que tenía puesto José Manuel Hurtado. Todas las críticas al 
                # formato, a él. He copiado tal cual su carta de compromiso. 
            canvas.drawCentredString(PAGE_WIDTH - 6*cm + (ancho_proporcional / 2), 
                                     PAGE_HEIGHT - 2*cm - nuevo_alto - 8, 
                                     escribe(texto_marcado))
            canvas.restoreState()
Ejemplo n.º 3
0
def id_propia_empresa_proveedor():
    """
    Devuelve el id de la propia empresa en la tabla proveedores.
    """
    from framework.pclases import DatosDeLaEmpresa, Proveedor
    try:
        empresa = DatosDeLaEmpresa.select()[0]
    except:
        print "ERROR: No hay datos de la empresa."
        return 0
    try:
        empresa = Proveedor.select(Proveedor.q.nombre == empresa.nombre)[0]
    except:  #IndexError? SQLObjectNotFound?
        print "ERROR: La empresa no está en la tabla de de proveedores."
        return 0
    return empresa.id