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
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()
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