mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
fix: Exclude field for form filling #2097
This commit is contained in:
@@ -24,10 +24,10 @@ import com.kunzisoft.keepass.database.element.Entry
|
||||
import com.kunzisoft.keepass.database.element.Group
|
||||
import com.kunzisoft.keepass.database.element.node.NodeHandler
|
||||
import com.kunzisoft.keepass.database.element.node.NodeId
|
||||
import com.kunzisoft.keepass.model.PasskeyEntryFields
|
||||
import com.kunzisoft.keepass.model.PasskeyEntryFields.FIELD_RELYING_PARTY
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||
import com.kunzisoft.keepass.model.PasskeyEntryFields.isPasskeyExclusion
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_FIELD
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields.isOtpExclusion
|
||||
import com.kunzisoft.keepass.utils.UuidUtil
|
||||
import com.kunzisoft.keepass.utils.inTheSameDomainAs
|
||||
|
||||
@@ -186,8 +186,8 @@ class SearchHelper {
|
||||
}
|
||||
if (searchParameters.searchInOther) {
|
||||
if(entry.getExtraFields().any { field ->
|
||||
OtpEntryFields.searchExcluded(field)
|
||||
&& PasskeyEntryFields.searchExcluded(field)
|
||||
field.isOtpExclusion()
|
||||
&& field.isPasskeyExclusion()
|
||||
&& checkSearchQuery(field.protectedValue.toString(), searchParameters)
|
||||
})
|
||||
return true
|
||||
|
||||
@@ -30,10 +30,12 @@ import com.kunzisoft.keepass.database.element.Tags
|
||||
import com.kunzisoft.keepass.database.element.entry.AutoType
|
||||
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||
import com.kunzisoft.keepass.model.PasskeyEntryFields.isPasskeyExclusion
|
||||
import com.kunzisoft.keepass.model.PasskeyEntryFields.setPasskey
|
||||
import com.kunzisoft.keepass.otp.OtpElement
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields.isOtpExclusion
|
||||
import com.kunzisoft.keepass.utils.readBooleanCompat
|
||||
import com.kunzisoft.keepass.utils.readListCompat
|
||||
import com.kunzisoft.keepass.utils.readParcelableCompat
|
||||
@@ -99,12 +101,11 @@ class EntryInfo : NodeInfo {
|
||||
parcel.writeBooleanCompat(isTemplate)
|
||||
}
|
||||
|
||||
fun containsCustomFieldsProtected(): Boolean {
|
||||
return customFields.any { it.protectedValue.isProtected }
|
||||
}
|
||||
|
||||
fun containsCustomFieldsNotProtected(): Boolean {
|
||||
return customFields.any { !it.protectedValue.isProtected }
|
||||
fun getCustomFieldsForFilling(): List<Field> {
|
||||
return customFields.filter {
|
||||
!it.isOtpExclusion()
|
||||
&& !it.isPasskeyExclusion()
|
||||
}
|
||||
}
|
||||
|
||||
fun containsCustomField(label: String): Boolean {
|
||||
|
||||
@@ -120,8 +120,12 @@ object PasskeyEntryFields {
|
||||
return newCustomFields
|
||||
}
|
||||
|
||||
fun searchExcluded(field: Field): Boolean {
|
||||
return when(field.name) {
|
||||
/**
|
||||
* Field ignored for a search or a form filling
|
||||
*/
|
||||
fun Field.isPasskeyExclusion(): Boolean {
|
||||
return when(name) {
|
||||
PASSKEY_FIELD -> true
|
||||
FIELD_USERNAME -> true
|
||||
FIELD_PRIVATE_KEY -> true
|
||||
FIELD_CREDENTIAL_ID -> true
|
||||
|
||||
@@ -487,8 +487,11 @@ object OtpEntryFields {
|
||||
return newCustomFields
|
||||
}
|
||||
|
||||
fun searchExcluded(field: Field): Boolean {
|
||||
return when(field.name) {
|
||||
/**
|
||||
* Field ignored for a search or a form filling
|
||||
*/
|
||||
fun Field.isOtpExclusion(): Boolean {
|
||||
return when(name) {
|
||||
OTP_FIELD -> true
|
||||
TOTP_SEED_FIELD -> true
|
||||
TOTP_SETTING_FIELD -> true
|
||||
|
||||
Reference in New Issue
Block a user