mirror of
https://github.com/wekan/wekan.git
synced 2025-12-22 18:30:13 +01:00
fixing search for dropdown fields, and error on loading board
This commit is contained in:
parent
259614b647
commit
571f55f904
2 changed files with 116 additions and 100 deletions
|
|
@ -145,6 +145,22 @@ class AdvancedFilter {
|
||||||
return found._id;
|
return found._id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_fieldValueToId(field, value)
|
||||||
|
{
|
||||||
|
const found = CustomFields.findOne({ 'name': field });
|
||||||
|
if (found.settings.dropdownItems && found.settings.dropdownItems.length > 0)
|
||||||
|
{
|
||||||
|
for (let i = 0; i < found.settings.dropdownItems.length; i++)
|
||||||
|
{
|
||||||
|
if (found.settings.dropdownItems[i].name === value)
|
||||||
|
{
|
||||||
|
return found.settings.dropdownItems[i]._id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
_arrayToSelector(commands) {
|
_arrayToSelector(commands) {
|
||||||
try {
|
try {
|
||||||
//let changed = false;
|
//let changed = false;
|
||||||
|
|
@ -208,7 +224,7 @@ class AdvancedFilter {
|
||||||
{
|
{
|
||||||
const field = commands[i - 1].cmd;
|
const field = commands[i - 1].cmd;
|
||||||
const str = commands[i + 1].cmd;
|
const str = commands[i + 1].cmd;
|
||||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': str };
|
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': this._fieldValueToId(str) };
|
||||||
commands.splice(i - 1, 1);
|
commands.splice(i - 1, 1);
|
||||||
commands.splice(i, 1);
|
commands.splice(i, 1);
|
||||||
//changed = true;
|
//changed = true;
|
||||||
|
|
@ -220,7 +236,7 @@ class AdvancedFilter {
|
||||||
{
|
{
|
||||||
const field = commands[i - 1].cmd;
|
const field = commands[i - 1].cmd;
|
||||||
const str = commands[i + 1].cmd;
|
const str = commands[i + 1].cmd;
|
||||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: str } };
|
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: this._fieldValueToId(str) } };
|
||||||
commands.splice(i - 1, 1);
|
commands.splice(i - 1, 1);
|
||||||
commands.splice(i, 1);
|
commands.splice(i, 1);
|
||||||
//changed = true;
|
//changed = true;
|
||||||
|
|
|
||||||
|
|
@ -230,16 +230,16 @@ Cards.helpers({
|
||||||
// match right definition to each field
|
// match right definition to each field
|
||||||
if (!this.customFields) return [];
|
if (!this.customFields) return [];
|
||||||
return this.customFields.map((customField) => {
|
return this.customFields.map((customField) => {
|
||||||
var definition = definitions.find((definition) => {
|
const definition = definitions.find((definition) => {
|
||||||
return definition._id === customField._id;
|
return definition._id === customField._id;
|
||||||
});
|
});
|
||||||
//search for "True Value" which is for DropDowns other then the Value (which is the id)
|
//search for "True Value" which is for DropDowns other then the Value (which is the id)
|
||||||
var trueValue = customField.value;
|
let trueValue = customField.value;
|
||||||
if (definition.settings.dropdownItems.length > 0)
|
if (definition.settings.dropdownItems && definition.settings.dropdownItems.length > 0)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < definition.settings.dropdownItems.length;i++)
|
for (let i = 0; i < definition.settings.dropdownItems.length; i++)
|
||||||
{
|
{
|
||||||
if (definition.settings.dropdownItems[i]._id == customField.value)
|
if (definition.settings.dropdownItems[i]._id === customField.value)
|
||||||
{
|
{
|
||||||
trueValue = definition.settings.dropdownItems[i].name;
|
trueValue = definition.settings.dropdownItems[i].name;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue