mirror of
https://github.com/altlinux/admc.git
synced 2025-03-17 18:50:13 +03:00
add attribute_value_exists()
This commit is contained in:
parent
1932924145
commit
548b4c03aa
@ -362,6 +362,16 @@ QString get_attribute(const QString &dn, const QString &attribute) {
|
||||
}
|
||||
}
|
||||
|
||||
bool attribute_value_exists(const QString &dn, const QString &attribute, const QString &value) {
|
||||
QList<QString> values = get_attribute_multi(dn, attribute);
|
||||
|
||||
if (values.contains(value)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool set_attribute(const QString &dn, const QString &attribute, const QString &value) {
|
||||
int result = AD_INVALID_DN;
|
||||
|
||||
|
@ -52,11 +52,14 @@ extern AdInterface ad_interface;
|
||||
extern bool FAKE_AD;
|
||||
|
||||
bool ad_interface_login();
|
||||
|
||||
QList<QString> load_children(const QString &dn);
|
||||
void load_attributes(const QString &dn);
|
||||
QMap<QString, QList<QString>> get_attributes(const QString &dn);
|
||||
QList<QString> get_attribute_multi(const QString &dn, const QString &attribute);
|
||||
QString get_attribute(const QString &dn, const QString &attribute);
|
||||
bool attribute_value_exists(const QString &dn, const QString &attribute, const QString &value);
|
||||
|
||||
bool set_attribute(const QString &dn, const QString &attribute, const QString &value);
|
||||
bool create_entry(const QString &name, const QString &dn, NewEntryType type);
|
||||
void delete_entry(const QString &dn);
|
||||
|
@ -111,15 +111,11 @@ void init_row(QList<QStandardItem*> row, const QString &dn) {
|
||||
|
||||
// is container
|
||||
bool is_container = false;
|
||||
if (attributes.contains("objectClass")) {
|
||||
QList<QString> objectClasses = attributes["objectClass"];
|
||||
|
||||
QList<QString> container_objectClasses = {"container", "organizationalUnit", "builtinDomain", "domain"};
|
||||
for (auto e : container_objectClasses) {
|
||||
if (objectClasses.contains(e)) {
|
||||
is_container = true;
|
||||
break;
|
||||
}
|
||||
const QList<QString> container_objectClasses = {"container", "organizationalUnit", "builtinDomain", "domain"};
|
||||
for (auto c : container_objectClasses) {
|
||||
if (attribute_value_exists("objectClass", c)) {
|
||||
is_container = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -146,12 +142,11 @@ void init_row(QList<QStandardItem*> row, const QString &dn) {
|
||||
{"group", "application-x-smb-workgroup"},
|
||||
{"builtinDomain", "emblem-system"},
|
||||
};
|
||||
QList<QString> objectClasses = attributes["objectClass"];
|
||||
QString icon_name = "dialog-question";
|
||||
for (auto c : objectClasses) {
|
||||
if (class_to_icon.contains(c)) {
|
||||
for (auto c : class_to_icon.keys()) {
|
||||
if (attribute_value_exists("objectClass", c)) {
|
||||
icon_name = class_to_icon[c];
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -295,8 +290,6 @@ void AdModel::on_move_user_complete(const QString &user_dn, const QString &conta
|
||||
removeRow(dn_index.row(), dn_index.parent());
|
||||
}
|
||||
|
||||
printf("on_move_user_complete: %s %s\n", qPrintable(new_dn), qPrintable(container_dn));
|
||||
|
||||
// Need to load entry at new parent if the parent has already
|
||||
// been expanded/fetched
|
||||
// NOTE: loading if parent has already been fetched will
|
||||
|
Loading…
x
Reference in New Issue
Block a user