예제 #1
0
 def llenar_combo_miembros(self):
     conn = Conexion(self.database_proyec)
     query = 'select complete_name from miembros'
     miembros_com = conn.run_query(query)
     miembros_com = [m[0] for m in miembros_com]
     self.combo_miembros['values'] = miembros_com or 'Vacio'
     self.combo_miembros.current(0)
예제 #2
0
    def guardar_miembro(self):
        try:
            miembro = Miembro(self.name.get(), int(self.edad.get()),
                              self.combo_grado.get(),
                              self.combo_casa_estudios.get())
            conn = Conexion(self.database_proyec)
            query = "INSERT INTO miembros VALUES(NULL,?,?,?,?)"
            parameters = (miembro.name, miembro.edad, miembro.grado,
                          miembro.casa_estudios)
            conn.run_query(query, parameters)
            self.name = ''
            self.edad = ''
            self.combo_grado.current(9)

            self.llenar_tabla_miembros()
        except Exception as ex:
            self.message_miembro['text'] = ex
예제 #3
0
    def eliminar_miembro(self):
        try:
            self.tree_miembro.item(self.tree_miembro.selection())['text'][0]
        except IndexError as e:
            self.message_miembro['text'] = 'Por favor selecciona un miembro'
            return
        self.message_miembro['text'] = ''
        name = self.tree_miembro.item(self.tree_miembro.selection())['text']
        edad = self.tree_miembro.item(
            self.tree_miembro.selection())['values'][0]
        grado = self.tree_miembro.item(
            self.tree_miembro.selection())['values'][1]
        conn = Conexion(self.database_proyec)
        query = "DELETE FROM miembros WHERE complete_name=? AND edad=? AND grado_ciclo=?"
        conn.run_query(query, (name, edad, grado))
        self.message_miembro['text'] = f'{name} eliminado'

        self.llenar_tabla_miembros()
예제 #4
0
    def guardar_actividad_de_miembro(self):
        try:
            actividad_ = Actividad(self.combo_miembros.get(),
                                   int(self.semana.get()),
                                   self.combo_exp.get(),
                                   self.text.get(1.0, END).strip('\n'))
            conn = Conexion(self.database_proyec)
            query = "INSERT INTO activities VALUES(NULL,?,?,?,?)"
            parameters = (actividad_.semana, actividad_.actividad,
                          actividad_.miembro, actividad_.exp)
            conn.run_query(query, parameters)
            self.text.delete(1.0, END)
            self.message_actividad['text'] = 'Actividad guardada'

            pos = (self.len_activities + 1) % self.len_miembros
            self.semana.set(int(self.semana.get()) + int(not (bool(pos))))
            self.combo_miembros.current(pos)
            self.llenar_tabla_actividades_miembros()

        except Exception as ex:
            self.message_actividad['text'] = ex
예제 #5
0
    def actualizar_bd_miembro(self):
        try:
            miembro = Miembro(self.nombre_miembro.get(),
                              int(self.edad_miembro.get()),
                              self.editar_combo_miembro.get(),
                              self.editar_combo_estudios.get())
        except Exception as ex:
            messagebox.showwarning('Error encontrado', ex)
            return
        conn = Conexion(self.database_proyec)
        query = "UPDATE miembros SET complete_name=?, edad=?, grado_ciclo=?, casa_estudios=? WHERE complete_name=? AND edad=? AND grado_ciclo=?"
        parameters = (self.nombre_miembro.get(), self.edad_miembro.get(),
                      self.editar_combo_miembro.get(),
                      self.editar_combo_estudios.get(), self.name_old,
                      self.edad_old, self.grado_old)
        conn.run_query(query, parameters)
        messagebox.showinfo(
            'Actualziado',
            f'Actualizado con exito {self.nombre_miembro.get()}')

        self.editar_miembro.destroy()
        self.llenar_tabla_miembros()
예제 #6
0
    def eliminar_actividad_de_miembro(self):
        try:
            self.tree_actividad.item(
                self.tree_actividad.selection())['text'][0]
        except IndexError as e:
            self.message_actividad['text'] = 'Por favor selecciona un miembro'
            return
        self.message_actividad['text'] = ''
        nombre = self.tree_actividad.item(
            self.tree_actividad.selection())['text']
        exp = self.tree_actividad.item(
            self.tree_actividad.selection())['values'][0]
        semana = int(
            self.tree_actividad.item(
                self.tree_actividad.selection())['values'][1])
        actividad = self.tree_actividad.item(
            self.tree_actividad.selection())['values'][2]
        conn = Conexion(self.database_proyec)
        query = "DELETE FROM activities WHERE semana=? AND actividad=? AND responsable=? AND exp=?"
        conn.run_query(query, (semana, actividad, nombre, exp))
        self.message_actividad['text'] = f'{actividad} eliminado'

        self.llenar_tabla_actividades_miembros()
