Ejemplo n.º 1
0
    def on_actividades_clicked(self, button):
        actividades_menu = self.builder.get_object("actividades_menu")
        treeview = self.builder.get_object("actividades_treeview")
        asignaturas_dropdown = self.builder.get_object("actividades_asignaturas_dropdown")
        evaluaciones_dropdown = self.builder.get_object("actividades_evaluaciones_dropdown")
        asignaturas = PasenAPI.asignaturas(user.id)
        convcentro = PasenAPI.convocatorias(user.id)

        asignaturas_dropdown.remove_all()
        evaluaciones_dropdown.remove_all()

        asignaturas_dropdown.append("0", "Todas")
        asignaturas_dropdown.set_active_id("0")
        for asignatura in asignaturas:
            asignaturas_dropdown.append(str(asignatura["id"]), asignatura["name"])

        conv_active = None
        for conv in convcentro:
            if 'S' in conv["active"]:
                conv_active = conv["id"]
            evaluaciones_dropdown.append(str(conv["id"]), conv["name"])

        if not treeview.get_columns():
            columns = ["Tema", "Nota"]
            cell = Gtk.CellRendererText()
            for i, column in enumerate(columns):
                col = Gtk.TreeViewColumn(column, cell, text=i)
                treeview.append_column(col)

        if conv_active:
            evaluaciones_dropdown.set_active_id(str(conv_active))

        actividades_menu.show()
Ejemplo n.º 2
0
    def on_notas_clicked(self, button):
        # Por algún motivo, esto es necesario para que al cerrar y volver a abrir se pueda ver el treeview
        notas_menu = self.builder.get_object("notas_menu")
        dropdown = self.builder.get_object("notas_dropdown")
        treeview = self.builder.get_object("notas_treeview")
        convcentro = PasenAPI.convocatorias(user.id)

        dropdown.remove_all()
        active = None
        for conv in convcentro:
            if 'S' in conv["active"]:
                active = conv["id"]
            dropdown.append(str(conv["id"]), conv["name"])

        # Generate columns
        if not treeview.get_columns():
            columns = ["Asignatura", "Nota"]
            cell = Gtk.CellRendererText()
            for i, column in enumerate(columns):
                col = Gtk.TreeViewColumn(column, cell, text=i)
                treeview.append_column(col)

        if active:
            dropdown.set_active_id(str(active))

        notas_menu.show()
Ejemplo n.º 3
0
    def getUser(self):
        res = PasenAPI.infoSesion()
        if res:
            user = res["RESULTADO"][0]
            matricula = user["MATRICULAS"][0]
            self.id = matricula['X_MATRICULA']
            self.nombre = user["USUARIO"]
            self.unidad = matricula["UNIDAD"]
            self.curso = matricula["CURSO"]
            self.tutor = matricula["TUTOR"]
            self.centro = {
                "id": matricula["X_CENTRO"],
                "nombre": matricula["DENOMINACION"]
            }
            self.tipo = user["C_PERFIL"]
            # Foto
            self.foto = PasenAPI.photo(self.id)

            return True

        return False
Ejemplo n.º 4
0
    def on_login_clicked(self, button):
        username = self.builder.get_object("username").get_text()
        password = self.builder.get_object("password").get_text()
        remember = self.builder.get_object('sesioniniciada').get_active()

        res = PasenAPI.login(username, password)
        if res:
            if remember:
                config.saveLogin(username, password)
            if user.getUser():
                self.builder.get_object("login_menu").hide()
                self.builder.get_object("main_menu").show()
Ejemplo n.º 5
0
 def on_actividades_dropdown_changed(self, *args):
     asignatura = self.builder.get_object("actividades_asignaturas_dropdown").get_active_id()
     evaluacion = self.builder.get_object("actividades_evaluaciones_dropdown").get_active_id()
     if asignatura and evaluacion:
         store = self.builder.get_object("actividades_store")
         store.clear()
         if asignatura == "0":
             asignatura = None
         actividades = PasenAPI.actividades(user.id, evaluacion, asignatura)
         if actividades:
             for actividad in actividades:
                 store.append([actividad["nombre"], actividad["nota"]])
Ejemplo n.º 6
0
 def on_notas_dropdown_changed(self, dropdown):
     store = self.builder.get_object("notas_store")
     conv = dropdown.get_active_id()
     notas = PasenAPI.notas(user.id, conv)
     self.builder.get_object("notas_media").set_text("")
     store.clear()
     if notas:
         total = 0
         # Append to store and get median
         for nota in notas:
             total += int(nota["nota"])
             store.append([nota["nombre"], nota["nota"]])
         media = total / len(notas)
         self.builder.get_object("notas_media").set_text(f'Tu nota media es de: {str(media)}')
Ejemplo n.º 7
0
    def on_horario_clicked(self, button):
        treeview = self.builder.get_object("horario_treeview")
        horario_menu = self.builder.get_object("horario_menu")
        store = self.builder.get_object("horario_store")
        store.clear()
        horario = PasenAPI.horario(user.id)
        for i in range(0, 6):
            store.append(
                [
                    horario["Lunes"][i]["nombre"],
                    horario["Martes"][i]["nombre"],
                    horario["Miercoles"][i]["nombre"],
                    horario["Jueves"][i]["nombre"],
                    horario["Viernes"][i]["nombre"]
                ]
            )

        if not treeview.get_columns():
            columns = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]
            cell = Gtk.CellRendererText()
            for i, column in enumerate(columns):
                col = Gtk.TreeViewColumn(column, cell, text=i)
                treeview.append_column(col)
        horario_menu.show()
Ejemplo n.º 8
0
 def on_centro_activate(self, button):
     centro = PasenAPI.centro(user.centro["id"])
     print(centro)
     print("WIP")