diff --git a/src/admc/create_dialogs/create_contact_dialog.cpp b/src/admc/create_dialogs/create_contact_dialog.cpp index adcfed1f..588cef22 100644 --- a/src/admc/create_dialogs/create_contact_dialog.cpp +++ b/src/admc/create_dialogs/create_contact_dialog.cpp @@ -34,16 +34,26 @@ CreateContactDialog::CreateContactDialog(const QString &parent_dn, QWidget *pare setAttribute(Qt::WA_DeleteOnClose); + bool show_middle_name = false; + const QVariant show_middle_name_variant = settings_get_variant(SETTING_show_middle_name_when_creating); + if (!show_middle_name_variant.isNull()) { + show_middle_name = show_middle_name_variant.toBool(); + } + ui->middle_name_edit->setVisible(show_middle_name); + ui->middle_name_label->setVisible(show_middle_name); + auto first_name_edit = new StringEdit(ui->first_name_edit, ATTRIBUTE_FIRST_NAME, this); auto last_name_edit = new StringEdit(ui->last_name_edit, ATTRIBUTE_LAST_NAME, this); auto initials_edit = new StringEdit(ui->initials_edit, ATTRIBUTE_INITIALS, this); auto display_name_edit = new StringEdit(ui->display_name_edit, ATTRIBUTE_DISPLAY_NAME, this); + auto middle_name_edit = new StringEdit(ui->middle_name_edit, ATTRIBUTE_MIDDLE_NAME, this); const QList edit_list = { first_name_edit, last_name_edit, initials_edit, display_name_edit, + middle_name_edit, }; const QList required_list = { @@ -53,7 +63,7 @@ CreateContactDialog::CreateContactDialog(const QString &parent_dn, QWidget *pare ui->display_name_edit, }; - setup_full_name_autofill(ui->first_name_edit, ui->last_name_edit, ui->full_name_edit); + setup_full_name_autofill(ui->first_name_edit, ui->last_name_edit, ui->middle_name_edit, ui->full_name_edit); helper = new CreateObjectHelper(ui->full_name_edit, ui->button_box, edit_list, required_list, CLASS_CONTACT, parent_dn, this); diff --git a/src/admc/create_dialogs/create_contact_dialog.ui b/src/admc/create_dialogs/create_contact_dialog.ui index 55fe54a2..9b07ddd0 100644 --- a/src/admc/create_dialogs/create_contact_dialog.ui +++ b/src/admc/create_dialogs/create_contact_dialog.ui @@ -7,7 +7,7 @@ 0 0 400 - 198 + 250 @@ -23,28 +23,28 @@ - + Last name: - + Initials: - + Full name: - + Display name: @@ -54,18 +54,28 @@ - + - + - + - + + + + + + + + Middle name: + + + diff --git a/src/admc/create_dialogs/create_user_dialog.cpp b/src/admc/create_dialogs/create_user_dialog.cpp index 67f41316..893a7a96 100644 --- a/src/admc/create_dialogs/create_user_dialog.cpp +++ b/src/admc/create_dialogs/create_user_dialog.cpp @@ -38,11 +38,20 @@ CreateUserDialog::CreateUserDialog(AdInterface &ad, const QString &parent_dn, co setAttribute(Qt::WA_DeleteOnClose); + bool show_middle_name = false; + const QVariant show_middle_name_variant = settings_get_variant(SETTING_show_middle_name_when_creating); + if (!show_middle_name_variant.isNull()) { + show_middle_name = show_middle_name_variant.toBool(); + } + ui->middle_name_edit->setVisible(show_middle_name); + ui->middle_name_label->setVisible(show_middle_name); + auto first_name_edit = new StringEdit(ui->first_name_edit, ATTRIBUTE_FIRST_NAME, this); auto last_name_edit = new StringEdit(ui->last_name_edit, ATTRIBUTE_LAST_NAME, this); auto initials_edit = new StringEdit(ui->initials_edit, ATTRIBUTE_INITIALS, this); auto sam_name_edit = new SamNameEdit(ui->sam_name_edit, ui->sam_name_domain_edit, this); auto password_edit = new PasswordEdit(ui->password_main_edit, ui->password_confirm_edit, ui->show_password_check, this); + auto middle_name_edit = new StringEdit(ui->middle_name_edit, ATTRIBUTE_MIDDLE_NAME, this); auto upn_edit = new UpnEdit(ui->upn_prefix_edit, ui->upn_suffix_edit, this); upn_edit->init_suffixes(ad); @@ -65,7 +74,7 @@ CreateUserDialog::CreateUserDialog(AdInterface &ad, const QString &parent_dn, co account_option_setup_conflicts(check_map); - setup_full_name_autofill(ui->first_name_edit, ui->last_name_edit, ui->name_edit); + setup_full_name_autofill(ui->first_name_edit, ui->last_name_edit, ui->middle_name_edit, ui->name_edit); setup_lineedit_autofill(ui->upn_prefix_edit, ui->sam_name_edit); @@ -85,6 +94,7 @@ CreateUserDialog::CreateUserDialog(AdInterface &ad, const QString &parent_dn, co sam_name_edit, password_edit, upn_edit, + middle_name_edit, }; out.append(option_edit_list); diff --git a/src/admc/create_dialogs/create_user_dialog.ui b/src/admc/create_dialogs/create_user_dialog.ui index c451513e..2d961f0f 100644 --- a/src/admc/create_dialogs/create_user_dialog.ui +++ b/src/admc/create_dialogs/create_user_dialog.ui @@ -36,69 +36,69 @@ - + Full name: - + - + Initials: - + - + Logon name: - + Logon name (pre-Windows 2000): - + Password: - + QLineEdit::Password - + Confirm password: - + QLineEdit::Password - + @@ -108,7 +108,7 @@ - + @@ -122,13 +122,23 @@ - + Show password + + + + + + + Middle Name: + + +