Fix username regex
All checks were successful
PikaOS Package Build & Release (amd64-v3) / build (push) Successful in 1m45s
All checks were successful
PikaOS Package Build & Release (amd64-v3) / build (push) Successful in 1m45s
This commit is contained in:
parent
c2df7862eb
commit
a84f083731
2
.github/release-nest-v3
vendored
2
.github/release-nest-v3
vendored
@ -1 +1 @@
|
|||||||
1
|
2
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -1,4 +1,4 @@
|
|||||||
pika-first-setup (1.0.1-101pika1) pika; urgency=low
|
pika-first-setup (1.0.1-101pika2) pika; urgency=low
|
||||||
|
|
||||||
* Just rebuild for OS4
|
* Just rebuild for OS4
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Напишете Потребителска парола отново:",
|
"user_info_password_verify_title": "Напишете Потребителска парола отново:",
|
||||||
"error_label_is_root_label": "Потребителското име не може да е root.",
|
"error_label_is_root_label": "Потребителското име не може да е root.",
|
||||||
"error_label_is_pikaos_label": "Потребителското име не може да е pikaos.",
|
"error_label_is_pikaos_label": "Потребителското име не може да е pikaos.",
|
||||||
"error_label_username_is_special_label": "Потребителското име не може да съдържа специални символи.",
|
"error_label_username_is_invalid_label": "Потребителското име не може да съдържа специални символи.",
|
||||||
"error_label_hostname_is_special_label": "Името на хоста не може да съдържа специални символи или интервали.",
|
"error_label_hostname_is_special_label": "Името на хоста не може да съдържа специални символи или интервали.",
|
||||||
"error_label_password_mismatch_label": "Паролите не съвпадат!",
|
"error_label_password_mismatch_label": "Паролите не съвпадат!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Геймърски МЕТА Пакет",
|
"first_setup_gameutils_box_text_title": "PikaOS Геймърски МЕТА Пакет",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Ověření uživatelského hesla:",
|
"user_info_password_verify_title": "Ověření uživatelského hesla:",
|
||||||
"error_label_is_root_label": "Uživatelské jméno nemůže být root.",
|
"error_label_is_root_label": "Uživatelské jméno nemůže být root.",
|
||||||
"error_label_is_pikaos_label": "Uživatelské jméno nemůže být pikaos.",
|
"error_label_is_pikaos_label": "Uživatelské jméno nemůže být pikaos.",
|
||||||
"error_label_username_is_special_label": "Uživatelské jméno nemůže obsahovat mezery či speciální znaky.",
|
"error_label_username_is_invalid_label": "Uživatelské jméno nemůže obsahovat mezery či speciální znaky.",
|
||||||
"error_label_hostname_is_special_label": "Hostitel nemůže obsahovat mezery či speciální znaky.",
|
"error_label_hostname_is_special_label": "Hostitel nemůže obsahovat mezery či speciální znaky.",
|
||||||
"error_label_password_mismatch_label": "Hesla se neshodují!",
|
"error_label_password_mismatch_label": "Hesla se neshodují!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Gib das Benutzerpasswort erneut ein:",
|
"user_info_password_verify_title": "Gib das Benutzerpasswort erneut ein:",
|
||||||
"error_label_is_root_label": "Der Benutzername darf nicht root sein.",
|
"error_label_is_root_label": "Der Benutzername darf nicht root sein.",
|
||||||
"error_label_is_pikaos_label": "Der Benutzername darf nicht pikaos sein.",
|
"error_label_is_pikaos_label": "Der Benutzername darf nicht pikaos sein.",
|
||||||
"error_label_username_is_special_label": "Der Benutzername darf keine Sonderzeichen oder Leerzeichen enthalten.",
|
"error_label_username_is_invalid_label": "Der Benutzername darf keine Sonderzeichen oder Leerzeichen enthalten.",
|
||||||
"error_label_hostname_is_special_label": "Der Hostname darf keine Sonderzeichen oder Leerzeichen enthalten.",
|
"error_label_hostname_is_special_label": "Der Hostname darf keine Sonderzeichen oder Leerzeichen enthalten.",
|
||||||
"error_label_password_mismatch_label": "Passwörter stimmen nicht überein!",
|
"error_label_password_mismatch_label": "Passwörter stimmen nicht überein!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta-Paket",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta-Paket",
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
"user_info_password_verify_title": "Enter User password again:",
|
"user_info_password_verify_title": "Enter User password again:",
|
||||||
"error_label_is_root_label": "Username can not be root.",
|
"error_label_is_root_label": "Username can not be root.",
|
||||||
"error_label_is_pikaos_label": "Username can not be pikaos.",
|
"error_label_is_pikaos_label": "Username can not be pikaos.",
|
||||||
"error_label_username_is_special_label": "Username can not contain special characters or spaces.",
|
"error_label_username_is_invalid_label": "Username is invalid.",
|
||||||
"error_label_hostname_is_special_label": "Hostname can not contain special characters or spaces.",
|
"error_label_hostname_is_special_label": "Hostname can not contain special characters or spaces.",
|
||||||
"error_label_password_mismatch_label": "Passwords do not match!",
|
"error_label_password_mismatch_label": "Passwords do not match!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Saisir à nouveau le mot de passe de l'utilisateur:",
|
"user_info_password_verify_title": "Saisir à nouveau le mot de passe de l'utilisateur:",
|
||||||
"error_label_is_root_label": "Le nom d'utilisateur ne peut pas être \"root\".",
|
"error_label_is_root_label": "Le nom d'utilisateur ne peut pas être \"root\".",
|
||||||
"error_label_is_pikaos_label": "Le nom d'utilisateur ne peut pas être \"pikaos\".",
|
"error_label_is_pikaos_label": "Le nom d'utilisateur ne peut pas être \"pikaos\".",
|
||||||
"error_label_username_is_special_label": "Le nom d'utilisateur ne peut pas contenir de caractère spécial ou d'espace.",
|
"error_label_username_is_invalid_label": "Le nom d'utilisateur ne peut pas contenir de caractère spécial ou d'espace.",
|
||||||
"error_label_hostname_is_special_label": "Le nom d'hôte ne peut pas contenir de caractère spécial ou d'espace.",
|
"error_label_hostname_is_special_label": "Le nom d'hôte ne peut pas contenir de caractère spécial ou d'espace.",
|
||||||
"error_label_password_mismatch_label": "Les mots de passe ne correspondent pas !",
|
"error_label_password_mismatch_label": "Les mots de passe ne correspondent pas !",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Inserisci la password dell'utente un altra volta:",
|
"user_info_password_verify_title": "Inserisci la password dell'utente un altra volta:",
|
||||||
"error_label_is_root_label": "L'username non può essere root.",
|
"error_label_is_root_label": "L'username non può essere root.",
|
||||||
"error_label_is_pikaos_label": "L'username non può essere pikaos.",
|
"error_label_is_pikaos_label": "L'username non può essere pikaos.",
|
||||||
"error_label_username_is_special_label": "",
|
"error_label_username_is_invalid_label": "",
|
||||||
"error_label_hostname_is_special_label": "",
|
"error_label_hostname_is_special_label": "",
|
||||||
"error_label_password_mismatch_label": "Le password non corrispondono!",
|
"error_label_password_mismatch_label": "Le password non corrispondono!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Pacchetto per il Gaming",
|
"first_setup_gameutils_box_text_title": "PikaOS Pacchetto per il Gaming",
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
"user_info_password_verify_title": "Voer het gebruikerswachtwoord opnieuw in:",
|
"user_info_password_verify_title": "Voer het gebruikerswachtwoord opnieuw in:",
|
||||||
"error_label_is_root_label": "Gebruikersnaam mag geen root zijn.",
|
"error_label_is_root_label": "Gebruikersnaam mag geen root zijn.",
|
||||||
"error_label_is_pikaos_label": "Gebruikersnaam mag geen pikaos zijn.",
|
"error_label_is_pikaos_label": "Gebruikersnaam mag geen pikaos zijn.",
|
||||||
"error_label_username_is_special_label": "De gebruikersnaam mag geen speciale tekens of spaties bevatten.",
|
"error_label_username_is_invalid_label": "De gebruikersnaam mag geen speciale tekens of spaties bevatten.",
|
||||||
"error_label_hostname_is_special_label": "Hostnaam mag geen speciale tekens of spaties bevatten.",
|
"error_label_hostname_is_special_label": "Hostnaam mag geen speciale tekens of spaties bevatten.",
|
||||||
"error_label_password_mismatch_label": "Wachtwoorden komen niet overeen!",
|
"error_label_password_mismatch_label": "Wachtwoorden komen niet overeen!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming metapakket",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming metapakket",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"user_info_password_verify_title": "Ange Användarlösenord igen:",
|
"user_info_password_verify_title": "Ange Användarlösenord igen:",
|
||||||
"error_label_is_root_label": "Användarnamn kan inte vara root.",
|
"error_label_is_root_label": "Användarnamn kan inte vara root.",
|
||||||
"error_label_is_pikaos_label": "Användarnamn kan inte vara pikaos.",
|
"error_label_is_pikaos_label": "Användarnamn kan inte vara pikaos.",
|
||||||
"error_label_username_is_special_label": "Användarnamnet får inte innehålla specialtecken eller mellanslag.",
|
"error_label_username_is_invalid_label": "Användarnamnet får inte innehålla specialtecken eller mellanslag.",
|
||||||
"error_label_hostname_is_special_label": "Hostname får inte innehålla specialtecken eller mellanslag.",
|
"error_label_hostname_is_special_label": "Hostname får inte innehålla specialtecken eller mellanslag.",
|
||||||
"error_label_password_mismatch_label": "Lösenorden matchar inte varandra!",
|
"error_label_password_mismatch_label": "Lösenorden matchar inte varandra!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
"first_setup_gameutils_box_text_title": "PikaOS Gaming Meta Package",
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
"user_info_password_verify_title": "Kullanıcı şifresini tekrar girin:",
|
"user_info_password_verify_title": "Kullanıcı şifresini tekrar girin:",
|
||||||
"error_label_is_root_label": "Kullanıcı adı root olamaz.",
|
"error_label_is_root_label": "Kullanıcı adı root olamaz.",
|
||||||
"error_label_is_pikaos_label": "Kullanıcı adı pikaos olamaz.",
|
"error_label_is_pikaos_label": "Kullanıcı adı pikaos olamaz.",
|
||||||
"error_label_username_is_special_label": "Kullanıcı adı boşlut yahut özel karakter içeremez.",
|
"error_label_username_is_invalid_label": "Kullanıcı adı boşlut yahut özel karakter içeremez.",
|
||||||
"error_label_hostname_is_special_label": "Makine adı boşluk yahut özel karakter içeremez.",
|
"error_label_hostname_is_special_label": "Makine adı boşluk yahut özel karakter içeremez.",
|
||||||
"error_label_password_mismatch_label": "Şifreler eşleşmiyor!",
|
"error_label_password_mismatch_label": "Şifreler eşleşmiyor!",
|
||||||
"first_setup_gameutils_box_text_title": "PikaOS Oyun Meta Paketi",
|
"first_setup_gameutils_box_text_title": "PikaOS Oyun Meta Paketi",
|
||||||
|
@ -83,7 +83,6 @@ pub fn codec_carousel(
|
|||||||
.title(t!("first_setup_codec_box_text_title"))
|
.title(t!("first_setup_codec_box_text_title"))
|
||||||
.description(t!("first_setup_codec_box_text_description"))
|
.description(t!("first_setup_codec_box_text_description"))
|
||||||
.build();
|
.build();
|
||||||
first_setup_codec_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_codec_button = gtk::Button::builder()
|
let first_setup_codec_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_codec_button_label"))
|
.label(t!("first_setup_codec_button_label"))
|
||||||
|
@ -45,7 +45,6 @@ pub fn driver_carousel(
|
|||||||
.title(t!("first_setup_driver_box_text_title"))
|
.title(t!("first_setup_driver_box_text_title"))
|
||||||
.description(t!("first_setup_driver_box_text_description"))
|
.description(t!("first_setup_driver_box_text_description"))
|
||||||
.build();
|
.build();
|
||||||
first_setup_driver_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_driver_button = gtk::Button::builder()
|
let first_setup_driver_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_driver_button_label"))
|
.label(t!("first_setup_driver_button_label"))
|
||||||
|
@ -30,7 +30,6 @@ pub fn final_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
.title(t!("first_setup_final_box_text_title"))
|
.title(t!("first_setup_final_box_text_title"))
|
||||||
.description(t!("first_setup_final_box_text_description"))
|
.description(t!("first_setup_final_box_text_description"))
|
||||||
.build();
|
.build();
|
||||||
first_setup_final_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_start_button = gtk::Button::builder()
|
let first_setup_start_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_reboot_button_label"))
|
.label(t!("first_setup_reboot_button_label"))
|
||||||
|
@ -83,7 +83,6 @@ pub fn gameutils_carousel(
|
|||||||
.title(t!("first_setup_gameutils_box_text_title"))
|
.title(t!("first_setup_gameutils_box_text_title"))
|
||||||
.description(t!("first_setup_gameutils_box_text_description"))
|
.description(t!("first_setup_gameutils_box_text_description"))
|
||||||
.build();
|
.build();
|
||||||
first_setup_gameutils_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_gameutils_button = gtk::Button::builder()
|
let first_setup_gameutils_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_gameutils_button_label"))
|
.label(t!("first_setup_gameutils_button_label"))
|
||||||
|
@ -24,7 +24,6 @@ pub fn initial_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
.title(t!("first_setup_initial_box_text_title"))
|
.title(t!("first_setup_initial_box_text_title"))
|
||||||
.description(t!("first_setup_initial_box_text_description"))
|
.description(t!("first_setup_initial_box_text_description"))
|
||||||
.build();
|
.build();
|
||||||
first_setup_initial_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_start_button = gtk::Button::builder()
|
let first_setup_start_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_start_button_label"))
|
.label(t!("first_setup_start_button_label"))
|
||||||
|
@ -65,10 +65,9 @@ pub fn internet_carousel(
|
|||||||
.title(t!("first_setup_internet_box_text_title"))
|
.title(t!("first_setup_internet_box_text_title"))
|
||||||
.description(t!("first_setup_internet_box_text_description"))
|
.description(t!("first_setup_internet_box_text_description"))
|
||||||
.hexpand(true)
|
.hexpand(true)
|
||||||
.vexpand(true)
|
.vexpand(true)
|
||||||
.valign(Align::Start)
|
|
||||||
.build();
|
.build();
|
||||||
first_setup_internet_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let internet_skip_button = gtk::Button::builder()
|
let internet_skip_button = gtk::Button::builder()
|
||||||
.label(t!("internet_skip_button_label"))
|
.label(t!("internet_skip_button_label"))
|
||||||
|
@ -83,7 +83,7 @@ pub fn update_carousel(
|
|||||||
.title(t!("first_setup_update_box_text_title"))
|
.title(t!("first_setup_update_box_text_title"))
|
||||||
.description("We recommend updating your PikaOS install before proceeding\nWould you like to Update your system?")
|
.description("We recommend updating your PikaOS install before proceeding\nWould you like to Update your system?")
|
||||||
.build();
|
.build();
|
||||||
first_setup_update_box_text.add_css_class("compact");
|
|
||||||
|
|
||||||
let first_setup_update_button = gtk::Button::builder()
|
let first_setup_update_button = gtk::Button::builder()
|
||||||
.label(t!("first_setup_update_button_label"))
|
.label(t!("first_setup_update_button_label"))
|
||||||
|
@ -31,10 +31,6 @@ hostnamectl set-hostname "${HOSTNAME}"
|
|||||||
echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
|
echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
|
||||||
"###;
|
"###;
|
||||||
|
|
||||||
fn only_alphanumeric(input: &str) -> bool {
|
|
||||||
return input.chars().all(|c| c.is_alphanumeric());
|
|
||||||
}
|
|
||||||
|
|
||||||
fn uppercase_first_letter(s: &str) -> String {
|
fn uppercase_first_letter(s: &str) -> String {
|
||||||
let mut c = s.chars();
|
let mut c = s.chars();
|
||||||
match c.next() {
|
match c.next() {
|
||||||
@ -70,13 +66,35 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
.margin_top(15)
|
.margin_top(15)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
let first_setup_user_box_text = adw::StatusPage::builder()
|
let first_user_text0 = gtk::Label::builder()
|
||||||
|
.margin_end(15)
|
||||||
|
.margin_start(15)
|
||||||
|
.margin_bottom(5)
|
||||||
|
.margin_top(15)
|
||||||
|
.label(t!("first_setup_user_box_text_title"))
|
||||||
|
.halign(Align::Center)
|
||||||
|
.build();
|
||||||
|
first_user_text0.add_css_class("title-1");
|
||||||
|
|
||||||
|
let first_user_text1 = gtk::Label::builder()
|
||||||
|
.margin_end(15)
|
||||||
|
.margin_start(15)
|
||||||
|
.margin_bottom(15)
|
||||||
|
.margin_top(5)
|
||||||
|
.label(t!("first_setup_user_box_text_description"))
|
||||||
|
.halign(Align::Center)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
/*let first_setup_user_box_text = adw::StatusPage::builder()
|
||||||
.title(t!("first_setup_user_box_text_title"))
|
.title(t!("first_setup_user_box_text_title"))
|
||||||
.description(t!("first_setup_user_box_text_description"))
|
.description(t!("first_setup_user_box_text_description"))
|
||||||
.hexpand(true)
|
.vexpand(true)
|
||||||
.valign(Align::Start)
|
.hexpand(true)
|
||||||
.build();
|
.build();*/
|
||||||
first_setup_user_box_text.add_css_class("compact");
|
|
||||||
|
let first_setup_user_box_text = gtk::Box::new(Orientation::Vertical, 0);
|
||||||
|
first_setup_user_box_text.append(&first_user_text0);
|
||||||
|
first_setup_user_box_text.append(&first_user_text1);
|
||||||
|
|
||||||
let user_info_box = gtk::Box::builder()
|
let user_info_box = gtk::Box::builder()
|
||||||
.orientation(Orientation::Vertical)
|
.orientation(Orientation::Vertical)
|
||||||
@ -146,15 +164,50 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
.build();
|
.build();
|
||||||
user_info_listbox.add_css_class("boxed-list");
|
user_info_listbox.add_css_class("boxed-list");
|
||||||
|
|
||||||
let error_label = gtk::Label::builder()
|
let error_label_is_root = gtk::Label::builder()
|
||||||
.margin_top(15)
|
.margin_top(2)
|
||||||
.margin_bottom(15)
|
.margin_end(2)
|
||||||
.margin_start(15)
|
.label(t!("error_label_is_root_label"))
|
||||||
.margin_end(15)
|
|
||||||
.visible(false)
|
.visible(false)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
error_label.add_css_class("red-text");
|
error_label_is_root.add_css_class("red-text");
|
||||||
|
|
||||||
|
let error_label_is_pikaos = gtk::Label::builder()
|
||||||
|
.margin_top(2)
|
||||||
|
.margin_end(2)
|
||||||
|
.label(t!("error_label_is_pikaos_label"))
|
||||||
|
.visible(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
error_label_is_pikaos.add_css_class("red-text");
|
||||||
|
|
||||||
|
let error_label_username_is_invalid = gtk::Label::builder()
|
||||||
|
.margin_top(2)
|
||||||
|
.margin_end(2)
|
||||||
|
.label(t!("error_label_username_is_invalid_label"))
|
||||||
|
.visible(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
error_label_username_is_invalid.add_css_class("red-text");
|
||||||
|
|
||||||
|
let error_label_hostname_is_special = gtk::Label::builder()
|
||||||
|
.margin_top(2)
|
||||||
|
.margin_end(2)
|
||||||
|
.label(t!("error_label_hostname_is_special_label"))
|
||||||
|
.visible(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
error_label_hostname_is_special.add_css_class("red-text");
|
||||||
|
|
||||||
|
let error_label_password_mismatch = gtk::Label::builder()
|
||||||
|
.margin_top(2)
|
||||||
|
.margin_end(2)
|
||||||
|
.label(t!("error_label_password_mismatch_label"))
|
||||||
|
.visible(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
error_label_password_mismatch.add_css_class("red-text");
|
||||||
|
|
||||||
let user_next_button = gtk::Button::builder()
|
let user_next_button = gtk::Button::builder()
|
||||||
.label(t!("internet_next_button_label"))
|
.label(t!("internet_next_button_label"))
|
||||||
@ -181,7 +234,11 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
|
|
||||||
first_setup_user_box.append(&first_setup_user_box_text);
|
first_setup_user_box.append(&first_setup_user_box_text);
|
||||||
first_setup_user_box.append(&user_info_box_clamp);
|
first_setup_user_box.append(&user_info_box_clamp);
|
||||||
first_setup_user_box.append(&error_label);
|
first_setup_user_box.append(&error_label_is_root);
|
||||||
|
first_setup_user_box.append(&error_label_is_pikaos);
|
||||||
|
first_setup_user_box.append(&error_label_username_is_invalid);
|
||||||
|
first_setup_user_box.append(&error_label_hostname_is_special);
|
||||||
|
first_setup_user_box.append(&error_label_password_mismatch);
|
||||||
first_setup_user_box.append(&user_next_button);
|
first_setup_user_box.append(&user_next_button);
|
||||||
|
|
||||||
// The main loop executes the asynchronous block
|
// The main loop executes the asynchronous block
|
||||||
@ -196,7 +253,7 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
user_info_username.connect_changed(clone!(@strong user_info_username_valid, @weak user_info_username, @weak user_info_full_name, @weak error_label => move |_| {
|
user_info_username.connect_changed(clone!(@strong user_info_username_valid, @weak user_info_username, @weak user_info_full_name, @weak error_label_username_is_invalid, @weak error_label_is_pikaos, @weak error_label_is_root => move |_| {
|
||||||
let user_info_username_string = user_info_username.text().to_string();
|
let user_info_username_string = user_info_username.text().to_string();
|
||||||
|
|
||||||
user_info_full_name.set_text(&uppercase_first_letter(&user_info_username_string));
|
user_info_full_name.set_text(&uppercase_first_letter(&user_info_username_string));
|
||||||
@ -206,48 +263,44 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
user_info_username.set_position(-1);
|
user_info_username.set_position(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if Regex::new(r"[A-Z]").unwrap().is_match(&user_info_username_string) {
|
|
||||||
user_info_username.set_text(&user_info_username_string.to_lowercase());
|
|
||||||
user_info_username.set_position(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut _username_is_root = false;
|
let mut _username_is_root = false;
|
||||||
let mut _username_is_pikaos = false;
|
let mut _username_is_pikaos = false;
|
||||||
let mut _username_is_special = false;
|
let mut _user_name_is_invalid = false;
|
||||||
|
|
||||||
if user_info_username_string != "root" {
|
if user_info_username_string != "root" {
|
||||||
|
error_label_is_root.set_visible(false);
|
||||||
_username_is_root=false;
|
_username_is_root=false;
|
||||||
} else {
|
} else {
|
||||||
error_label.set_label(&t!("error_label_is_root_label"));
|
error_label_is_root.set_visible(true);
|
||||||
_username_is_root=true;
|
_username_is_root=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if user_info_username_string != "pikaos" {
|
if user_info_username_string != "pikaos" {
|
||||||
|
error_label_is_pikaos.set_visible(false);
|
||||||
_username_is_pikaos=false;
|
_username_is_pikaos=false;
|
||||||
} else {
|
} else {
|
||||||
error_label.set_label(&t!("error_label_is_pikaos_label"));
|
error_label_is_pikaos.set_visible(true);
|
||||||
_username_is_pikaos=true;
|
_username_is_pikaos=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if only_alphanumeric(&user_info_username_string) {
|
if Regex::new(r"^[a-z_][-a-z0-9_]*\$?$").unwrap().is_match(&user_info_username_string) || user_info_username_string.is_empty() {
|
||||||
_username_is_special=false;
|
error_label_username_is_invalid.set_visible(false);
|
||||||
|
_user_name_is_invalid=false;
|
||||||
} else {
|
} else {
|
||||||
error_label.set_label(&t!("error_label_username_is_special_label"));
|
error_label_username_is_invalid.set_visible(true);
|
||||||
_username_is_special=true;
|
_user_name_is_invalid=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if _username_is_root == false && _username_is_pikaos == false && _username_is_special == false {
|
if _username_is_root == false && _username_is_pikaos == false && _user_name_is_invalid == false {
|
||||||
error_label.set_visible(false);
|
|
||||||
if !user_info_username.text().is_empty() {
|
if !user_info_username.text().is_empty() {
|
||||||
*user_info_username_valid.borrow_mut()=true;
|
*user_info_username_valid.borrow_mut()=true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*user_info_username_valid.borrow_mut()=false;
|
*user_info_username_valid.borrow_mut()=false;
|
||||||
error_label.set_visible(true);
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
user_info_full_name.connect_changed(clone!(@strong user_info_full_name_valid, @weak user_info_full_name, @weak error_label => move |_| {
|
user_info_full_name.connect_changed(clone!(@strong user_info_full_name_valid, @weak user_info_full_name => move |_| {
|
||||||
let user_info_full_name_string = user_info_full_name.text().to_string();
|
let user_info_full_name_string = user_info_full_name.text().to_string();
|
||||||
|
|
||||||
if user_info_full_name_string.len() > 32 {
|
if user_info_full_name_string.len() > 32 {
|
||||||
@ -262,7 +315,7 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
user_info_hostname.connect_changed(clone!(@strong user_info_hostname_valid, @weak user_info_hostname, @weak user_info_full_name, @weak error_label => move |_| {
|
user_info_hostname.connect_changed(clone!(@strong user_info_hostname_valid, @weak user_info_hostname, @weak user_info_full_name, @weak error_label_hostname_is_special => move |_| {
|
||||||
let user_info_hostname_string = user_info_hostname.text().to_string();
|
let user_info_hostname_string = user_info_hostname.text().to_string();
|
||||||
|
|
||||||
if user_info_hostname_string.len() > 32 {
|
if user_info_hostname_string.len() > 32 {
|
||||||
@ -273,24 +326,23 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
let mut _hostname_is_special = false;
|
let mut _hostname_is_special = false;
|
||||||
|
|
||||||
if Regex::new(r"^[A-Za-z0-9\.]*$").unwrap().is_match(&user_info_hostname_string) {
|
if Regex::new(r"^[A-Za-z0-9\.]*$").unwrap().is_match(&user_info_hostname_string) {
|
||||||
|
error_label_hostname_is_special.set_visible(false);
|
||||||
_hostname_is_special=false;
|
_hostname_is_special=false;
|
||||||
} else {
|
} else {
|
||||||
error_label.set_label(&t!("error_label_hostname_is_special_label"));
|
error_label_hostname_is_special.set_visible(true);
|
||||||
_hostname_is_special=true;
|
_hostname_is_special=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if _hostname_is_special == false {
|
if _hostname_is_special == false {
|
||||||
error_label.set_visible(false);
|
|
||||||
if !user_info_hostname.text().is_empty() {
|
if !user_info_hostname.text().is_empty() {
|
||||||
*user_info_hostname_valid.borrow_mut()=true;
|
*user_info_hostname_valid.borrow_mut()=true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*user_info_hostname_valid.borrow_mut()=false;
|
*user_info_hostname_valid.borrow_mut()=false;
|
||||||
error_label.set_visible(true);
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
user_info_password.connect_changed(clone!(@strong user_info_passwords_valid,@weak user_info_password_verify_revealer, @weak user_info_password, @weak user_info_password_verify, @weak error_label => move |_| {
|
user_info_password.connect_changed(clone!(@strong user_info_passwords_valid,@weak user_info_password_verify_revealer, @weak user_info_password, @weak user_info_password_verify, @weak error_label_password_mismatch => move |_| {
|
||||||
if user_info_password.text().is_empty() {
|
if user_info_password.text().is_empty() {
|
||||||
user_info_password_verify_revealer.set_reveal_child(false)
|
user_info_password_verify_revealer.set_reveal_child(false)
|
||||||
} else {
|
} else {
|
||||||
@ -298,20 +350,20 @@ pub fn user_carousel(first_setup_carousel: &adw::Carousel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if user_info_password.text() == user_info_password_verify.text() {
|
if user_info_password.text() == user_info_password_verify.text() {
|
||||||
error_label.set_visible(false);
|
error_label_password_mismatch.set_visible(false);
|
||||||
*user_info_passwords_valid.borrow_mut()=true;
|
*user_info_passwords_valid.borrow_mut()=true;
|
||||||
} else {
|
} else {
|
||||||
|
error_label_password_mismatch.set_visible(true);
|
||||||
*user_info_passwords_valid.borrow_mut()=false;
|
*user_info_passwords_valid.borrow_mut()=false;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
user_info_password_verify.connect_changed(clone!(@strong user_info_passwords_valid, @weak user_info_password, @weak user_info_password_verify, @weak error_label => move |_| {
|
user_info_password_verify.connect_changed(clone!(@strong user_info_passwords_valid, @weak user_info_password, @weak user_info_password_verify, @weak error_label_password_mismatch => move |_| {
|
||||||
if user_info_password.text() == user_info_password_verify.text() {
|
if user_info_password.text() == user_info_password_verify.text() {
|
||||||
error_label.set_visible(false);
|
error_label_password_mismatch.set_visible(false);
|
||||||
*user_info_passwords_valid.borrow_mut()=true;
|
*user_info_passwords_valid.borrow_mut()=true;
|
||||||
} else {
|
} else {
|
||||||
error_label.set_visible(true);
|
error_label_password_mismatch.set_visible(true);
|
||||||
error_label.set_label(&t!("error_label_password_mismatch_label"));
|
|
||||||
*user_info_passwords_valid.borrow_mut()=false;
|
*user_info_passwords_valid.borrow_mut()=false;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user