class Submenu_alta_baja_paseo(QtGui.QWidget, dialogo_alta_baja_paseo): def __init__ (self,lista_paseos ,lista_paseadores , tabla , numero_mascotas ,parent = None): QtGui.QWidget.__init__(self, parent) self.setupUi(self) self.boton_guardar.clicked.connect(self.guardar) self.box_paseador.currentIndexChanged.connect(self.numeroMascotas) self.tabla = tabla self.lista_paseos = lista_paseos self.lista_paseadores = lista_paseadores self.lista_numero_mascotas = numero_mascotas self.paseo.setText(str(lista_paseos.tamanio() )) self.box_paseador.addItems(lista_paseadores.ListaNombres()) def numeroMascotas(self): pos = self.box_paseador.currentIndex() self.mascota.setText(str(self.lista_numero_mascotas[pos])) def guardar(self): error = '' ID = self.lista_paseos.tamanio() pos = self.box_paseador.currentIndex() paseador = self.lista_paseadores.obtener(pos) numeroMascotas = self.lista_numero_mascotas[pos] if (numeroMascotas == 0): error = 'El paseador no posee mascotas a cargo' try: tiempo_estimado = int(self.tiempo_estimado.text()) except(ValueError): error += 'EL TIEMPO ESTIMADO DEBE SER UN VALOR NUMERICO.' tiempo_salida = time.strftime('%H : %M : %S') tiempo_llegada = '----------' if(error == ''): self.lista_paseos.agregar(Paseo(tiempo_salida,tiempo_llegada, tiempo_estimado,ID,paseador)) add_in_tabla_paseo(self.tabla,self.lista_paseos) self.close() else: self.mostra_error(error) def mostra_error(self,detalles): self.error = Error_alta_baja() self.error.setVisible(True) self.error.mensaje_error.setText(detalles)
def mostra_error(self,detalles): self.error = Error_alta_baja() self.error.setVisible(True) self.error.mensaje_error.setText('Error en el campo: ' + detalles)
class Menu(QtGui.QMainWindow,Menu): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.setupUi(self) self.lista_mascotas = Control_mascota() self.lista_clientes = Control('CLIENTE') self.lista_paseadores = Control('PASEADOR') self.lista_paseos = Control_paseo() self.boton_cliente.clicked.connect(self.gestionCliente) self.boton_mascota.clicked.connect(self.gestionMascota) self.boton_paseador.clicked.connect(self.gestionPaseador) self.boton_nuevo_paseo.clicked.connect(self.gestionPaseo) self.llegada.clicked.connect(self.marcarLlegada) self.boton_mapa.clicked.connect(self.verRecorrido) self.tabla_paseos.clicked.connect(self.activar) def gestionCliente(self): self.menu_cliente = Menu_gestion(self.lista_clientes,self.lista_mascotas) self.menu_cliente.setVisible(True) def gestionMascota(self): self.menu_mascota = Menu_gestion_mascota(self.lista_clientes,self.lista_paseadores,self.lista_mascotas) self.menu_mascota.setVisible(True) def gestionPaseador(self): self.menu_paseador = Menu_gestion(self.lista_paseadores,self.lista_mascotas) self.menu_paseador.setVisible(True) def gestionPaseo(self): if(self.lista_paseadores.tamanio() > 0): self.menu_nuevo_paseo = Submenu_alta_baja_paseo(self.lista_paseos,self.lista_paseadores,self.tabla_paseos,self.lista_paseadores.cantidad_mascotas(self.lista_mascotas)) self.menu_nuevo_paseo.setVisible(True) else: self.mostra_error('No hay Paseadores.') def marcarLlegada(self): self.lista_paseos.obtener(self.tabla_paseos.currentRow()).set_hora_llegada(time.strftime('%H : %M : %S')) CargarTablaPaseo(self.tabla_paseos , self.lista_paseos) self.llegada.setEnabled(False) self.boton_mapa.setEnabled(True) def verRecorrido(self): paseador = self.lista_paseos.obtener(self.tabla_paseos.currentRow()).get_paseador() direcciones = self.lista_clientes.direcciones(self.lista_mascotas.mascotas(paseador)) print(direcciones) self.mapa_recorrido = Mapa(direcciones) self.mapa_recorrido.setVisible(True) def activar(self): if(self.lista_paseos.obtener(self.tabla_paseos.currentRow()).get_hora_llegada().find('-') > -1): self.llegada.setEnabled(True) else: self.llegada.setEnabled(False) self.boton_mapa.setEnabled(True) def mostra_error(self,detalles): self.error = Error_alta_baja() self.error.setVisible(True) self.error.mensaje_error.setText( detalles)
class Submenu_alta_baja_mascota(QtGui.QWidget, dialogo_alta_baja_mascota): def __init__ (self,lista_mascotas,lista_clientes,paseador,tabla,mascota = None,parent = None): QtGui.QWidget.__init__(self, parent) self.setupUi(self) self.barra_peso.valueChanged.connect(self.manejo_peso) self.boton_guardar.clicked.connect(self.guardar) self.lista_mascotas = lista_mascotas self.lista_clientes = lista_clientes self.chico.show() self.mediano.close() self.grande.close() self.box_cliente.addItems(self.lista_clientes.ListaNombres()) self.tabla = tabla if(mascota != None): self.linea_raza.setText(mascota.get_raza()) self.barra_peso.setValue(mascota.get_peso()) self.id = mascota.get_ID() self.linea_id.setText(str (self.id)) self.manejo_peso() self.linea_nombre.setText(mascota.get_nombre()) self.box_paseador.addItems(paseador.ListaNombres()) self.paseador_asignado = paseador.obtener(self.box_cliente.currentIndex()).get_DNI() else: self.id = lista_mascotas.tamanio() self.linea_id.setText(str (self.id)) self.paseador_asignado = paseador.get_DNI() self.box_paseador.addItem(paseador.get_apellido_nombre()) def manejo_peso(self): if (self.Peso.intValue() < 20): self.chico.show() self.mediano.close() self.grande.close() elif(self.Peso.intValue() < 50): self.chico.close() self.mediano.show() self.grande.close() else: self.chico.close() self.mediano.close() self.grande.show() def guardar(self): error = '' ID = self.id paseador = self.paseador_asignado dueño = self.lista_clientes.obtener(self.box_cliente.currentIndex()).get_DNI() nombre = self.linea_nombre.text() if (nombre == ''): error += ' nombre' raza = self.linea_raza.text() if (raza == ''): error += ' raza' peso = self.Peso.intValue() if(error !=''): self.mostra_error(error) else: self.guardar_como(Mascota(nombre , raza , peso ,ID,dueño ,paseador)) def guardar_como(self,mascota): if self.id == self.lista_mascotas.tamanio() : self.lista_mascotas.agregar(mascota) add_in_tabla_mascota(self.tabla,self.lista_mascotas) self.close() else: self.lista_mascotas.lista[self.id] = mascota setChangeTablaMascota(self.tabla , self.lista_mascotas,self.id,self.tabla.currentRow()) self.close() def mostra_error(self,detalles): self.error = Error_alta_baja() self.error.setVisible(True) self.error.mensaje_error.setText('Error en el campo: ' + detalles)
class Submenu_alta_baja(QtGui.QWidget, dialogo_alta_baja): def __init__ (self,lista,tabla,mascotas= None,pos= None, parent = None): QtGui.QWidget.__init__(self, parent) self.setupUi(self) self.pos = pos self.lista = lista self.tabla = tabla if(pos != None): persona = self.lista.lista[self.pos] self.lista_mascotas = mascotas self.linea_nombre.setText(persona.get_nombre()) self.linea_apellido.setText(persona.get_apellido()) self.dni_viejo = persona.get_DNI() self.linea_dni.setText(str(persona.get_DNI())) self.linea_telefono.setText(str(persona.get_telefono())) self.linea_direccion.setText(persona.get_direc()) self.text.setText('MODIFICAR '+ lista.get_roll()) else: self.text.setText('NUEVO '+ lista.get_roll() ) self.boton_guardar.clicked.connect(self.guardar) def guardar(self): error = '' dni = 0 telefono = 0 nombre = self.linea_nombre.text() if (nombre == ''): error += 'nombre' apellido = self.linea_apellido.text() if (apellido == ''): error += ', apellido' try: dni = int(self.linea_dni.text()) except(ValueError): error += ', dni' try: telefono = int(self.linea_telefono.text()) except(ValueError): error += ', telefono' direccion = self.linea_direccion.text() if (direccion == ''): error += ', direccion' if (error != ''): #verifica que los campos sean correctos self.mostra_error(error) else: self.guardar_como(Persona(nombre,apellido,dni,telefono,direccion+ 'Concepcion del Uruguay')) def guardar_como(self,persona): if self.pos == None : if(self.lista.control_agregar(persona)): add_in_tabla(self.tabla,self.lista) self.close() else: self.mostra_error('El '+self.lista.get_roll()+' con el documento' +str(persona.get_DNI())+ ' ya existe.') else: if (self.dni_viejo == persona.get_DNI()): self.lista.lista[self.pos] = persona setChangeTabla(self.tabla , self.lista,self.pos,self.tabla.currentRow()) self.close() else: if self.lista.obtener_por_dni(persona.get_DNI()) == None : self.lista.lista[self.pos] = persona if (self.lista.roll == 'CLIENTE'): self.lista_mascotas.modificar_dueño(self.dni_viejo,persona.get_DNI()) else: self.lista_mascotas.modificar_paseador(self.dni_viejo,persona.get_DNI()) setChangeTabla(self.tabla , self.lista,self.pos,self.tabla.currentRow()) self.close() else: self.mostra_error('El '+self.lista.get_roll()+' con el documento' +str(persona.get_DNI())+ ' ya existe.') def mostra_error(self,detalles): self.error = Error_alta_baja() self.error.setVisible(True) self.error.mensaje_error.setText('Error en el campo: ' + detalles)