From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 514251FF146 for ; Tue, 26 May 2026 15:09:40 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2F2601EE89; Tue, 26 May 2026 15:09:38 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 26 May 2026 15:09:34 +0200 Message-Id: To: "Christian Ebner" , Subject: Re: [PATCH datacenter-manager] ui: auto-installer: filter by country name and code X-Mailer: aerc 0.20.0 References: <20260526130618.516360-1-c.ebner@proxmox.com> In-Reply-To: <20260526130618.516360-1-c.ebner@proxmox.com> From: "Shannon Sterz" X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1779800949553 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.111 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: AC7X2XYW7Z2AHKWNVAYUF2E5NGV7UJSJ X-Message-ID-Hash: AC7X2XYW7Z2AHKWNVAYUF2E5NGV7UJSJ X-MailFrom: s.sterz@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Tue May 26, 2026 at 3:06 PM CEST, Christian Ebner wrote: > The country filed for answer files expects a 2 character country > code as input, while showing the full country name for items. The > filter therefore currently applies to country codes only, not > matching on country (common) names. > > Filter based on both, matching name or country code instead. > > Signed-off-by: Christian Ebner > --- > Note: > Developt on top of [0] to reduce conflicts when applying. > > [0] https://lore.proxmox.com/pdm-devel/20260526113310.289789-1-s.sterz@pr= oxmox.com/T/ > > .../auto_installer/prepared_answer_form.rs | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/ui/src/remotes/auto_installer/prepared_answer_form.rs b/ui/s= rc/remotes/auto_installer/prepared_answer_form.rs > index c1d2bab..793f41c 100644 > --- a/ui/src/remotes/auto_installer/prepared_answer_form.rs > +++ b/ui/src/remotes/auto_installer/prepared_answer_form.rs > @@ -171,6 +171,22 @@ pub fn render_global_options_form( > } > }) > .value(config.country.clone()) > + .filter(|item: &AttrValue, query: &str| { > + let query =3D query.to_string().to_lowercase(); > + let item =3D item.to_string(); > + > + // match by country code > + if item.starts_with(&query) { > + return true; > + } > + > + // match by country (common) name > + if let Some(name) =3D COUNTRY_INFO.deref().get(&item= ) { > + return name.to_lowercase().starts_with(&query); > + } Maybe `contains` would be more appropriate here? Since these are mostly one word names, it's natural to start with the beginning, but we do usually use `contains` when it comes to searching & filtering. > + > + false > + }) > .autoselect_filter(true) > .required(true), > )