Skip to content

Commit

Permalink
#3235: Do not assume custom fields existing
Browse files Browse the repository at this point in the history
  • Loading branch information
cemalettin-work committed Dec 21, 2020
1 parent d44a8f7 commit 06e3384
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions client/src/models/Person.js
Original file line number Diff line number Diff line change
Expand Up @@ -326,43 +326,46 @@ export default class Person extends Model {
}
}

static filterShowPageFields(fieldsArrayFromConfig) {
getNumberOfFieldsInLeftColumn() {
return this.isPrincipal()
? Settings.fields.principal.person.numberOfFieldsInLeftColumn
: Settings.fields.advisor.person.numberOfFieldsInLeftColumn
}

getShowPageFieldsOrdered() {
const fieldsArrayFromConfig = this.isPrincipal()
? Settings.fields.principal.person.showPageOrderedFields
: Settings.fields.advisor.person.showPageOrderedFields

return Person.filterInvalidShowPageFields(
fieldsArrayFromConfig || [],
this.role
)
}

static filterInvalidShowPageFields(fieldsArrayFromConfig, role) {
return fieldsArrayFromConfig.filter(field => {
if (
Settings.fields.person[field] ||
Settings.fields.person.customFields[field]
Settings.fields.person?.customFields?.[field]
) {
return true
}
API.logOnServer(
"WARN",
"Person.js",
356,
`Wrong field name in dictionary.fields.${this.role.toLowerCase()}.showPageOrderedFields, field name: ${field}`
`Wrong field name in dictionary.fields.${role.toLowerCase()}.showPageOrderedFields, field name: ${field}`
)
return false
})
}

getNumberOfFieldsInLeftColumn() {
return this.isPrincipal()
? Settings.fields.principal.person.numberOfFieldsInLeftColumn
: Settings.fields.advisor.person.numberOfFieldsInLeftColumn
}

getShowPageFieldsOrdered() {
const fieldsArrayFromConfig = this.isPrincipal()
? Settings.fields.principal.person.showPageOrderedFields
: Settings.fields.advisor.person.showPageOrderedFields

return Person.filterShowPageFields(fieldsArrayFromConfig)
}

getNormalFieldsOrdered() {
return (
this.getShowPageFieldsOrdered()
// filter out custom fields
.filter(key => !Person.customFields[key])
.filter(key => !Person?.customFields?.[key])
)
}

Expand All @@ -371,7 +374,7 @@ export default class Person extends Model {
return (
this.getShowPageFieldsOrdered()
// filter out non-custom fields
.filter(key => Person.customFields[key])
.filter(key => Person?.customFields?.[key])
.reduce((accum, key) => {
accum[key] = Person.customFields[key]
return accum
Expand Down

0 comments on commit 06e3384

Please sign in to comment.