1
0
mirror of https://github.com/altlinux/admc.git synced 2025-03-22 14:50:36 +03:00

Add middle name to contact and user creation dialogs

Middle name will be shown and will be included in DN if "Show middle
name when creating" option is set and vise versa.
This commit is contained in:
Semyon Knyazev 2024-12-13 20:37:55 +04:00
parent 3131555363
commit 9a5e70fa84
4 changed files with 64 additions and 24 deletions

View File

@ -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<AttributeEdit *> edit_list = {
first_name_edit,
last_name_edit,
initials_edit,
display_name_edit,
middle_name_edit,
};
const QList<QLineEdit *> 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);

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>400</width>
<height>198</height>
<height>250</height>
</rect>
</property>
<property name="windowTitle">
@ -23,28 +23,28 @@
</property>
</widget>
</item>
<item row="1" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Last name:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Initials:</string>
</property>
</widget>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Full name:</string>
</property>
</widget>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Display name:</string>
@ -54,18 +54,28 @@
<item row="0" column="1">
<widget class="QLineEdit" name="first_name_edit"/>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QLineEdit" name="last_name_edit"/>
</item>
<item row="2" column="1">
<item row="3" column="1">
<widget class="QLineEdit" name="initials_edit"/>
</item>
<item row="3" column="1">
<item row="4" column="1">
<widget class="QLineEdit" name="full_name_edit"/>
</item>
<item row="4" column="1">
<item row="5" column="1">
<widget class="QLineEdit" name="display_name_edit"/>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="middle_name_edit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="middle_name_label">
<property name="text">
<string>Middle name:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>

View File

@ -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);

View File

@ -36,69 +36,69 @@
<item row="1" column="1">
<widget class="QLineEdit" name="last_name_edit"/>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="fullNameLabel">
<property name="text">
<string>Full name:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="1">
<widget class="QLineEdit" name="name_edit"/>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="initialsLabel">
<property name="text">
<string>Initials:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1">
<widget class="QLineEdit" name="initials_edit"/>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="logonNameLabel">
<property name="text">
<string>Logon name:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<item row="6" column="0">
<widget class="QLabel" name="logonNamePreWindows2000Label">
<property name="text">
<string>Logon name (pre-Windows 2000):</string>
</property>
</widget>
</item>
<item row="6" column="0">
<item row="7" column="0">
<widget class="QLabel" name="passwordLabel">
<property name="text">
<string>Password:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<item row="7" column="1">
<widget class="QLineEdit" name="password_main_edit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="7" column="0">
<item row="8" column="0">
<widget class="QLabel" name="passwordconfirmlabel">
<property name="text">
<string>Confirm password:</string>
</property>
</widget>
</item>
<item row="7" column="1">
<item row="8" column="1">
<widget class="QLineEdit" name="password_confirm_edit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLineEdit" name="upn_prefix_edit"/>
@ -108,7 +108,7 @@
</item>
</layout>
</item>
<item row="5" column="1">
<item row="6" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLineEdit" name="sam_name_domain_edit">
@ -122,13 +122,23 @@
</item>
</layout>
</item>
<item row="8" column="1">
<item row="9" column="1">
<widget class="QCheckBox" name="show_password_check">
<property name="text">
<string>Show password</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="middle_name_edit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="middle_name_label">
<property name="text">
<string>Middle Name:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>