From fe75a6af38d8341579a11057a35438c76b2b85ec Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 21 Feb 2024 17:26:47 +0600 Subject: [PATCH 01/14] Localisation edits, User description fixes --- source/ubl-settings-usergroups.c | 5 ++++- ubl-settings-usergroups.glade | 16 +++++++++++++--- ubl-settings-usergroups_ru.po | 4 ++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 3b9c3e9..392161d 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -72,6 +72,8 @@ void yon_interface_update(main_window *widgets){ login = yon_char_divide_search(parameters[0],"=",-1); login[strlen(login)-1]='\0'; } + if(!strcmp(parameters[0],"x")) + parameters[0]=""; if (parameters_size>1&&!strcmp(parameters[1],"x")) parameters[1]=AUTOMATICALLY_LABEL; if (parameters_size>2&&!strcmp(parameters[2],"x")) parameters[2]=login; char *pars = ""; @@ -1823,7 +1825,8 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w } else { main_group = ""; } - char *final_string = yon_char_unite(yon_char_return_if_exist(user_home,""), + char *final_string = user_home; + final_string = yon_char_unite(!yon_char_is_empty(final_string)?" ":"", yon_char_return_if_exist(user_shell,""), !yon_char_is_empty(user_shell)?" ":"", yon_char_return_if_exist(create_system_user,""), diff --git a/ubl-settings-usergroups.glade b/ubl-settings-usergroups.glade index e1674cf..f2da140 100644 --- a/ubl-settings-usergroups.glade +++ b/ubl-settings-usergroups.glade @@ -330,6 +330,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. fixed 10 Disabled + 0 @@ -388,6 +389,7 @@ name 10 Main group + 4 @@ -403,9 +405,10 @@ group 10 Additional groups + 5 - word + word-char 150 @@ -421,10 +424,11 @@ groups 10 Additional parameters + 6 word - 150 + 100 6 @@ -438,6 +442,7 @@ parameters 10 Password status + 7 @@ -529,8 +534,11 @@ name 10 Group users + 2 - + + 150 + 2 @@ -544,6 +552,7 @@ users 10 Additional parameters + 3 @@ -558,6 +567,7 @@ parameters 10 Password status + 4 diff --git a/ubl-settings-usergroups_ru.po b/ubl-settings-usergroups_ru.po index f0d537e..b5bd06a 100644 --- a/ubl-settings-usergroups_ru.po +++ b/ubl-settings-usergroups_ru.po @@ -560,11 +560,11 @@ msgstr "Синхронизация настроек пользователя" #: source/ubl-strings.h:157 msgid "During system startup, load the user from the configuration" -msgstr "При загрузке системы загрузить пользователя из конфигурации" +msgstr "При запуске операционной системы применять настройки пользователя из конфигурации" #: source/ubl-strings.h:158 msgid "When shutting down the system, save the user into the configuration" -msgstr "При завершении работы системы сохранить пользователя в конфигурацию" +msgstr "При завершении работы операционной системы сохранить настройки пользователя в конфигурацию" #: source/ubl-strings.h:159 msgid "User password configuration syncronization" From aea1a70161b3e59a33ddd902afd00e20959bfaf2 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 21 Feb 2024 18:11:59 +0600 Subject: [PATCH 02/14] Removed standard homedir rendering; Homedir place searching changes --- source/ubl-settings-usergroups.c | 27 ++++++++------------------- source/ubl-settings-usergroups.h | 2 +- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 392161d..27cd420 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -493,17 +493,15 @@ void yon_delete_confirmation_open(main_window *widgets){ for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ char *name,*username,*parameters,*homedir=NULL; gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,¶meters,-1); - int found = yon_char_parsed_check_exist(main_config.users,main_config.users_size,yon_char_append(name,":")); - - if (found>-1){ - int parsed_size; - config_str parsed = yon_char_parse(main_config.users[found],&parsed_size,":"); - if (parsed_size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")){ - - homedir = yon_char_new(parsed[5]); - } - yon_char_parsed_free(parsed,parsed_size); + int size; + config_str home = yon_config_load(get_home_command(name),&size); + if (size>0&&!yon_char_is_empty(home[0])){ + if (home[0][strlen(home[0])-1]=='\n') home[0][strlen(home[0])-1]='\0'; + homedir=home[0]; + } else { + homedir = NULL; } + int status=0; if (homedir) status=1; gtk_list_store_append(window->list,&itar); @@ -1438,11 +1436,6 @@ void on_user_login_update(GtkWidget *self, ubl_settings_usergroups_user_window * } else { gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry),""); } - if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo))==0){ - char *homepath = yon_char_append("/home/",(char*)gtk_entry_get_text(GTK_ENTRY(window->userLoginEntry))); - gtk_entry_set_text(GTK_ENTRY(window->userHomeEntry),homepath); - free(homepath); - } } void on_user_save(GtkWidget *self, dictionary *dict){ @@ -1579,8 +1572,6 @@ void on_user_save(GtkWidget *self, dictionary *dict){ int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo)); if (user_home_active==2){ user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL); - } else if (user_home_active==0){ - user_home=yon_char_unite("--home-dir ",main_config.default_home,"/",login,NULL); } else if (user_home_active==1){ user_home="--no-create-home"; } else user_home = ""; @@ -1803,8 +1794,6 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo)); if (user_home_active==2){ user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL); - } else if (user_home_active==0){ - user_home=yon_char_unite("--home-dir ",main_config.default_home,"/",login,NULL); } else if (user_home_active==1){ user_home="--no-create-home"; } else user_home = ""; diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index c3ef689..c333159 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -51,7 +51,7 @@ #define shadow_path "/etc/shadow" #define uid_path "/etc/login.defs" #define password_limits_path "/etc/security/pwquiality.conf" -#define get_home_command "getent passwd "$USER" | cut -d: -f6" +#define get_home_command(target) yon_char_unite("getent passwd \"",target,"\" | cut -d: -f6",NULL) #define remove_home_dirs_command(users_string) yon_char_append("/usr/lib/ublinux/functions remove_userhome ", users_string) #define default_home_initiator_path "/etc/default/useradd" From a55fef3c9295b83af187702d7c83c8998e6ebcd7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 12:13:15 +0600 Subject: [PATCH 03/14] Added context menu for user and group tree views --- source/ubl-settings-usergroups.c | 11 ++++++++--- source/ubl-settings-usergroups.h | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 27cd420..0282921 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1463,7 +1463,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ char *do_not_check = NULL; int samba_sync = 0; int samba_password_sync = 0; - char *deactivate = NULL; + int deactivate = 0; char *extra_options = NULL; char *useradd_boot = ""; char *useradd_shutdown = ""; @@ -2000,12 +2000,14 @@ void on_main_edit(GtkWidget *self, main_window *widgets){ if (parameter_string[0]=='\"') yon_char_divide(parameter_string,0); if (parameter_string[strlen(parameter_string)-1]=='\"') parameter_string[strlen(parameter_string)-1]='\0'; config_str parameters = yon_char_parse(parameter_string,&parsed_size,":"); + if(!strcmp(parameters[0],"x")) + parameters[0]=""; gtk_entry_set_text(GTK_ENTRY(window->userLoginEntry), name); gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry), name); gtk_entry_set_text(GTK_ENTRY(window->userUserNameEntry), parsed_size>0?parameters[0]:""); window->old_username=name; if (parsed_size>1){ - if (strcmp(parameters[1],"x")){ + if (parsed_size>1&&!strcmp(parameters[1],"x")||parsed_size<=1||strcmp(parameters[1],"")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck),0); gtk_entry_set_text(GTK_ENTRY(window->userUIDEntry), parsed_size>1?parameters[1]:""); } @@ -2057,12 +2059,13 @@ void on_main_edit(GtkWidget *self, main_window *widgets){ } // gtk_entry_set_text(GTK_ENTRY(window->), parsed_size>4?parameters[4]:""); } + if (parsed_size>5){ window->old_password=parameters[5]; if (strcmp(parameters[5],"x")&&strcmp(parameters[5],"")){ gtk_entry_set_text(GTK_ENTRY(window->userPasswordEntry),parameters[5]); gtk_combo_box_set_active(GTK_COMBO_BOX(window->userPasswordCombo),2); } - + } int samba_sync = yon_samba_sync_get(name); if (samba_sync==1){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userSyncSAMBACheck),1); @@ -2384,6 +2387,8 @@ main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); + yon_rmb_menu_setup(widgets->UsersTree,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL); + yon_rmb_menu_setup(widgets->GroupsTree,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL); yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree)); yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->GroupsTree)); diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index c333159..38577be 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -65,6 +65,9 @@ #define USERSHADOW_SYNC(user) yon_char_unite("USERSHADOW_SYNC[",user,"]",NULL) #define GROUPADD_SYNC(user) yon_char_unite("GROUPADD_SYNC[",user,"]",NULL) +#define edit_icon_name "com.ublinux.ubl-settings-usergroups.edit-symbolic" +#define delete_icon_name "com.ublinux.ubl-settings-usergroups.trash-symbolic" + #define password_hash_get_command(passwd) yon_char_append("mkpasswd2 ",passwd) typedef char* string; From d2a6d7f5470706fcf4d5ecb57a2802fbaea861ba Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 14:32:11 +0600 Subject: [PATCH 04/14] Changed wrapping of additional parameters column --- source/ubl-settings-usergroups.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 0282921..3b20198 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1507,6 +1507,14 @@ void on_user_save(GtkWidget *self, dictionary *dict){ yon_ubl_status_highlight_incorrect(window->userPasswordEntry); return; } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck))){ + if (password[0]=='%'&&password[1]=='%'){ + char *temp = yon_char_replace(password,"%%","!!"); + password = yon_char_replace(password,"!!","%%!*"); + } else { + password = yon_char_append("!*",password); + } + } } else { password=""; } @@ -1548,8 +1556,10 @@ void on_user_save(GtkWidget *self, dictionary *dict){ if (!yon_char_is_empty(password_expiration_date)){ password_expiration_date = window->expiration_unix; } - - warning_days = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin))); + + long warning_days_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin)); + if (warning_days_active>0) + warning_days = yon_char_from_long(warning_days_active); int no_activity_days_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userActivitySpin)); if (no_activity_days_active>0){ From c3ea6e1b256828a7f6aa134a495c7dcaf17dbe92 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 14:32:32 +0600 Subject: [PATCH 05/14] Changed wrapping of additional parameters column --- ubl-settings-usergroups.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubl-settings-usergroups.glade b/ubl-settings-usergroups.glade index f2da140..60b4421 100644 --- a/ubl-settings-usergroups.glade +++ b/ubl-settings-usergroups.glade @@ -428,7 +428,7 @@ parameters word - 100 + 150 6 From f3ca29df665df21f6ea950d12cc1d8662fa31869 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 15:24:24 +0600 Subject: [PATCH 06/14] Added functionality for temporary blocking user button --- source/ubl-settings-usergroups.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 3b20198..ca9fed3 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1510,7 +1510,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck))){ if (password[0]=='%'&&password[1]=='%'){ char *temp = yon_char_replace(password,"%%","!!"); - password = yon_char_replace(password,"!!","%%!*"); + password = yon_char_replace(temp,"!!","%%!*"); } else { password = yon_char_append("!*",password); } @@ -2072,6 +2072,10 @@ void on_main_edit(GtkWidget *self, main_window *widgets){ if (parsed_size>5){ window->old_password=parameters[5]; if (strcmp(parameters[5],"x")&&strcmp(parameters[5],"")){ + if (strstr(parameters[5],"!*")){ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck),1); + } + yon_char_divide(strstr(parameters[5],"!*"),1); gtk_entry_set_text(GTK_ENTRY(window->userPasswordEntry),parameters[5]); gtk_combo_box_set_active(GTK_COMBO_BOX(window->userPasswordCombo),2); } From f5754729dfc920180a532642946c9637e88a34f7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 15:44:34 +0600 Subject: [PATCH 07/14] Fixed system window column hat's label --- ubl-settings-usergroups-system.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubl-settings-usergroups-system.glade b/ubl-settings-usergroups-system.glade index aaeb2e6..f7cf5ac 100644 --- a/ubl-settings-usergroups-system.glade +++ b/ubl-settings-usergroups-system.glade @@ -141,7 +141,7 @@ True fixed 50 - Blocked + Disabled From 640a47e1b5490b5b7d6a1be57c1c1b8d6753ff96 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 16:18:23 +0600 Subject: [PATCH 08/14] Fixed 'user name' column on system window --- source/ubl-settings-usergroups.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index ca9fed3..d265924 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1288,7 +1288,7 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){ yon_char_parsed_free(parsed_group,parsed_gr_size); } gtk_list_store_append(window->liststore1,&iter); - gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[0],4,main_group_name,5,groups_string,6,parsed[5],-1); + gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],-1); } yon_char_parsed_free(parsed,parsed_size); } @@ -1328,19 +1328,21 @@ void on_system_update(GtkWidget *self, ubl_settings_usergroups_system_window *wi for (int i=0;i7){ + char *divided = yon_char_divide(copy,7); + if (divided){ + if (!strcmp(divided,"UID_MAX")){ + main_config.MAXUID = atol(strstr(login_defs[i],"\t")); + } + else if (!strcmp(divided,"UID_MIN")){ + main_config.MINUID = atol(strstr(login_defs[i],"\t")); + } + else if (!strcmp(divided,"GID_MAX")){ + main_config.MAXGID = atol(strstr(login_defs[i],"\t")); + } + else if (!strcmp(divided,"GID_MIN")){ + main_config.MINGID = atol(strstr(login_defs[i],"\t")); + } } } } From 12f1eacaf7585293930a2386ed9b8f73274d2799 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 16:29:56 +0600 Subject: [PATCH 09/14] Fixed column name at users choosing window --- source/ubl-settings-usergroups.c | 4 +++- source/ubl-settings-usergroups.h | 1 + ubl-settings-usergroups-group.glade | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index d265924..9150570 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -865,7 +865,8 @@ void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *self, main_w void on_user_choose(GtkWidget *self, GtkEntry *target){ ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new(); gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); - gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); + gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); + gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(window->GroupColumn),USERS_LABEL); GtkTreeIter iter, itar; char *output = (char*)gtk_entry_get_text(target); int size=0; @@ -1095,6 +1096,7 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(){ window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton"); window->HeaderLabel=yon_gtk_builder_get_widget(builder,"HeaderLabel"); window->StatusCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StatusCell")); + window->GroupColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"GroupColumn")); window->list = gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING); yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow"); diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index 38577be..f013345 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -221,6 +221,7 @@ typedef struct{ GtkWidget *GroupsOkButton; GtkWidget *HeaderLabel; GtkCellRenderer *StatusCell; + GtkTreeViewColumn *GroupColumn; } ubl_settings_usergroups_group_window; typedef struct{ diff --git a/ubl-settings-usergroups-group.glade b/ubl-settings-usergroups-group.glade index bb33aa9..2554118 100644 --- a/ubl-settings-usergroups-group.glade +++ b/ubl-settings-usergroups-group.glade @@ -57,7 +57,7 @@ - + Group From 44f6233a87a5ff526d512d0ac77c0eaabc65c909 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 16:55:34 +0600 Subject: [PATCH 10/14] Fixed date format --- source/ubl-settings-usergroups.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 9150570..bc93501 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1620,7 +1620,11 @@ void on_user_save(GtkWidget *self, dictionary *dict){ if (!window->old_password||window->old_password&&strcmp(window->old_password,password)){ time_t t = time(NULL); struct tm tm = *localtime(&t); - password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",yon_char_from_int(tm.tm_mon+1),"-",yon_char_from_int(tm.tm_mday),NULL); + char *month = yon_char_from_int(tm.tm_mon+1); + if (strlen(month)==1){ + month=yon_char_append("0",month); + } + password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",month,"-",yon_char_from_int(tm.tm_mday),NULL); } int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck)); From 4ae64ee452aa5a295455d88be0778be581cfdee9 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 17:05:01 +0600 Subject: [PATCH 11/14] Added 'chosen' label to group window --- ubl-settings-usergroups-group.glade | 1 + 1 file changed, 1 insertion(+) diff --git a/ubl-settings-usergroups-group.glade b/ubl-settings-usergroups-group.glade index 2554118..417dfd4 100644 --- a/ubl-settings-usergroups-group.glade +++ b/ubl-settings-usergroups-group.glade @@ -48,6 +48,7 @@ + Chosen From db1e092c003e4887e43044c7736c45b89e8ddea5 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 17:25:37 +0600 Subject: [PATCH 12/14] Fixed date format --- source/ubl-settings-usergroups.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index bc93501..dc440cc 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1624,7 +1624,11 @@ void on_user_save(GtkWidget *self, dictionary *dict){ if (strlen(month)==1){ month=yon_char_append("0",month); } - password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",month,"-",yon_char_from_int(tm.tm_mday),NULL); + char *day = yon_char_from_int(tm.tm_mday); + if (strlen(day)==1){ + day=yon_char_append("0",day); + } + password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",month,"-",day,NULL); } int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck)); From 153c5969dde91a3afea9bc27e5609a7d9a6c8fc5 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 17:31:52 +0600 Subject: [PATCH 13/14] Tooltop has been added to 'encrypt all passwords' button at additional settings window --- source/ubl-strings.h | 1 + ...tings-usergroups-additional-settings.glade | 1 + ubl-settings-usergroups.pot | 186 +++++++++-------- ubl-settings-usergroups_ru.po | 195 +++++++++--------- 4 files changed, 198 insertions(+), 185 deletions(-) diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 7bcb09d..e48cd47 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -73,6 +73,7 @@ #define NT_LABEL "nt" #define ACCEPT_LABEL _("Accept") #define ENCRYPT_SURE_LABEL _("Are you sure want to encrypt all passwords?\nThis action can't be undone.") +#define ENCRYPT_TOOLTIP_LABEL _("Encrypt all unencrypted passwords at global configuration") //ubl-settings-usergroups-group-creation.glade #define CONFIGURE_GROUP_TITLE_LABEL _("Configure group") diff --git a/ubl-settings-usergroups-additional-settings.glade b/ubl-settings-usergroups-additional-settings.glade index 29db0df..85b8682 100644 --- a/ubl-settings-usergroups-additional-settings.glade +++ b/ubl-settings-usergroups-additional-settings.glade @@ -336,6 +336,7 @@ True True True + Encrypt all unencrypted passwords at global configuration end image5 diff --git a/ubl-settings-usergroups.pot b/ubl-settings-usergroups.pot index adbd9a1..3356d69 100644 --- a/ubl-settings-usergroups.pot +++ b/ubl-settings-usergroups.pot @@ -53,7 +53,7 @@ msgstr "" msgid "UID" msgstr "" -#: source/ubl-strings.h:14 source/ubl-strings.h:84 +#: source/ubl-strings.h:14 source/ubl-strings.h:85 msgid "Login" msgstr "" @@ -211,7 +211,7 @@ msgstr "" msgid "Set a password" msgstr "" -#: source/ubl-strings.h:60 source/ubl-strings.h:87 +#: source/ubl-strings.h:60 source/ubl-strings.h:88 msgid "Encrypted" msgstr "" @@ -229,382 +229,386 @@ msgid "" "This action can't be undone." msgstr "" -#: source/ubl-strings.h:78 -msgid "Configure group" +#: source/ubl-strings.h:76 +msgid "Encrypt all unencrypted passwords at global configuration" msgstr "" #: source/ubl-strings.h:79 -msgid "Add group" +msgid "Configure group" msgstr "" #: source/ubl-strings.h:80 -msgid "Group id:" +msgid "Add group" msgstr "" #: source/ubl-strings.h:81 -msgid "Group name:" +msgid "Group id:" msgstr "" #: source/ubl-strings.h:82 -msgid "Group users:" +msgid "Group name:" msgstr "" #: source/ubl-strings.h:83 +msgid "Group users:" +msgstr "" + +#: source/ubl-strings.h:84 msgid "Automatically" msgstr "" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:86 msgid "Create group with ununique GID" msgstr "" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:87 msgid "Create system group" msgstr "" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:89 msgid "Additional configuration" msgstr "" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:90 msgid "Group configuration synchronization" msgstr "" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:91 msgid "When shutting down the system, save the group into the configuration" msgstr "" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:92 msgid "Group administrators:" msgstr "" -#: source/ubl-strings.h:92 +#: source/ubl-strings.h:93 msgid "Group name must not start with digit" msgstr "" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:96 msgid "Default groups" msgstr "" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:97 msgid "Main group" msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:98 msgid "Additional groups" msgstr "" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:99 msgid "Choose groups" msgstr "" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:100 msgid "Choose users" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:103 msgid "System users and groups" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:104 msgid "Disabled" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:105 msgid "Username" msgstr "" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:106 msgid "" "Primary\n" "group" msgstr "" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:107 msgid "" "Home\n" "directory" msgstr "" -#: source/ubl-strings.h:107 source/ubl-strings.h:113 +#: source/ubl-strings.h:108 source/ubl-strings.h:114 msgid "Group" msgstr "" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:109 msgid "Update the system users and groups list" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:110 msgid "Toggle system groups and users" msgstr "" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:112 msgid "Password mismatch" msgstr "" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "Password must be at least" msgstr "" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "characters" msgstr "" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:115 msgid "" "Days until\n" "warning" msgstr "" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:116 msgid "" "Days\n" "without activity" msgstr "" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:117 msgid "" "Shell\n" "path" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:118 msgid "" "Password has\n" "been changed" msgstr "" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:119 msgid "" "Expiration\n" "date" msgstr "" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:120 msgid "" "Password change\n" "interval (min)" msgstr "" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:121 msgid "" "Password change\n" "interval (max)" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:124 msgid "Add user" msgstr "" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:125 msgid "Configure user" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:126 msgid "Set" msgstr "" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:127 msgid "Empty important field" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:128 msgid "Login must not start with digit" msgstr "" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:129 msgid "Loading has failed" msgstr "" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:130 msgid "Login name" msgstr "" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:131 msgid "Additional groups:" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:132 msgid "Password configuration" msgstr "" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:133 msgid "Password has been changed:" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:134 msgid "expiration date:" msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:135 msgid "Password change interval: minimum" msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:136 msgid "days, maximum" msgstr "" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:137 msgid "days" msgstr "" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:138 msgid "Days until warning:" msgstr "" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:139 msgid "Days without activity:" msgstr "" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:140 msgid "Force change at next login" msgstr "" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:141 msgid "User shell:" msgstr "" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:142 msgid "Home directory:" msgstr "" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:143 msgid "Don't set" msgstr "" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:144 msgid "Create system user" msgstr "" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:145 msgid "Create user with ununique (repeating) UID" msgstr "" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:146 msgid "Do not check login for compliance with character rules" msgstr "" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:147 msgid "Temporary deactivation" msgstr "" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:148 msgid "Save" msgstr "" -#: source/ubl-strings.h:148 +#: source/ubl-strings.h:149 msgid "login_name" msgstr "" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:150 msgid "group_name" msgstr "" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:151 msgid "User name" msgstr "" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:152 msgid "Sync user" msgstr "" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:153 msgid "Sync user with password" msgstr "" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:154 msgid "Encrypt all passwords" msgstr "" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:156 msgid "User configuration" msgstr "" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:157 msgid "User configuration synchronization" msgstr "" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:158 msgid "During system startup, load the user from the configuration" msgstr "" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:159 msgid "When shutting down the system, save the user into the configuration" msgstr "" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:160 msgid "User password configuration syncronization" msgstr "" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:161 msgid "" "During system startup, load the user's parameters from the configuration" msgstr "" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:162 msgid "" "When shutting down the system, save the user's parameters into the " "configuration" msgstr "" -#: source/ubl-strings.h:163 +#: source/ubl-strings.h:164 msgid "Main" msgstr "" -#: source/ubl-strings.h:164 +#: source/ubl-strings.h:165 msgid "Additional" msgstr "" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:166 msgid "Syncronization" msgstr "" -#: source/ubl-strings.h:168 +#: source/ubl-strings.h:169 msgid "Repeat password:" msgstr "" -#: source/ubl-strings.h:169 +#: source/ubl-strings.h:170 msgid "Password hash:" msgstr "" -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:171 msgid "Do not encrypt password" msgstr "" -#: source/ubl-strings.h:173 +#: source/ubl-strings.h:174 msgid "Additional configuration of service parameter saving" msgstr "" -#: source/ubl-strings.h:174 +#: source/ubl-strings.h:175 msgid "" "At every system shutdown save changes of (root)/var/lib/samba\n" "into (hd)/ublinux-data/rootcopy" msgstr "" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:176 msgid "For system save mode \"Sandbox\"" msgstr "" -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:179 msgid "User deletion" msgstr "" -#: source/ubl-strings.h:179 +#: source/ubl-strings.h:180 msgid "Confirm user(-s) deletion:" msgstr "" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:181 msgid "Chosen" msgstr "" -#: source/ubl-strings.h:181 +#: source/ubl-strings.h:182 msgid "User" msgstr "" -#: source/ubl-strings.h:182 +#: source/ubl-strings.h:183 msgid "Home directory" msgstr "" -#: source/ubl-strings.h:183 +#: source/ubl-strings.h:184 msgid "Delete home directory" msgstr "" diff --git a/ubl-settings-usergroups_ru.po b/ubl-settings-usergroups_ru.po index b5bd06a..7e4f282 100644 --- a/ubl-settings-usergroups_ru.po +++ b/ubl-settings-usergroups_ru.po @@ -53,7 +53,7 @@ msgstr "Алгоритм хэширования пароля:" msgid "UID" msgstr "UID" -#: source/ubl-strings.h:14 source/ubl-strings.h:84 +#: source/ubl-strings.h:14 source/ubl-strings.h:85 msgid "Login" msgstr "Логин" @@ -225,7 +225,7 @@ msgstr "Пароль не требуется" msgid "Set a password" msgstr "Задать пароль" -#: source/ubl-strings.h:60 source/ubl-strings.h:87 +#: source/ubl-strings.h:60 source/ubl-strings.h:88 msgid "Encrypted" msgstr "Зашифрован" @@ -245,92 +245,95 @@ msgstr "" "Вы уверены что хотите зашифровать все пароли?\n" "Это действие нельзя отменить." -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:76 +msgid "Encrypt all unencrypted passwords at global configuration" +msgstr "Зашифровать все незашифрованные пароли в глобальной конфигурации" + +#: source/ubl-strings.h:79 msgid "Configure group" msgstr "Редактировать группу" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:80 msgid "Add group" msgstr "Добавить группу" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:81 msgid "Group id:" msgstr "ID Группы:" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:82 msgid "Group name:" msgstr "Имя группы:" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:83 msgid "Group users:" msgstr "Пользователи группы:" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:84 msgid "Automatically" msgstr "Автоматически" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:86 msgid "Create group with ununique GID" msgstr "Создать группу с повторяющимися (не уникальными) GID" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:87 msgid "Create system group" msgstr "Создать системную группу" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:89 msgid "Additional configuration" msgstr "Дополнительные настройки" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:90 msgid "Group configuration synchronization" msgstr "Синхронизация настроек группы" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:91 msgid "When shutting down the system, save the group into the configuration" msgstr "При завершении работы системы сохранить группу в конфигурацию" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:92 msgid "Group administrators:" msgstr "Администраторы группы:" -#: source/ubl-strings.h:92 -#, fuzzy +#: source/ubl-strings.h:93 msgid "Group name must not start with digit" msgstr "Имя группы не должно начинаться с цифры" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:96 msgid "Default groups" msgstr "Группы пользователей по умолчанию" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:97 msgid "Main group" msgstr "Основная группа" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:98 msgid "Additional groups" msgstr "Дополнительные группы" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:99 msgid "Choose groups" msgstr "Выбрать группы" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:100 msgid "Choose users" msgstr "Выбрать пользователей" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:103 msgid "System users and groups" msgstr "Пользователи и группы в системе" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:104 msgid "Disabled" msgstr "Отключен" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:105 msgid "Username" msgstr "Имя пользователя" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:106 msgid "" "Primary\n" "group" @@ -338,7 +341,7 @@ msgstr "" "Основная\n" "группа" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:107 msgid "" "Home\n" "directory" @@ -346,31 +349,31 @@ msgstr "" "Домашний\n" "каталог" -#: source/ubl-strings.h:107 source/ubl-strings.h:113 +#: source/ubl-strings.h:108 source/ubl-strings.h:114 msgid "Group" msgstr "Группа" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:109 msgid "Update the system users and groups list" msgstr "Обновить список пользователей и групп системы" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:110 msgid "Toggle system groups and users" msgstr "Переключить видимость системных пользователей и групп" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:112 msgid "Password mismatch" msgstr "Несовпадение паролей" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "Password must be at least" msgstr "Пароль должен состоять из как минимум" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "characters" msgstr "символов" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:115 msgid "" "Days until\n" "warning" @@ -378,7 +381,7 @@ msgstr "" "Дней до\n" "предупреждения" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:116 msgid "" "Days\n" "without activity" @@ -386,7 +389,7 @@ msgstr "" "Дней без\n" "активности" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:117 msgid "" "Shell\n" "path" @@ -394,7 +397,7 @@ msgstr "" "Путь до\n" "оболочки" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:118 msgid "" "Password has\n" "been changed" @@ -402,7 +405,7 @@ msgstr "" "Пароль\n" "изменён" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:119 msgid "" "Expiration\n" "date" @@ -410,7 +413,7 @@ msgstr "" "Дата\n" "устаревания" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:120 msgid "" "Password change\n" "interval (min)" @@ -418,7 +421,7 @@ msgstr "" "Интервал смены\n" "пароля (мин.)" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:121 msgid "" "Password change\n" "interval (max)" @@ -426,191 +429,195 @@ msgstr "" "Интервал смены\n" "пароля (макс.)" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:124 msgid "Add user" msgstr "Добавить пользователя" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:125 msgid "Configure user" msgstr "Редактировать пользователя" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:126 msgid "Set" msgstr "Задать" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:127 msgid "Empty important field" msgstr "Пустое важное поле" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:128 msgid "Login must not start with digit" msgstr "Логин не должен начинаться с цифры" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:129 msgid "Loading has failed" msgstr "Ошибка загрузки" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:130 msgid "Login name" msgstr "Имя логина" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:131 msgid "Additional groups:" msgstr "Дополнительные группы:" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:132 msgid "Password configuration" msgstr "Конфигурация пароля" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:133 msgid "Password has been changed:" msgstr "Пароль изменён:" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:134 msgid "expiration date:" msgstr "Дата устаревания:" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:135 msgid "Password change interval: minimum" msgstr "Интервал смены пароля: минимум" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:136 msgid "days, maximum" msgstr "дней, максимум" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:137 msgid "days" msgstr "дней" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:138 msgid "Days until warning:" msgstr "Дней до предупреждения:" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:139 msgid "Days without activity:" msgstr "Дней без активности:" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:140 msgid "Force change at next login" msgstr "Принудительно сменить при следующем входе в систему" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:141 msgid "User shell:" msgstr "Оболочка пользователя:" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:142 msgid "Home directory:" msgstr "Домашний каталог:" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:143 msgid "Don't set" msgstr "Не создавать" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:144 msgid "Create system user" msgstr "Создать системного пользователя" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:145 msgid "Create user with ununique (repeating) UID" msgstr "Создать пользователя с повторяющимися (не уникальными) UID" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:146 msgid "Do not check login for compliance with character rules" msgstr "Не проверять логин на несоответствие правилам использования символов" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:147 msgid "Temporary deactivation" msgstr "Временное отключение учётной записи" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:148 msgid "Save" msgstr "Сохранить" -#: source/ubl-strings.h:148 +#: source/ubl-strings.h:149 msgid "login_name" msgstr "Имя_логина" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:150 msgid "group_name" msgstr "Имя_группы" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:151 msgid "User name" msgstr "Имя пользователя" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:152 msgid "Sync user" msgstr "Синхронизировать пользователя" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:153 msgid "Sync user with password" msgstr "Синхронизировать пользователя с паролем" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:154 msgid "Encrypt all passwords" msgstr "Зашифровать все пароли" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:156 msgid "User configuration" msgstr "Настройка пользователя" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:157 msgid "User configuration synchronization" msgstr "Синхронизация настроек пользователя" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:158 msgid "During system startup, load the user from the configuration" -msgstr "При запуске операционной системы применять настройки пользователя из конфигурации" +msgstr "" +"При запуске операционной системы применять настройки пользователя из " +"конфигурации" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:159 msgid "When shutting down the system, save the user into the configuration" -msgstr "При завершении работы операционной системы сохранить настройки пользователя в конфигурацию" +msgstr "" +"При завершении работы операционной системы сохранить настройки пользователя " +"в конфигурацию" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:160 msgid "User password configuration syncronization" msgstr "Синхронизация настроек пароля пользователя" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:161 msgid "" "During system startup, load the user's parameters from the configuration" msgstr "При загрузке системы загрузить параметры пользователя из конфигурации" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:162 msgid "" "When shutting down the system, save the user's parameters into the " "configuration" msgstr "" "При завершении работы системы сохранить параметры пользователя в конфигурацию" -#: source/ubl-strings.h:163 +#: source/ubl-strings.h:164 msgid "Main" msgstr "Основные" -#: source/ubl-strings.h:164 +#: source/ubl-strings.h:165 msgid "Additional" msgstr "Дополнительные" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:166 msgid "Syncronization" msgstr "Синхронизация" -#: source/ubl-strings.h:168 +#: source/ubl-strings.h:169 msgid "Repeat password:" msgstr "Подтверждение пароля:" -#: source/ubl-strings.h:169 +#: source/ubl-strings.h:170 msgid "Password hash:" msgstr "Хэш пароля:" -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:171 msgid "Do not encrypt password" msgstr "Не шифровать пароль" -#: source/ubl-strings.h:173 +#: source/ubl-strings.h:174 msgid "Additional configuration of service parameter saving" msgstr "Дополнительные настройки сохранения параметров сервисов" -#: source/ubl-strings.h:174 +#: source/ubl-strings.h:175 msgid "" "At every system shutdown save changes of (root)/var/lib/samba\n" "into (hd)/ublinux-data/rootcopy" @@ -618,31 +625,31 @@ msgstr "" "При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n" "в (hd)/ublinux-data/rootcopy/" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:176 msgid "For system save mode \"Sandbox\"" msgstr "Для режима сохранения системы \"Песочница\"" -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:179 msgid "User deletion" msgstr "Удаление пользователя(-лей)" -#: source/ubl-strings.h:179 +#: source/ubl-strings.h:180 msgid "Confirm user(-s) deletion:" msgstr "Подтвердите удаление пользователя (-ей):" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:181 msgid "Chosen" msgstr "Выбран" -#: source/ubl-strings.h:181 +#: source/ubl-strings.h:182 msgid "User" msgstr "Пользователь" -#: source/ubl-strings.h:182 +#: source/ubl-strings.h:183 msgid "Home directory" msgstr "Домашний каталог" -#: source/ubl-strings.h:183 +#: source/ubl-strings.h:184 msgid "Delete home directory" msgstr "Удалить домашний каталог" From 77b1b5b4c4375d78ab8d1026f9caacd7490305ad Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 22 Feb 2024 17:36:24 +0600 Subject: [PATCH 14/14] Added functionality for 'Force change at next login' check button at user window --- source/ubl-settings-usergroups.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index dc440cc..529b412 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1570,11 +1570,6 @@ void on_user_save(GtkWidget *self, dictionary *dict){ no_activity_days = yon_char_from_long(no_activity_days_active); } - int force_at_next_login_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userForceChangeCheck)); - if (force_at_next_login_active){ - - } - int user_shell_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo)); if (user_shell_active>0){ user_shell = yon_char_unite(" --shell ",(char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),NULL); @@ -1631,6 +1626,11 @@ void on_user_save(GtkWidget *self, dictionary *dict){ password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",month,"-",day,NULL); } + int force_at_next_login_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userForceChangeCheck)); + if (force_at_next_login_active){ + password_changed_date = "0"; + } + int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck)); if (useradd_boot_active){ useradd_boot = "boot";