Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Reports: terminal and Vision capability columns in the devices CSV export

Abierto Apto para principiantes
#73 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
postgresql, python

Línea de trabajo

En Backend/pops/routers/reports.py, busca report_export y su rama kind == "devices"; lee el tratamiento existente de la cabecera, la consulta y _cell(). Añade las dos columnas de capacidades al final y en el mismo orden, luego amplía las comprobaciones del CSV de dispositivos en Backend/tests/test_features.py y añade la entrada requerida a CHANGELOG.md. El trabajo está terminado cuando el orden de las cabeceras y los valores cumplen los criterios y flake8 Backend/ no devuelve errores.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement good first issue

Context

A PC can have the remote terminal and/or screen view (Vision) turned off by its capability policy (TERMINAL_ENABLED=0 / VISION_ENABLED=0 at install, or switched off from the server). Schools use this to keep staff PCs out of reach of remote commands, and they want to show it to management or auditors as a list. The panel shows it per device, but the CSV export of devices (Raporlar → CSV olarak indir → devices) does not include it.

The agent reports its current state, and the server stores it in clients.cap_terminal_enabled and clients.cap_vision_enabled (NULL means the agent has not reported it, for example an old agent; see migration Backend/migrations/0006_agent_capabilities.sql).

What to do

In Backend/pops/routers/reports.py, function report_export, branch kind == "devices":

  • add the two columns terminal_enabled and vision_enabled at the end of the header (so existing spreadsheets that rely on column positions keep working),
  • select c.cap_terminal_enabled and c.cap_vision_enabled in the query, in the same order.

Acceptance criteria

  • The devices CSV has terminal_enabled and vision_enabled as its last two columns; values follow the existing boolean columns (enrolled, quarantined), and an unknown state is an empty cell.
  • Cells still go through _cell() (formula-safe export).
  • Backend/tests/test_features.py checks that the devices CSV header ends with the two new columns (next to the existing CSV checks).
  • CHANGELOG.md has a line under ## [Unreleased] → ### Added starting with **Backend:**.
  • flake8 Backend/ is clean.

The integration tests need PostgreSQL and a running backend; CONTRIBUTING.md explains how to run them against a throwaway database. CI runs them on every pull request too.

Lenguaje dominante
Python
Estrellas
1
Forks
2
Merge medio
6 h 9 min
PR fusionados (30 d)
109

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PashaCore/POps

Todos los issues de PashaCore/POps

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.