예제 #7
0
    def actualizar_tabla_actividades(self):
        print(self.new_name.get(), self.combo_new_exp.get(),
              self.new_semana.get(), self.text_actualizar.get(1.0, END))
        try:
            actividad = Actividad(self.new_name.get(),
                                  int(self.new_semana.get()),
                                  self.combo_new_exp.get(),
                                  self.text_actualizar.get(1.0, END))
        except Exception as ex:
            messagebox.showwarning('Ocurrio un error', ex)
            return
        conn = Conexion(self.database_proyec)
        query = "UPDATE activities SET semana=?, actividad=?, responsable=?, exp=? WHERE semana=? AND actividad=? AND responsable=?"
        parameters = (actividad.semana, actividad.actividad, actividad.miembro,
                      actividad.exp, self.semana_old, self.actividad_old,
                      self.name_old_actividad)
        conn.run_query(query, parameters)
        messagebox.showinfo('Actualizado',
                            f'Actualizado {actividad.miembro} exitosamente.')
        self.message_actividad[
            'text'] = f'Actualizado {actividad.miembro} exitosamente.'

        self.llenar_tabla_actividades_miembros()
        self.ventana_actualizar_actividad.destroy()
예제 #8
0
 def llenar_tabla_miembros(self):
     elements = self.tree_miembro.get_children()
     for element in elements:
         self.tree_miembro.delete(element)
     conn = Conexion(self.database_proyec)
     query = 'select * from miembros'
     miembros = conn.run_query(query)
     miembros = [miem for miem in miembros]
     self.len_miembros = len(miembros)
     for miembro in miembros:
         self.tree_miembro.insert('',
                                  0,
                                  text=miembro[1],
                                  values=(miembro[2], miembro[3],
                                          miembro[4]))
     self.llenar_combo_miembros()
예제 #9
0
    def llenar_tabla_actividades_miembros(self):
        elements = self.tree_actividad.get_children()
        for element in elements:
            self.tree_actividad.delete(element)
        conn = Conexion(self.database_proyec)
        query = 'select * from activities'
        activities_ = [act for act in conn.run_query(query)]
        self.len_activities = len(activities_)
        for act in activities_:
            color = 'si' if int(act[1]) % 2 == 0 else 'no'
            self.tree_actividad.insert('',
                                       0,
                                       text=act[3],
                                       values=(act[4], act[1], act[2]),
                                       tags=(color, ))

        self.mostrar_informacion_de_exposiciones()
예제 #10
0
 def exportar_miembros(self):
     print('Exportar miembros')
     conn = Conexion(self.database_proyec)
     sql = 'select * from miembros'
     miembros = conn.run_query(sql)
     with filedialog.asksaveasfile(title='Guardar como',
                                   defaultextension=".csv",
                                   filetypes=(("Archivo csv", "*.csv"),
                                              ("Todos Archivos",
                                               "*.*"))) as f:
         f.write('Miembro,Edad,Ciclo o Grado,Casa de estudios\n')
         for miembro in miembros:
             miembro = [(m.strip('\n') if isinstance(m, str) else m)
                        for m in miembro]
             miembro = [f'{mie}' for mie in miembro]
             f.write(','.join(miembro[1:]) + '\n')
     messagebox.showinfo('Guardado', 'Integrantes guardados')
예제 #11
0
 def exportar_actividades(self):
     print('Exportando actividades')
     conn = Conexion(self.database_proyec)
     sql = 'select * from activities'
     actividades = conn.run_query(sql)
     with filedialog.asksaveasfile(title='Guardar como',
                                   defaultextension=".csv",
                                   filetypes=(("Archivo csv", "*.csv"),
                                              ("Todos Archivos",
                                               "*.*"))) as f:
         f.write('Semana,Actividad,Responsable,Exp\n')
         for activity in actividades:
             activity = [(act.strip("\n") if isinstance(act, str) else act)
                         for act in activity]
             activity = [
                 (''.join(act.split(",")) if isinstance(act, str) else act)
                 for act in activity
             ]
             activity = [f'{act}' for act in activity]
             f.write(','.join(activity[1:]) + '\n')
     messagebox.showinfo('Guardado', 'Actividades guardadas')
예제 #12
0
 def llenar_mostrador_actividades(self):
     elements = self.tree_actividad_miembro.get_children()
     for element in elements:
         self.tree_actividad_miembro.delete(element)
     conn = Conexion(self.database_proyec)
     query = 'select * from activities where semana=?'
     try:
         parameters = (int(self.ver_semana.get()), )
         actividades_a_mostrar = conn.run_query(query, parameters)
         actividades_a_mostrar = [v for v in actividades_a_mostrar]
         for ac_mostrar in actividades_a_mostrar:
             exp_temp = ac_mostrar[4]
             self.tree_actividad_miembro.insert('',
                                                0,
                                                text=ac_mostrar[3],
                                                values=(ac_mostrar[2],
                                                        ac_mostrar[3]),
                                                tags=(exp_temp, ))
         self.message_mostrar_actividad[
             'text'] = 'Actividad encontrada' if actividades_a_mostrar else "Actividad no encontrada"
     except ValueError as ex:
         self.message_mostrar_actividad[
             'text'] = 'La semana debe ser un numero entero'