def actualizar(self): self.cerrar_error(None) datos_competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=self.id_competencia)[0] self.glade.get_object('NombreCompetencia').set_text(datos_competencia.nombre) self.glade.get_object('modalidad').set_text(datos_competencia.tipo) self.glade.get_object('deporte').set_text(datos_competencia.deporte) self.glade.get_object('estado').set_text(datos_competencia.estado) self.estado_competencia = datos_competencia.estado self.tipo_competencia = datos_competencia.tipo if self.tipo_competencia != 'liga': self.glade.get_object('button7').set_sensitive(False) lista_de_partidas = GestorPartida.get_instance().listar_partidas(id_competencia = self.id_competencia) self.glade.get_object("treeview2").get_model().clear() for partida in lista_de_partidas: if 'Dummy' in partida.nombre_visitante or 'Dummy' in partida.nombre_local: lista_de_partidas.remove(partida) nueva_lista = [] for partida in lista_de_partidas: if partida.estado != 'Finalizada': nueva_lista.append(partida) for partidas in nueva_lista[:5]: self.glade.get_object("treeview2").get_model().append([partidas.nombre_local, partidas.nombre_visitante]) self.main_window.show_all()
def __init__(self, id_usuario, ventana_padre): self.id_usuario = id_usuario self.ventana_padre = ventana_padre self.glade = gtk.Builder() self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/competencia.glade') self.glade.get_object('button4').connect('clicked', self.volver) self.glade.get_object('button5').connect('clicked', self.aceptar) deportes_cargados = GestorCompetencia.get_instance().listar_deportes() self.glade.get_object('comboDeporte1').get_model().clear() for deporte in deportes_cargados: self.glade.get_object('comboDeporte1').append_text(deporte) botones = self.obtener_descendientes(self.glade.get_object('vbox1'), 'RadioButton') botones.append(self.glade.get_object('empate')) for b in botones: b.connect('toggled', self.dinamizar) self.glade.get_object('entry2').connect('changed', self.dinamizar) lista_lugares = GestorLugar.get_instance().listar_lugar(id_usuario) for lugar in lista_lugares: cuadrolugar = CuadroLugar(lugar.id, lugar.nombre) cuadrolugar.disponibilidad.connect('changed', self.dinamizar) self.glade.get_object('lugares').pack_start(cuadrolugar, False, True, 2) cuadrolugar.show_all() self.main_window = self.glade.get_object('nueva_modificar_competencia') self.main_window.connect('destroy', self.destroy) self.infobar, boton_cerrar = self.agregar_cuadro_error() boton_cerrar.connect('clicked', self.cerrar_error) self.main_window.show_all()
def buscar(self, widget): nombre_box = self.glade.get_object('entry1') deporte_box = self.glade.get_object('comboDeporte') modalidad_box = self.glade.get_object('comboModal') estado_box = self.glade.get_object('comboEstado') modalidad = modalidad_box.get_model()[modalidad_box.get_active()][0] if modalidad == 'Eliminatoria Simple': modalidad = 'eliminatoriasimple' elif modalidad == 'Eliminatoria Doble': modalidad = 'eliminatoriadoble' elif modalidad == 'Liga': modalidad = 'liga' parametros = { 'nombre': nombre_box.get_text(), 'id_usuario': self.id_usuario, 'deporte': deporte_box.get_model()[deporte_box.get_active()][0], 'modalidad': modalidad, 'estado': estado_box.get_model()[estado_box.get_active()][0] } # Reemplazar los valores vacios por None for key, value in parametros.items(): if value == '': parametros[key] = None lista_competencias = GestorCompetencia.get_instance().listar_competencias(id_competencia=None, **parametros) modelo = self.glade.get_object('treeview1').get_model() modelo.clear() for competencia in lista_competencias: modelo.append([competencia.nombre, competencia.deporte, competencia.tipo, competencia.estado, competencia.nombre_usuario, competencia.id])
def generar_fixture(self): try: exito = GestorCompetencia.get_instance().generar_fixture(self.id_competencia) if exito is 1: self.estado_competencia = 'Planificada' self.glade.get_object('estado').set_text('Planificada') Exito(self, False) self.actualizar() except FaltaDeDatos as e: self.mostrar_error(e.mensaje)
def __init__(self, id_competencia): self.id_competencia = id_competencia self.glade = gtk.Builder() self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/resultado.glade') self.glade.get_object('button12').connect('clicked', self.volver) datos_competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=id_competencia) self.glade.get_object('label53').set_text(datos_competencia[0].nombre) self.treeview = self.glade.get_object('treeview2') self.treeview.get_model().clear() datos_tabla = GestorCompetencia.get_instance().generar_tabla_posiciones(id_competencia) for dto in datos_tabla: datos = [ dto.nombre, dto.puntos, dto.partidos_ganados, dto.partidos_empatados, dto.partidos_perdidos, dto.goles_a_favor, dto.goles_en_contra, dto.goles_a_favor-dto.goles_en_contra, dto.partidos_empatados+dto.partidos_ganados+dto.partidos_perdidos ] self.treeview.get_model().append(datos) self.main_window = self.glade.get_object('tabla_posiciones') self.main_window.connect('destroy', self.destroy) self.main_window.show_all()
def __init__(self, id_competencia, clase_padre): self.id_competencia = id_competencia self.clase_padre = clase_padre self.glade = gtk.Builder() self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/participante.glade') self.main_window = self.glade.get_object('ver_participantes') self.glade.get_object('button4').connect('clicked', self.volver) self.glade.get_object('button1').connect('clicked', self.nuevo_participante) datos_competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=id_competencia)[0] self.glade.get_object('label1').set_text(datos_competencia.nombre) self.main_window.connect('destroy', self.destroy) self.infobar, boton_cerrar = self.agregar_cuadro_error() boton_cerrar.connect('clicked', self.cerrar_error) self.main_window.show_all() self.listar_participantes()
def aceptar(self, widget): deporte_box = self.glade.get_object('comboDeporte1') deporte = deporte_box.get_model()[deporte_box.get_active()][0] nombre = self.glade.get_object('entry2').get_text() mensaje_errores = [] if nombre == '': mensaje_errores.append('Debe ingresar un nombre para la competencia.') if not re.match(r"^[A-Z0-9]+( [A-Z0-9]+)*$", nombre): mensaje_errores.append('Nombre invalido. Solo puede contener letras, numeros y espacios') mensaje_errores.append('y no debe empezar ni terminar con un espacio.') if deporte_box.get_active() == -1: mensaje_errores.append('Debe ingresar un deporte para la competencia.') for lugar in self.glade.get_object('lugares').get_children(): if lugar.get_active(): if lugar.get_disponibilidad() == '': mensaje_errores.append('Debe ingresar la disponibilidad para {}.'.format(lugar.get_label())) continue if int(lugar.get_disponibilidad()) == 0: mensaje_errores.append('La disponibilidad de {} no puede ser 0.'.format(lugar.get_label())) puntos_empate = self.glade.get_object('spinEmpate').get_value() puntos_victoria = self.glade.get_object('spinbutton4').get_value() puntos_presentarse = self.glade.get_object('spinbutton5').get_value() permitir_empate = self.glade.get_object('empate').get_active() if puntos_empate >= puntos_victoria and permitir_empate: mensaje_errores.append('La cantidad de puntos por ganar debe ser mayor que la cantidad de puntos por empate.') if puntos_presentarse > puntos_victoria: mensaje_errores.append('La cantidad de puntos por presentarse no puede superar la de un partido ganado.') if not puntos_victoria: mensaje_errores.append('La cantidad de puntos por ganar no puede ser 0.') datos_lugares = [ {'id_lugar':lugar.id, 'nombre':lugar.nombre, 'disponibilidad':lugar.get_disponibilidad(), 'descripcion':None} for lugar in self.glade.get_object('lugares').get_children() if lugar.get_active() ] if not datos_lugares: mensaje_errores.append('Debe seleccionar al menos un lugar para la competencia.') if mensaje_errores: self.mostrar_error(*mensaje_errores) return modalidades = self.glade.get_object('liga').get_group() modalidad = None for boton in modalidades: if boton.get_active(): modalidad = gtk.Buildable.get_name(boton) break puntuaciones = self.glade.get_object('porsets').get_group() puntuacion = None for boton in puntuaciones: if boton.get_active(): puntuacion = gtk.Buildable.get_name(boton) cantidad_sets = self.glade.get_object('spinbutton1').get_value() tantos_presentismo = self.glade.get_object('spinbutton2').get_value() text_buffer = self.glade.get_object("textview1").get_buffer() reglamento = text_buffer.get_text(text_buffer.get_start_iter(), text_buffer.get_end_iter()) lugares = [DTOLugar(**datos) for datos in datos_lugares] dto = DTOCompetencia(None, nombre, puntuacion, 'Creada', reglamento, self.id_usuario, None, modalidad, cantidad_sets, puntos_presentarse, puntos_victoria, puntos_empate, deporte, lugares, tantos_presentismo, permitir_empate) try: exito = GestorCompetencia.get_instance().nueva_competencia(dto) if exito is 1: Exito(self) except NombreExistente: self.mostrar_error('Ya existe una competencia con ese nombre.')