Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#73 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
85/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
postgresql, python
領域
backend, databases

調査の方向性

Backend/pops/routers/reports.pyでreport_exportとそのkind == "devices"分岐を見つけ、既存のヘッダー、クエリ、_cell()の処理を確認してください。2つの機能列を同じ順序で末尾に追加し、続いてBackend/tests/test_features.pyのデバイスCSVのチェックを拡張し、必要なCHANGELOG.mdのエントリーを追加してください。ヘッダーの順序と値が基準を満たし、flake8 Backend/でエラーが出なければ完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
1
フォーク
2
平均マージ
6時間 9分
マージ済み PR(30日)
109

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PashaCore/POps のほかの issue

PashaCore/POps の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。