Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta Adatta ai principianti
#73 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
85/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
postgresql, python
Ambito
backend, databases

Direzione di ricerca

In Backend/pops/routers/reports.py, trova report_export e il suo ramo kind == "devices"; leggi la gestione esistente dell’intestazione, della query e di _cell(). Aggiungi le due colonne delle funzionalità alla fine, nello stesso ordine, poi estendi i controlli del CSV dei dispositivi in Backend/tests/test_features.py e aggiungi la voce richiesta a CHANGELOG.md. Il lavoro è terminato quando l’ordine delle intestazioni e i valori soddisfano i criteri e flake8 Backend/ non segnala errori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
1
Fork
2
Merge medio
8h 6m
PR unite (30g)
122

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PashaCore/POps

Tutte le issue di PashaCore/POps

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.