From 917f0eac72bcec722cb9c7e746c4583add9c86f6 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Sat, 3 Oct 2026 19:42:15 -0300
Subject: Fix Python 3 handling of blank password aging values

Blank optional shadow aging values are parsed as None. The existing numeric comparisons fail on Python 3, so the UI now handles an unset minimum age explicitly.
---
 userconfig/userconfig.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/userconfig/userconfig.py b/userconfig/userconfig.py
index 96517f1..d638328 100755
--- a/userconfig/userconfig.py
+++ b/userconfig/userconfig.py
@@ -1084,9 +1084,10 @@ class UserEditDialog(KDialogBase):
             self.disableexpireedit.setValue(self.userobj.getPasswordDisableAfterExpire())
 
         minage = self.userobj.getMinimumPasswordAgeBeforeChange()
-        self.enforcepasswordminagecheckbox.setChecked(minage>0)
-        self.minimumpasswordedit.setDisabled(minage<=0)
-        if minage<=0:
+        enforce_minage = minage is not None and minage > 0
+        self.enforcepasswordminagecheckbox.setChecked(enforce_minage)
+        self.minimumpasswordedit.setDisabled(not enforce_minage)
+        if not enforce_minage:
             minage = 1
         self.minimumpasswordedit.setValue(minage)
 
-- 
cgit v1.2.3

