Automatic usernames
This commit is contained in:
@@ -29,10 +29,16 @@ class UserPage(Adw.Bin):
|
|||||||
|
|
||||||
self.fullname_row = Adw.EntryRow()
|
self.fullname_row = Adw.EntryRow()
|
||||||
self.fullname_row.set_title("Full Name")
|
self.fullname_row.set_title("Full Name")
|
||||||
|
self.fullname_row.set_text("Administrator")
|
||||||
|
self.fullname_row.connect("notify::text", self.on_fullname_changed)
|
||||||
group.add(self.fullname_row)
|
group.add(self.fullname_row)
|
||||||
|
|
||||||
self.username_row = Adw.EntryRow()
|
self.username_row = Adw.EntryRow()
|
||||||
self.username_row.set_title("Username")
|
self.username_row.set_title("Username")
|
||||||
|
self.username_row.set_text("admin")
|
||||||
|
self.username_handler_id = self.username_row.connect(
|
||||||
|
"notify::text", self.on_username_changed
|
||||||
|
)
|
||||||
group.add(self.username_row)
|
group.add(self.username_row)
|
||||||
|
|
||||||
self.password_row = Adw.PasswordEntryRow()
|
self.password_row = Adw.PasswordEntryRow()
|
||||||
@@ -50,16 +56,66 @@ class UserPage(Adw.Bin):
|
|||||||
|
|
||||||
self.hostname_row = Adw.EntryRow()
|
self.hostname_row = Adw.EntryRow()
|
||||||
self.hostname_row.set_title("Hostname")
|
self.hostname_row.set_title("Hostname")
|
||||||
self.hostname_row.set_text("iridium-pc")
|
self.hostname_row.set_text("iridium")
|
||||||
host_group.add(self.hostname_row)
|
host_group.add(self.hostname_row)
|
||||||
|
|
||||||
# Administrator
|
self.username_manually_set = False
|
||||||
admin_group = Adw.PreferencesGroup()
|
|
||||||
admin_group.set_margin_top(12)
|
|
||||||
box.append(admin_group)
|
|
||||||
|
|
||||||
admin_row = Adw.SwitchRow()
|
def on_fullname_changed(self, entry, _pspec):
|
||||||
admin_row.set_title("Make this user administrator")
|
if self.username_manually_set:
|
||||||
admin_row.set_subtitle("Add to sudoers group")
|
return
|
||||||
admin_row.set_active(True)
|
|
||||||
admin_group.add(admin_row)
|
username = entry.get_text().lower()
|
||||||
|
if username == "administrator":
|
||||||
|
username = "admin"
|
||||||
|
for sign in (
|
||||||
|
" ",
|
||||||
|
"-",
|
||||||
|
"_",
|
||||||
|
".",
|
||||||
|
",",
|
||||||
|
":",
|
||||||
|
";",
|
||||||
|
"!",
|
||||||
|
"?",
|
||||||
|
"/",
|
||||||
|
"\\",
|
||||||
|
"|",
|
||||||
|
"@",
|
||||||
|
"#",
|
||||||
|
"$",
|
||||||
|
"%",
|
||||||
|
"^",
|
||||||
|
"&",
|
||||||
|
"*",
|
||||||
|
"(",
|
||||||
|
")",
|
||||||
|
"[",
|
||||||
|
"]",
|
||||||
|
"{",
|
||||||
|
"}",
|
||||||
|
"'",
|
||||||
|
'"',
|
||||||
|
"`",
|
||||||
|
"~",
|
||||||
|
"<",
|
||||||
|
">",
|
||||||
|
"=",
|
||||||
|
"+",
|
||||||
|
):
|
||||||
|
username = username.replace(sign, "_")
|
||||||
|
|
||||||
|
self.username_row.handler_block(self.username_handler_id)
|
||||||
|
self.username_row.set_text(username)
|
||||||
|
self.username_row.handler_unblock(self.username_handler_id)
|
||||||
|
|
||||||
|
def on_username_changed(self, entry, _pspec):
|
||||||
|
self.username_manually_set = True
|
||||||
|
|
||||||
|
def get_user_info(self):
|
||||||
|
return {
|
||||||
|
"fullname": self.fullname_row.get_text(),
|
||||||
|
"username": self.username_row.get_text(),
|
||||||
|
"password": self.password_row.get_text(),
|
||||||
|
"hostname": self.hostname_row.get_text(),
|
||||||
|
}
|
||||||
|
|||||||
@@ -158,6 +158,8 @@ class InstallerWindow(Adw.ApplicationWindow):
|
|||||||
print(f"Mode: {mode}")
|
print(f"Mode: {mode}")
|
||||||
modules = self.modules_page.get_modules()
|
modules = self.modules_page.get_modules()
|
||||||
print(f"Modules: {modules}")
|
print(f"Modules: {modules}")
|
||||||
|
user_info = self.user_page.get_user_info()
|
||||||
|
print(f"User: {user_info}")
|
||||||
|
|
||||||
partitions_config = {}
|
partitions_config = {}
|
||||||
if mode == "manual":
|
if mode == "manual":
|
||||||
|
|||||||
Reference in New Issue
Block a user