From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 736FC1FF146 for ; Tue, 26 May 2026 15:06:41 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0624D1ED7E; Tue, 26 May 2026 15:06:40 +0200 (CEST) From: Christian Ebner To: pdm-devel@lists.proxmox.com Subject: [PATCH datacenter-manager] ui: auto-installer: filter by country name and code Date: Tue, 26 May 2026 15:06:18 +0200 Message-ID: <20260526130618.516360-1-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1779800771292 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.069 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com] Message-ID-Hash: A67Y4CUJ6R7LGAFYUFZUN2C7VNHQCNNJ X-Message-ID-Hash: A67Y4CUJ6R7LGAFYUFZUN2C7VNHQCNNJ X-MailFrom: c.ebner@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: 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@proxmox.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/src/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 = query.to_string().to_lowercase(); + let item = item.to_string(); + + // match by country code + if item.starts_with(&query) { + return true; + } + + // match by country (common) name + if let Some(name) = COUNTRY_INFO.deref().get(&item) { + return name.to_lowercase().starts_with(&query); + } + + false + }) .autoselect_filter(true) .required(true), ) -- 2.47.3