feat(einsatzdaten): the address model cannot hold a house number, PLZ or Ort
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
調査の方向性
Start with Incident.cs, Formatting.Address, and the existing migration chain in Sqlite/Migrations.cs (currently v21); then trace the fields through IncidentDataDialogView.axaml, IncidentHeaderSection.cs, and the sync snapshot. The issue leaves open whether District remains distinct from Place, so settle that design question before changing the model. Done means optional address fields are migrated and carried through the form, formatting, PDF header, and sync.
索引モデルが issue の本文から書いたものです。
説明
From a portability review of main (ecb341b).
The gap
An incident's location is two free-text fields and nothing else:
// src/LageBuch.Domain/Incident.cs
public string? Street { get; private set; } // :40
public string? District { get; private set; } // :42
Columns incident_meta.street and incident_meta.district; Formatting.Address joins them with ", "; the placeholders are z. B. Hauptstr. 12 and z. B. Puch (IncidentDataDialogView.axaml:31,34). There is no house-number field (it goes in Street by convention), no PLZ, no Ort, no country.
Why it is a limit even in Bavaria
For a Feuerwehr documenting incidents inside its own Gemeinde this is exactly right and adding fields would be noise. It stops working in two cases that are not unusual:
- Überörtliche Hilfe. The Ort is the discriminating field and there is nowhere to put it. Today it goes in
District, which then means something different from one incident to the next. - A Landkreis-level ELW. Same problem, permanently.
The PDF header (IncidentHeaderSection.cs:53) and the Einsatzbericht that reaches the Kreisbrandinspektion inherit the ambiguity.
Outside Germany it is a harder stop: UK postcodes and US city/state/ZIP have nowhere to go at all.
Proposal
Add HouseNumber, PostalCode and Place to incident_meta, keep Street and District, and keep every field optional so the current one-Gemeinde workflow stays a two-field form. Formatting.Address grows a canonical join that drops the empties.
.fwincident has a real migration chain (Sqlite/Migrations.cs, currently at v21) so this is a routine additive migration — no data loss, old files open with the new fields null.
Fields follow through to IncidentDataDialogView, IncidentHeaderSection, and the sync snapshot.
Open question
Whether District (Ortsteil) survives as its own field once Place exists, or whether the two collapse. I lean towards keeping both — an Ortsteil is genuinely how a rural incident gets located, and it is not a city district.
- 主要言語
- C#
- スター
- 1
- フォーク
- 3
- 平均マージ
- 4時間 34分
- マージ済み PR(30日)
- 182
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CodeForFire/lagebuch のほかの issue
-
bug ux
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
CodeForFire/lagebuch#714 ·
メンテナーはふだん 1 日以内に返信
-
bug ux
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
CodeForFire/lagebuch#713 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
CodeForFire/lagebuch#405 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
CodeForFire/lagebuch#349 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
CodeForFire/lagebuch#348 ·
メンテナーはふだん 1 日以内に返信
CodeForFire/lagebuch の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
KnifeLemon/Filee#363 ·
メンテナーはふだん 1 日以内に返信
-
[CI] .trgen-ignore required for several grammars.対応中かも @kaby76 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
antlr/grammars-v4#5073 ·
メンテナーはふだん 1 日以内に返信
-
/api/oauth/introspect emits clientId and tokenType instead of RFC 7662's client_id and token_typeオープンbug P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
nightscout/nocturne#2317 ·
メンテナーはふだん 1 日以内に返信
-
[BUG]: Position intent set on a simple order is dropped when it becomes a bracket, OCO or OTO order対応中かも @RaphaelFakhri が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
alpacahq/alpaca-trade-api-csharp#903 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
joinrpg/joinrpg-net#5752 ·
メンテナーはふだん 1 日以内に返信