field access frontend fixes

This commit is contained in:
Yurii
2025-12-24 10:18:03 +02:00
parent 891a0028af
commit 2063e2cd1d
2 changed files with 22 additions and 8 deletions

View File

@@ -190,7 +190,7 @@ class EntityManagerEditView extends View {
if (
fieldDefs[item].disabled ||
fieldDefs[item].utility ||
fieldDefs[item].directAccessDisabled ||
(fieldDefs[item].directAccessDisabled && !fieldDefs[item].directUpdateEnabled) ||
fieldDefs[item].directUpdateDisabled
) {
return false;

View File

@@ -282,8 +282,6 @@ class Step2ImportView extends View {
text = text.trim();
text = text.toLowerCase();
console.log(text);
/** @type {JQuery} */
const $li = this.$defaultFieldList.find('li.item');
@@ -339,22 +337,30 @@ class Step2ImportView extends View {
}
/**
* @private
* @return {string[]}
*/
getFieldList() {
const defs = this.getMetadata().get('entityDefs.' + this.scope + '.fields');
const defs = this.getMetadata().get(`entityDefs.${this.scope}.fields`);
const forbiddenFieldList = this.getAcl().getScopeForbiddenFieldList(this.scope, 'edit');
let fieldList = [];
for (const field in defs) {
if (~forbiddenFieldList.indexOf(field)) {
if (forbiddenFieldList.includes(field)) {
continue;
}
const d = /** @type {Object.<string, *>} */defs[field];
if (!~this.allowedFieldList.indexOf(field) && (d.disabled || d.importDisabled)) {
if (
!this.allowedFieldList.includes(field) &&
(
d.disabled ||
d.importDisabled ||
d.utility
)
) {
continue;
}
@@ -369,6 +375,10 @@ class Step2ImportView extends View {
return fieldList;
}
/**
* @private
* @returns {string[]}
*/
getAttributeList() {
const fields = this.getMetadata().get(['entityDefs', this.scope, 'fields']) || {};
const forbiddenFieldList = this.getAcl().getScopeForbiddenFieldList(this.scope, 'edit');
@@ -378,7 +388,7 @@ class Step2ImportView extends View {
attributeList.push('id');
for (const field in fields) {
if (~forbiddenFieldList.indexOf(field)) {
if (forbiddenFieldList.includes(field)) {
continue;
}
@@ -386,7 +396,11 @@ class Step2ImportView extends View {
if (
!this.allowedFieldList.includes(field) &&
(defs.disabled && !defs.importNotDisabled || defs.importDisabled)
(
defs.disabled ||
defs.importDisabled ||
defs.utility
)
) {
continue;
}