Compare commits

...

8 Commits
9.2.0 ... 9.2.2

Author SHA1 Message Date
Yuri Kuznetsov
b2a4f80408 9.2.2 2025-10-02 11:37:07 +03:00
Yuri Kuznetsov
9153fbf280 limit fields for status 2025-10-02 10:52:04 +03:00
Yuri Kuznetsov
cb16bc9254 ref 2025-10-02 10:43:35 +03:00
Yuri Kuznetsov
dc8f674248 notification index 2025-10-02 10:28:43 +03:00
Yuri Kuznetsov
803b07866a cast to object 2025-10-01 19:15:08 +03:00
Yuri Kuznetsov
50f422ded8 ignore state.php 2025-10-01 10:24:22 +03:00
Yuri Kuznetsov
25357d75d3 9.2.1 2025-09-30 18:40:40 +03:00
Yuri Kuznetsov
2cea39b5a9 do not use suppress amd in runtime 2025-09-30 17:31:29 +03:00
8 changed files with 27 additions and 27 deletions

1
.gitignore vendored
View File

@@ -7,6 +7,7 @@
/data/config-internal.php
/data/config-override.php
/data/config-internal-override.php
/data/state.php
/data/tmp/*
/build
/node_modules

View File

@@ -227,6 +227,7 @@
"type": "enum",
"notStorable": true,
"orderDisabled": true,
"directUpdateDisabled": true,
"layoutMassUpdateDisabled": true,
"layoutDetailDisabled": true,
"layoutAvailabilityList": ["listForContact"],

View File

@@ -86,7 +86,11 @@
},
"user": {
"type": "index",
"columns": ["userId", "createdAt"]
"columns": ["userId", "number"]
},
"userIdReadRelatedParentType": {
"type": "index",
"columns": ["userId", "deleted", "read", "relatedParentType"]
}
}
}

View File

@@ -216,7 +216,7 @@ class LabelManager implements
}
}
return json_decode(Json::encode($finalData));
return json_decode(Json::encode((object) $finalData));
}
/**

View File

@@ -69,7 +69,6 @@
* @property {string|null} exportsAs
* @property {string} [url]
* @property {boolean} [useCache]
* @property {boolean} [suppressAmd]
*/
/**
@@ -570,7 +569,6 @@
let dataType, type, path, exportsTo, exportsAs;
let realName = id;
let suppressAmd = false;
if (id.indexOf('lib!') === 0) {
dataType = 'script';
@@ -601,14 +599,6 @@
type = 'amd';
}
if (!isDefinedLib && id.slice(-3) === '.js') {
suppressAmd = true;
}
if (exportsAs) {
suppressAmd = true;
}
if (path.indexOf(':') !== -1) {
console.error(`Not allowed path '${path}'.`);
@@ -698,7 +688,6 @@
errorCallback: errorCallback,
exportsAs: exportsAs,
exportsTo: exportsTo,
suppressAmd: suppressAmd,
};
if (path in this._pathsBeingLoaded) {
@@ -736,19 +725,11 @@
const fullUrl = urlObj.toString();
if (suppressAmd) {
define.amd = false;
}
if (type === 'amd') {
this._urlIdMap[fullUrl] = id;
}
this._addScript(fullUrl, () => {
if (suppressAmd) {
define.amd = true;
}
let value;
if (type === 'amd') {

View File

@@ -44,6 +44,12 @@ class EntityManagerEditView extends View {
additionalParams
defaultParamLocation = 'scopes'
/**
* @private
* @type {string[]}
*/
enumFieldList
data() {
return {
isNew: this.isNew,
@@ -131,7 +137,8 @@ class EntityManagerEditView extends View {
}
if (scope) {
const fieldDefs = this.getMetadata().get('entityDefs.' + scope + '.fields') || {};
/** @type {Record.<string, Record>} */
const fieldDefs = this.getMetadata().get(`entityDefs.${scope}.fields`) || {};
this.orderableFieldList = Object.keys(fieldDefs)
.filter(item => {
@@ -180,13 +187,19 @@ class EntityManagerEditView extends View {
this.enumFieldList = Object.keys(fieldDefs)
.filter(item => {
if (fieldDefs[item].disabled) {
return;
if (
fieldDefs[item].disabled ||
fieldDefs[item].utility ||
fieldDefs[item].directUpdateDisabled
) {
return false;
}
if (fieldDefs[item].type === 'enum') {
return true;
}
return false;
})
.sort((v1, v2) => {
return this.translate(v1, 'fields', scope)

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "espocrm",
"version": "9.2.0",
"version": "9.2.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "espocrm",
"version": "9.2.0",
"version": "9.2.2",
"hasInstallScript": true,
"license": "AGPL-3.0-or-later",
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "espocrm",
"version": "9.2.0",
"version": "9.2.2",
"description": "Open-source CRM.",
"repository": {
"type": "git",