@steedos/standard-object-database 2.5.20-beta.8 → 2.5.20-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,6 +3,12 @@ var objectql = require('@steedos/objectql');
|
|
|
3
3
|
var clone = require('clone');
|
|
4
4
|
var objectCore = require('./objects.core.js');
|
|
5
5
|
|
|
6
|
+
const objectFieldsFind = function (filter) {
|
|
7
|
+
return objectql.wrapAsync(async function () {
|
|
8
|
+
return await objectql.getObject('object_fields').find(this.filter);
|
|
9
|
+
}, { filter: filter })
|
|
10
|
+
}
|
|
11
|
+
|
|
6
12
|
const MAX_MASTER_DETAIL_LEAVE = objectql.MAX_MASTER_DETAIL_LEAVE;
|
|
7
13
|
|
|
8
14
|
function canRemoveNameFileld(doc){
|
|
@@ -105,20 +111,18 @@ function _syncToObject(doc, event) {
|
|
|
105
111
|
};
|
|
106
112
|
|
|
107
113
|
function isRepeatedName(doc, name) {
|
|
108
|
-
var other
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
_id: 1
|
|
119
|
-
}
|
|
114
|
+
var other = objectFieldsFind({
|
|
115
|
+
filters: [[
|
|
116
|
+
'object', '=', doc.object
|
|
117
|
+
], [
|
|
118
|
+
'space', '=', doc.space
|
|
119
|
+
], [
|
|
120
|
+
'_id', '!=', doc._id
|
|
121
|
+
], [
|
|
122
|
+
'name', '=', name || doc.name
|
|
123
|
+
]]
|
|
120
124
|
});
|
|
121
|
-
if (other.
|
|
125
|
+
if (other.length > 0) {
|
|
122
126
|
return true;
|
|
123
127
|
}
|
|
124
128
|
return false;
|
|
@@ -465,8 +469,9 @@ var triggers = {
|
|
|
465
469
|
if(doc.name === 'name' || doc.is_name){
|
|
466
470
|
checkNameField({type: doc.type})
|
|
467
471
|
}
|
|
468
|
-
|
|
472
|
+
console.log('insert', doc)
|
|
469
473
|
if (isRepeatedName(doc)) {
|
|
474
|
+
|
|
470
475
|
throw new Meteor.Error(doc.name, "字段名不能重复");
|
|
471
476
|
}
|
|
472
477
|
|
|
@@ -216,6 +216,16 @@ function loadObject(doc, oldDoc) {
|
|
|
216
216
|
|
|
217
217
|
originalObject.isMain = true;
|
|
218
218
|
|
|
219
|
+
const objConfig = register.getOriginalObjectConfig(doc.name);
|
|
220
|
+
|
|
221
|
+
if(objConfig){
|
|
222
|
+
_.each(objConfig.fields, (config, name)=>{
|
|
223
|
+
if(!config._id && !doc.fields[name]){
|
|
224
|
+
doc.fields[name] = config;
|
|
225
|
+
}
|
|
226
|
+
})
|
|
227
|
+
}
|
|
228
|
+
|
|
219
229
|
register.addObjectConfig(doc, datasourceName);
|
|
220
230
|
register.loadObjectLazyListViews(doc.name);
|
|
221
231
|
register.loadObjectLazyActions(doc.name);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/standard-object-database",
|
|
3
|
-
"version": "2.5.20-beta.
|
|
3
|
+
"version": "2.5.20-beta.9",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
},
|
|
16
16
|
"repository": {},
|
|
17
17
|
"license": "MIT",
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "b04fd383c7f469ba970a52744a3778ae58ab4425"
|
|
19
19
|
}
|