Fixed saving bootload users

pull/299/head
parent 9989f8f9d1
commit b7f7009155

@ -7,20 +7,17 @@ int yon_bootloader_save(main_window *widgets){
} else {
yon_config_remove_by_key(GRUB_TIMEOUT_parameter);
}
// if (!gtk_switch_get_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch))){
// yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"no");
// } else {
// yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"yes");
// }
{
int size;
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size);
char *admins = config(GRUB_SUPERUSERS_parameter);
for (int i=0;i<size;i++){
char *parameter = yon_char_divide_search(users[i],"=",-1);
yon_config_remove_by_key(parameter);
free(parameter);
}
yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,NULL);
yon_config_set_status(GRUB_SUPERUSERS_parameter,-1);
}
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootloadUsersList);
@ -30,14 +27,9 @@ int yon_bootloader_save(main_window *widgets){
int is_admin;
char *username, *password;
gtk_tree_model_get(model,&iter,0,&is_admin,1,&username,2,&password,-1);
if (is_admin){
yon_char_parsed_add_or_create_if_exists(admin_list,&admin_size,username);
}
char *admin_string = yon_char_parsed_to_string(admin_list,admin_size,",");
yon_config_register(GRUB_PASSWORD_parameter(username),GRUB_PASSWORD_parameter_command(username),password);
if (!yon_char_is_empty(admin_string)){
yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,admin_string);
free(admin_string);
if (is_admin){
yon_config_append_element(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,username);
} else {
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
}
@ -55,7 +47,7 @@ int yon_bootloader_save(main_window *widgets){
config_str parameters = yon_config_get_save_parameters_by_key(&size,GRUB_TIMEOUT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_parameter,NULL);
if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters, " ", user_string, NULL);
char *command = yon_char_unite(ubconfig_dull_command," --target system remove [autoinstall] ",GRUB_PASSWORD_parameter_all,"; ",ubconfig_dull_command,"--target system ",command_parameters, " ", user_string, NULL);
if (!system(yon_debug_output("%s\n",command))){}
free(command);
yon_char_parsed_free(parameters,size);
@ -72,7 +64,6 @@ void yon_password_change(GtkWidget *, bootloader_user_window *window){
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),NULL,icon_path,"password_window");
gtk_widget_show(window->Window);
yon_password_hash_list_set(dialog,NULL,NULL,0);
// gtk_widget_hide(window->AdminCheck);
}
@ -253,7 +244,6 @@ yon_menu_item *yon_menu_add_item(yon_menu_window *target_menu,const char *id, co
item->name = yon_char_new(name);
gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),item->name);
// g_signal_connect(G_OBJECT(item->MenuItemRow),"clicked",G_CALLBACK(on_menu_chosen),item);
g_object_set_data(G_OBJECT(item->MenuItemRow),"yon_menu_item",item);
gtk_widget_show(item->MenuItemRow);
@ -451,9 +441,6 @@ void yon_bootloader_interface_update(main_window *widgets){
} else {
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_MENU_ITEM_LABEL);
}
// if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){
// gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1);
// } else {
int admins_size;
config_str admins_parsed = yon_char_parse(admins,&admins_size,",");
for (int i=0;i<size;i++){
@ -465,7 +452,6 @@ void yon_bootloader_interface_update(main_window *widgets){
gtk_list_store_append(widgets->BootloadUsersList,&iter);
gtk_list_store_set(widgets->BootloadUsersList,&iter,0,yon_char_parsed_check_exist(admins_parsed,admins_size,key),1,key,2,value,-1);
}
// }
}
@ -473,7 +459,6 @@ void yon_bootloader_init(main_window *widgets){
gtk_list_store_clear(widgets->BootloadUsersList);
char *timeout = config(GRUB_TIMEOUT_parameter);
char *os = config(GRUB_DEFAULT_parameter);
// char *autologin = config(AUTOLOGINUSER_parameter);
char *admins = config(GRUB_SUPERUSERS_parameter);
int size;
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size);
@ -494,13 +479,6 @@ void yon_bootloader_init(main_window *widgets){
} else {
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL);
}
// if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"no")||!strcmp(autologin,"disable"))){
// gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),0);
// } else {
// gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1);
// }
{
int admins_size;
config_str admins_parsed = yon_char_parse(admins,&admins_size,",");

Loading…
Cancel
Save