Add support for placeholders on the KeePassHTTP custom fields

This commit is contained in:
frostasm 2017-10-15 12:49:41 +03:00
parent cfe4299301
commit 2027429d87

View File

@ -259,13 +259,16 @@ Service::Access Service::checkAccess(const Entry *entry, const QString & host, c
KeepassHttpProtocol::Entry Service::prepareEntry(const Entry* entry) KeepassHttpProtocol::Entry Service::prepareEntry(const Entry* entry)
{ {
KeepassHttpProtocol::Entry res(entry->resolvePlaceholder(entry->title()), entry->resolvePlaceholder(entry->username()), entry->resolvePlaceholder(entry->password()), entry->uuid().toHex()); KeepassHttpProtocol::Entry res(entry->resolveMultiplePlaceholders(entry->title()),
entry->resolveMultiplePlaceholders(entry->username()),
entry->resolveMultiplePlaceholders(entry->password()),
entry->uuid().toHex());
if (HttpSettings::supportKphFields()) { if (HttpSettings::supportKphFields()) {
const EntryAttributes * attr = entry->attributes(); const EntryAttributes * attr = entry->attributes();
const auto keys = attr->keys(); const auto keys = attr->keys();
for (const QString& key: keys) { for (const QString& key: keys) {
if (key.startsWith(QLatin1String("KPH: "))) { if (key.startsWith(QLatin1String("KPH: "))) {
res.addStringField(key, attr->value(key)); res.addStringField(key, entry->resolveMultiplePlaceholders(attr->value(key)));
} }
} }
} }