mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
validate/clean inverse relation name in promoted attr definition
This commit is contained in:
parent
bcabe5786f
commit
79b8d91025
@ -626,7 +626,9 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
||||
props.push('precision=' + this.$inputNumberPrecision.val());
|
||||
}
|
||||
} else if (this.attrType === 'relation-definition' && this.$inputInverseRelation.val().trim().length > 0) {
|
||||
props.push("inverse=" + this.$inputInverseRelation.val());
|
||||
const inverseRelationName = this.$inputInverseRelation.val();
|
||||
|
||||
props.push("inverse=" + utils.filterAttributeName(inverseRelationName));
|
||||
}
|
||||
|
||||
this.$rowNumberPrecision.toggle(
|
||||
|
@ -20,7 +20,7 @@ function parse(value) {
|
||||
else if (token.startsWith('inverse')) {
|
||||
const chunks = token.split('=');
|
||||
|
||||
defObj.inverseRelation = chunks[1];
|
||||
defObj.inverseRelation = chunks[1].replace(/[^\p{L}\p{N}_:]/ug, "")
|
||||
}
|
||||
else {
|
||||
console.log("Unrecognized attribute definition token:", token);
|
||||
|
@ -298,6 +298,10 @@ function normalize(str) {
|
||||
return removeDiacritic(str).toLowerCase();
|
||||
}
|
||||
|
||||
function filterAttributeName(name) {
|
||||
return name.replace(/[^\p{L}\p{N}_:]/ug, "");
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
randomSecureToken,
|
||||
randomString,
|
||||
@ -331,5 +335,6 @@ module.exports = {
|
||||
timeLimit,
|
||||
deferred,
|
||||
removeDiacritic,
|
||||
normalize
|
||||
normalize,
|
||||
filterAttributeName
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user