@steedos/service-core-objects 3.0.0-beta.137 → 3.0.0-beta.139
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.
- package/README.md +3 -3
- package/main/default/objectTranslations/reports.en/reports.en.objectTranslation.yml +7 -1
- package/main/default/objectTranslations/reports.zh-CN/reports.zh-CN.objectTranslation.yml +7 -1
- package/main/default/objects/_base/base.trigger.js +7 -144
- package/main/default/objects/notifications/fields/related_to.field.yml +12 -4
- package/main/default/objects/objects/buttons/show_object.button.js +1 -1
- package/main/default/objects/reports.object.yml +146 -187
- package/main/default/objects/space_users/buttons/setPassword.button.js +12 -12
- package/package.json +3 -3
- package/main/default/objects/spaces/buttons/upgrade.button.js +0 -12
- package/main/default/objects/spaces/buttons/upgrade.button.yml +0 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @steedos/standard-space
|
|
2
2
|
|
|
3
|
-
### 服务名称
|
|
3
|
+
### 服务名称 `@steedos/standard-space`
|
|
4
4
|
|
|
5
5
|
## actions
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
示例
|
|
18
18
|
```
|
|
19
|
-
this.broker.call('
|
|
19
|
+
this.broker.call('@steedos/standard-space.upsetOrganizations', {
|
|
20
20
|
organizations: [{
|
|
21
21
|
qywx_id: "1",
|
|
22
22
|
name: "组织1"
|
|
@@ -46,7 +46,7 @@ this.broker.call('~packages-@steedos/standard-space.upsetOrganizations', {
|
|
|
46
46
|
|
|
47
47
|
示例
|
|
48
48
|
```
|
|
49
|
-
this.broker.call('
|
|
49
|
+
this.broker.call('@steedos/standard-space.upsetSpaceUsers', {
|
|
50
50
|
spaceUsers: [{
|
|
51
51
|
name: "user1",
|
|
52
52
|
organizations: ['1']
|
|
@@ -1,142 +1,6 @@
|
|
|
1
1
|
const objectql = require('@steedos/objectql');
|
|
2
|
-
const auth = require('@steedos/auth');
|
|
3
2
|
const _ = require('underscore');
|
|
4
3
|
|
|
5
|
-
/**
|
|
6
|
-
* 校验记录的 company 是否在指定授权范围内
|
|
7
|
-
* @param {*} object_name
|
|
8
|
-
* @param {*} userId
|
|
9
|
-
* @param {*} doc
|
|
10
|
-
*/
|
|
11
|
-
const checkCompany = async (object_name, userId, doc) => {
|
|
12
|
-
const userSession = await auth.getSessionByUserId(userId, doc.space);
|
|
13
|
-
|
|
14
|
-
if (!userSession || userSession.is_space_admin) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
let userObjectPermission = null;
|
|
19
|
-
|
|
20
|
-
try {
|
|
21
|
-
userObjectPermission = await objectql.getObject(object_name).getUserObjectPermission(userSession);
|
|
22
|
-
} catch (error) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (userObjectPermission.modifyAllRecords) {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
let allowCompanyIds = [];
|
|
31
|
-
|
|
32
|
-
//与client端保持一致,始终授权用户所属分部
|
|
33
|
-
if (!_.isEmpty(userSession.company_ids)) {
|
|
34
|
-
allowCompanyIds.push(...userSession.company_ids);
|
|
35
|
-
}
|
|
36
|
-
if (!_.isEmpty(userObjectPermission.modifyAssignCompanysRecords)) {
|
|
37
|
-
allowCompanyIds.push(...userObjectPermission.modifyAssignCompanysRecords);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (_.has(doc, "company_id")) {
|
|
41
|
-
if (!_.include(allowCompanyIds, doc.company_id)) {
|
|
42
|
-
throw new Error(`未获得分部授权`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (_.has(doc, "company_ids")) {
|
|
47
|
-
if (_.difference(doc.company_ids, allowCompanyIds).length > 0) {
|
|
48
|
-
throw new Error(`未获得分部授权`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const beforeInsertBase = async function () {
|
|
54
|
-
const { doc, userId } = this;
|
|
55
|
-
// 迁移到insert函数中提前执行了
|
|
56
|
-
// doc.created = new Date();
|
|
57
|
-
// doc.modified = new Date();
|
|
58
|
-
// if (userId) {
|
|
59
|
-
// if (!doc.owner) {
|
|
60
|
-
// doc.owner = userId;
|
|
61
|
-
// }
|
|
62
|
-
// if (doc.owner === '{userId}') {
|
|
63
|
-
// doc.owner = userId;
|
|
64
|
-
// }
|
|
65
|
-
// doc.created_by = userId;
|
|
66
|
-
// doc.modified_by = userId;
|
|
67
|
-
// }
|
|
68
|
-
var extras = ["spaces", "company", "organizations", "users", "space_users"];
|
|
69
|
-
if (extras.indexOf(this.object_name) < 0 && doc.space) {
|
|
70
|
-
/* company_ids/company_id默认值逻辑*/
|
|
71
|
-
if (!doc.company_id || !doc.company_ids) {
|
|
72
|
-
var su;
|
|
73
|
-
if (userId) {
|
|
74
|
-
const spaceUsers = await objectql.getObject("space_users").find({ filters: [['space', '=', doc.space], ['user', '=', userId]], fields: ['company_id'] });
|
|
75
|
-
su = spaceUsers.length > 0 ? spaceUsers[0] : null
|
|
76
|
-
}
|
|
77
|
-
if (!doc.company_id) {
|
|
78
|
-
if (doc.company_ids && doc.company_ids.length) {
|
|
79
|
-
/* 如果用户在界面上指定了company_ids,则取第一个值 */
|
|
80
|
-
doc.company_id = doc.company_ids[0];
|
|
81
|
-
}
|
|
82
|
-
else if (su && su.company_id) {
|
|
83
|
-
doc.company_id = su.company_id;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
if (!doc.company_ids) {
|
|
87
|
-
if (doc.company_id) {
|
|
88
|
-
/* 如果用户在界面上指定了company_id,则取其值输入 */
|
|
89
|
-
doc.company_ids = [doc.company_id];
|
|
90
|
-
}
|
|
91
|
-
else if (su && su.company_id) {
|
|
92
|
-
doc.company_ids = [su.company_id];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
await checkCompany(this.object_name, userId, doc);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const beforeUpdateBase = async function () {
|
|
100
|
-
const { doc, userId } = this;
|
|
101
|
-
if (!doc) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
// 迁移到update函数中提前执行了
|
|
105
|
-
// doc.modified = new Date();
|
|
106
|
-
// if (userId) {
|
|
107
|
-
// doc.modified_by = userId;
|
|
108
|
-
// }
|
|
109
|
-
var extras = ["spaces", "company", "organizations", "users", "space_users"];
|
|
110
|
-
if (extras.indexOf(this.object_name) < 0) {
|
|
111
|
-
/* company_ids/company_id级联修改逻辑*/
|
|
112
|
-
if (_.has(doc, "company_ids")) {
|
|
113
|
-
/*
|
|
114
|
-
原则上应该将 company_ids 设置为可编辑,company_id 设置为只读。
|
|
115
|
-
当 company_ids 可编辑时,修改 company_ids 同时更新 company_id = company_ids[0]
|
|
116
|
-
*/
|
|
117
|
-
var firstCompanyId = doc.company_ids ? doc.company_ids[0] : null;
|
|
118
|
-
if (firstCompanyId) {
|
|
119
|
-
doc.company_id = firstCompanyId;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
doc.company_id = null;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else if (_.has(doc, "company_id")) {
|
|
126
|
-
/*
|
|
127
|
-
考虑到兼容老项目,允许将 company_id 设置为可编辑,此时 company_ids 必须只读。
|
|
128
|
-
当 company_id 可编辑时,修改 company_id 同时更新 company_ids = [company_id]
|
|
129
|
-
*/
|
|
130
|
-
if (doc.company_id) {
|
|
131
|
-
doc.company_ids = [doc.company_id];
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
doc.company_ids = null;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
await checkCompany(this.object_name, userId, doc);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
4
|
const afterDeleteBase = async function () {
|
|
141
5
|
const { object_name, previousDoc } = this;
|
|
142
6
|
if (!previousDoc) {
|
|
@@ -148,22 +12,21 @@ const afterDeleteBase = async function () {
|
|
|
148
12
|
const fields = objectConfig.fields;
|
|
149
13
|
const fieldsName = _.keys(previousDoc);
|
|
150
14
|
|
|
151
|
-
|
|
15
|
+
for (const fieldName of fieldsName) {
|
|
152
16
|
const fieldProps = fields[fieldName];
|
|
153
17
|
const indexOfType = fieldProps && ['file', 'image'].indexOf(fieldProps.type);
|
|
154
18
|
if (indexOfType > -1 && previousDoc[fieldName] && previousDoc[fieldName].length) {
|
|
155
|
-
const collection = [
|
|
19
|
+
const collection = ['cfs_files_filerecord', 'cfs_images_filerecord'][indexOfType];
|
|
156
20
|
let ids = previousDoc[fieldName]
|
|
157
21
|
if (typeof ids === 'string') {
|
|
158
22
|
ids = [ids]
|
|
159
23
|
}
|
|
160
|
-
|
|
161
|
-
collection.
|
|
162
|
-
|
|
163
|
-
});
|
|
164
|
-
})
|
|
24
|
+
for (const id of ids) {
|
|
25
|
+
await objectql.getObject(collection).delete(id)
|
|
26
|
+
}
|
|
165
27
|
}
|
|
166
|
-
}
|
|
28
|
+
}
|
|
29
|
+
|
|
167
30
|
if ("cms_files" != object_name) {
|
|
168
31
|
// 删除附件
|
|
169
32
|
const cmsFilesObj = objectql.getObject('cms_files')
|
|
@@ -6,11 +6,19 @@ reference_to: !<tag:yaml.org,2002:js/function> |-
|
|
|
6
6
|
function anonymous(
|
|
7
7
|
) {
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
try{
|
|
10
|
+
let objects = [];
|
|
11
|
+
var queryResult = Steedos.authRequest(`/graphql`, {
|
|
12
|
+
type: 'POST', async: false,
|
|
13
|
+
data: JSON.stringify({
|
|
14
|
+
query: `{ objects{ name } }`
|
|
15
|
+
})
|
|
12
16
|
});
|
|
13
|
-
|
|
17
|
+
objects = queryResult && queryResult.data && queryResult.data.objects;
|
|
18
|
+
return _.map(objects, 'name') ;
|
|
19
|
+
}catch(e){
|
|
20
|
+
return []
|
|
21
|
+
}
|
|
14
22
|
|
|
15
23
|
}
|
|
16
24
|
filterable: true
|
|
@@ -13,7 +13,7 @@ module.exports = {
|
|
|
13
13
|
return toastr.warning("请先启动对象");
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
window.open(Steedos.getRelativeUrl("/app
|
|
16
|
+
window.open(Steedos.getRelativeUrl("/app/-/" + (record.name || this.record.name)));
|
|
17
17
|
},
|
|
18
18
|
show_objectVisible: function(object_name, record_id, record_permissions, data) {
|
|
19
19
|
var record = data && data.record;
|
|
@@ -16,50 +16,26 @@ fields:
|
|
|
16
16
|
label: Report Type
|
|
17
17
|
type: select
|
|
18
18
|
defaultValue: tabular
|
|
19
|
-
options:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
{
|
|
27
|
-
"label": t("reports_field_report_type_options_summary"),
|
|
28
|
-
"value": "summary"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"label": t("reports_field_report_type_options_matrix"),
|
|
32
|
-
"value": "matrix"
|
|
33
|
-
}
|
|
34
|
-
];
|
|
35
|
-
var plugins = Creator.Plugins;
|
|
36
|
-
if(plugins["@steedos/plugin-jsreport"]){
|
|
37
|
-
types.push({
|
|
38
|
-
"label": "JsReport",
|
|
39
|
-
"value": "jsreport"
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
if(plugins["@steedos/plugin-stimulsoft-report"]){
|
|
43
|
-
types.push({
|
|
44
|
-
"label": "StimulsoftReport",
|
|
45
|
-
"value": "stimulsoft-report"
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
return types;
|
|
49
|
-
}
|
|
19
|
+
options:
|
|
20
|
+
- label: Tabular
|
|
21
|
+
value: tabular
|
|
22
|
+
- label: Summary
|
|
23
|
+
value: summary
|
|
24
|
+
- label: Matrix
|
|
25
|
+
value: matrix
|
|
50
26
|
name: report_type
|
|
51
27
|
filterable: true
|
|
52
|
-
data_source:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
28
|
+
# data_source:
|
|
29
|
+
# label: Data Source
|
|
30
|
+
# type: select
|
|
31
|
+
# defaultValue: odata
|
|
32
|
+
# options:
|
|
33
|
+
# - label: OData
|
|
34
|
+
# value: odata
|
|
35
|
+
# - label: Graphql
|
|
36
|
+
# value: graphql
|
|
37
|
+
# name: data_source
|
|
38
|
+
# filterable: true
|
|
63
39
|
object_name:
|
|
64
40
|
label: Object
|
|
65
41
|
type: lookup
|
|
@@ -68,52 +44,52 @@ fields:
|
|
|
68
44
|
required: true
|
|
69
45
|
name: object_name
|
|
70
46
|
filterable: true
|
|
71
|
-
filter_scope:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
filters:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
filters.$:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
filters.$.field:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
filters.$.operation:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
filters.$.value:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
filter_logic:
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
47
|
+
# filter_scope:
|
|
48
|
+
# label: Filter Scope
|
|
49
|
+
# type: select
|
|
50
|
+
# defaultValue: '"space"'
|
|
51
|
+
# hidden: true
|
|
52
|
+
# options:
|
|
53
|
+
# - label: All
|
|
54
|
+
# value: space
|
|
55
|
+
# - label: Mine
|
|
56
|
+
# value: mine
|
|
57
|
+
# name: filter_scope
|
|
58
|
+
# filterable: true
|
|
59
|
+
# filters:
|
|
60
|
+
# label: Filters
|
|
61
|
+
# type: '[Object]'
|
|
62
|
+
# omit: true
|
|
63
|
+
# name: filters
|
|
64
|
+
# filters.$:
|
|
65
|
+
# label: Filter
|
|
66
|
+
# blackbox: true
|
|
67
|
+
# omit: true
|
|
68
|
+
# hidden: true
|
|
69
|
+
# name: filters.$
|
|
70
|
+
# filters.$.field:
|
|
71
|
+
# label: Field
|
|
72
|
+
# type: text
|
|
73
|
+
# name: filters.$.field
|
|
74
|
+
# filters.$.operation:
|
|
75
|
+
# label: Operator
|
|
76
|
+
# type: select
|
|
77
|
+
# defaultValue: =
|
|
78
|
+
# options: !<tag:yaml.org,2002:js/function> |-
|
|
79
|
+
# function () {
|
|
80
|
+
# return Creator.getFieldOperation();
|
|
81
|
+
# }
|
|
82
|
+
# name: filters.$.operation
|
|
83
|
+
# filterable: true
|
|
84
|
+
# filters.$.value:
|
|
85
|
+
# label: Value
|
|
86
|
+
# blackbox: true
|
|
87
|
+
# name: filters.$.value
|
|
88
|
+
# filter_logic:
|
|
89
|
+
# label: Filter Logic
|
|
90
|
+
# type: text
|
|
91
|
+
# omit: true
|
|
92
|
+
# name: filter_logic
|
|
117
93
|
fields:
|
|
118
94
|
label: Fields
|
|
119
95
|
type: lookup
|
|
@@ -122,10 +98,14 @@ fields:
|
|
|
122
98
|
depend_on:
|
|
123
99
|
- object_name
|
|
124
100
|
defaultIcon: service_contract
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
101
|
+
reference_to: object_fields
|
|
102
|
+
reference_to_field: name
|
|
103
|
+
enable_enhanced_lookup: false
|
|
104
|
+
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
105
|
+
function anonymous(filters,values
|
|
106
|
+
) {
|
|
107
|
+
return ['object', '=', values.object_name]
|
|
108
|
+
}
|
|
129
109
|
name: fields
|
|
130
110
|
filterable: true
|
|
131
111
|
rows:
|
|
@@ -136,10 +116,14 @@ fields:
|
|
|
136
116
|
depend_on:
|
|
137
117
|
- object_name
|
|
138
118
|
defaultIcon: service_contract
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
119
|
+
reference_to: object_fields
|
|
120
|
+
reference_to_field: name
|
|
121
|
+
enable_enhanced_lookup: false
|
|
122
|
+
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
123
|
+
function anonymous(filters,values
|
|
124
|
+
) {
|
|
125
|
+
return ['object', '=', values.object_name]
|
|
126
|
+
}
|
|
143
127
|
name: rows
|
|
144
128
|
filterable: true
|
|
145
129
|
columns:
|
|
@@ -150,10 +134,14 @@ fields:
|
|
|
150
134
|
depend_on:
|
|
151
135
|
- object_name
|
|
152
136
|
defaultIcon: service_contract
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
137
|
+
reference_to: object_fields
|
|
138
|
+
reference_to_field: name
|
|
139
|
+
enable_enhanced_lookup: false
|
|
140
|
+
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
141
|
+
function anonymous(filters,values
|
|
142
|
+
) {
|
|
143
|
+
return ['object', '=', values.object_name]
|
|
144
|
+
}
|
|
157
145
|
name: columns
|
|
158
146
|
filterable: true
|
|
159
147
|
values:
|
|
@@ -164,37 +152,41 @@ fields:
|
|
|
164
152
|
depend_on:
|
|
165
153
|
- object_name
|
|
166
154
|
defaultIcon: service_contract
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
155
|
+
reference_to: object_fields
|
|
156
|
+
reference_to_field: name
|
|
157
|
+
enable_enhanced_lookup: false
|
|
158
|
+
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
159
|
+
function anonymous(filters,values
|
|
160
|
+
) {
|
|
161
|
+
return ['object', '=', values.object_name]
|
|
162
|
+
}
|
|
171
163
|
name: values
|
|
172
164
|
filterable: true
|
|
173
|
-
filter_fields:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
filter_fields.$:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
filter_fields.$.field:
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
filter_fields.$.required:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
165
|
+
# filter_fields:
|
|
166
|
+
# label: Filter Fields
|
|
167
|
+
# type: grid
|
|
168
|
+
# is_wide: true
|
|
169
|
+
# name: filter_fields
|
|
170
|
+
# depend_on:
|
|
171
|
+
# - object_name
|
|
172
|
+
# filter_fields.$:
|
|
173
|
+
# label: Filter Field
|
|
174
|
+
# blackbox: true
|
|
175
|
+
# type: object
|
|
176
|
+
# name: filter_fields.$
|
|
177
|
+
# filter_fields.$.field:
|
|
178
|
+
# label: Field
|
|
179
|
+
# type: lookup
|
|
180
|
+
# optionsFunction: !<tag:yaml.org,2002:js/function> |-
|
|
181
|
+
# function (values) {
|
|
182
|
+
# return Creator.getObjectFilterFieldOptions(values != null ? values.object_name : void 0);
|
|
183
|
+
# }
|
|
184
|
+
# name: filter_fields.$.field
|
|
185
|
+
# filterable: true
|
|
186
|
+
# filter_fields.$.required:
|
|
187
|
+
# label: Required
|
|
188
|
+
# type: boolean
|
|
189
|
+
# name: filter_fields.$.required
|
|
198
190
|
options:
|
|
199
191
|
label: Options
|
|
200
192
|
omit: true
|
|
@@ -225,39 +217,6 @@ fields:
|
|
|
225
217
|
type: boolean
|
|
226
218
|
defaultValue: true
|
|
227
219
|
name: counting
|
|
228
|
-
graphql:
|
|
229
|
-
label: Graphql
|
|
230
|
-
type: textarea
|
|
231
|
-
is_wide: true
|
|
232
|
-
hidden: false
|
|
233
|
-
group: JsReport
|
|
234
|
-
name: graphql
|
|
235
|
-
html:
|
|
236
|
-
label: Html
|
|
237
|
-
type: textarea
|
|
238
|
-
is_wide: true
|
|
239
|
-
hidden: false
|
|
240
|
-
group: JsReport
|
|
241
|
-
name: html
|
|
242
|
-
helper:
|
|
243
|
-
label: Helper
|
|
244
|
-
type: textarea
|
|
245
|
-
is_wide: true
|
|
246
|
-
hidden: false
|
|
247
|
-
group: JsReport
|
|
248
|
-
name: helper
|
|
249
|
-
script:
|
|
250
|
-
label: Script
|
|
251
|
-
type: textarea
|
|
252
|
-
is_wide: true
|
|
253
|
-
hidden: false
|
|
254
|
-
group: JsReport
|
|
255
|
-
name: script
|
|
256
|
-
mrt:
|
|
257
|
-
label: Mrt
|
|
258
|
-
type: textarea
|
|
259
|
-
is_wide: true
|
|
260
|
-
hidden: true
|
|
261
220
|
is_system:
|
|
262
221
|
type: boolean
|
|
263
222
|
label: System
|
|
@@ -266,30 +225,29 @@ fields:
|
|
|
266
225
|
visible_on: "{{global.mode ==='read' ? true : false}}"
|
|
267
226
|
disabled: true
|
|
268
227
|
list_views:
|
|
269
|
-
default:
|
|
270
|
-
columns:
|
|
271
|
-
- name
|
|
272
|
-
- report_type
|
|
273
|
-
- object_name
|
|
274
|
-
- is_system
|
|
275
228
|
all:
|
|
276
229
|
label: All Reports
|
|
277
230
|
filter_scope: space
|
|
278
231
|
filter_fields:
|
|
279
232
|
- report_type
|
|
280
233
|
- created
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
filter_scope: space
|
|
284
|
-
filters: !<tag:yaml.org,2002:js/function> |-
|
|
285
|
-
function () {
|
|
286
|
-
var object_names;
|
|
287
|
-
object_names = Creator.getAppObjectNames();
|
|
288
|
-
return [["object_name", "=", object_names]];
|
|
289
|
-
}
|
|
290
|
-
filter_fields:
|
|
234
|
+
columns:
|
|
235
|
+
- name
|
|
291
236
|
- report_type
|
|
292
|
-
-
|
|
237
|
+
- object_name
|
|
238
|
+
- is_system
|
|
239
|
+
# application:
|
|
240
|
+
# label: Application Reports
|
|
241
|
+
# filter_scope: space
|
|
242
|
+
# filters: !<tag:yaml.org,2002:js/function> |-
|
|
243
|
+
# function () {
|
|
244
|
+
# var object_names;
|
|
245
|
+
# object_names = Creator.getAppObjectNames();
|
|
246
|
+
# return [["object_name", "=", object_names]];
|
|
247
|
+
# }
|
|
248
|
+
# filter_fields:
|
|
249
|
+
# - report_type
|
|
250
|
+
# - created
|
|
293
251
|
mine:
|
|
294
252
|
label: My Reports
|
|
295
253
|
filter_scope: mine
|
|
@@ -309,14 +267,15 @@ list_views:
|
|
|
309
267
|
actions:
|
|
310
268
|
standard_new_by_template:
|
|
311
269
|
label: Pull from Library
|
|
312
|
-
visible:
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
270
|
+
visible: false
|
|
271
|
+
# visible: !<tag:yaml.org,2002:js/function> |-
|
|
272
|
+
# function () {
|
|
273
|
+
# var permissions;
|
|
274
|
+
# permissions = Creator.getPermissions();
|
|
275
|
+
# if (Creator.getTemplateSpaceId() && permissions) {
|
|
276
|
+
# return permissions["allowCreate"];
|
|
277
|
+
# }
|
|
278
|
+
# }
|
|
320
279
|
'on': list
|
|
321
280
|
todo: !<tag:yaml.org,2002:js/function> |-
|
|
322
281
|
function (object_name, record_id, fields) {
|
|
@@ -70,18 +70,18 @@ module.exports = {
|
|
|
70
70
|
autoComplete: "new-password",
|
|
71
71
|
className: "ant-input",
|
|
72
72
|
ref: inputRef,
|
|
73
|
-
onKeyDown: (event) => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
},
|
|
80
|
-
onContextMenu: (event) => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
73
|
+
// onKeyDown: (event) => {
|
|
74
|
+
// // 禁用ctrlKey/metaKey+c/v/a,复制、剪切、粘贴、全选,其中metaKey是mac系统中相关操作的辅助键
|
|
75
|
+
// if ((event.ctrlKey || event.metaKey) && [67, 88, 86, 65].indexOf(event.keyCode) > -1) {
|
|
76
|
+
// event.preventDefault();
|
|
77
|
+
// return false;
|
|
78
|
+
// }
|
|
79
|
+
// },
|
|
80
|
+
// onContextMenu: (event) => {
|
|
81
|
+
// // 禁用鼠标右键菜单
|
|
82
|
+
// event.preventDefault();
|
|
83
|
+
// return false;
|
|
84
|
+
// }
|
|
85
85
|
});
|
|
86
86
|
let observered = false;
|
|
87
87
|
const modalName = "modal-setPassword";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-core-objects",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.139",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
"steedos"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@steedos/service-package-loader": "3.0.0-beta.
|
|
12
|
+
"@steedos/service-package-loader": "3.0.0-beta.139",
|
|
13
13
|
"json2xls": "^0.1.2",
|
|
14
14
|
"lodash": "^4.17.21"
|
|
15
15
|
},
|
|
16
16
|
"description": "steedos package",
|
|
17
17
|
"repository": {},
|
|
18
18
|
"license": "MIT",
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "8d6ec68f7c87be83db0a0eba893300457f71657f"
|
|
20
20
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: sunhaolin@hotoa.com
|
|
3
|
-
* @Date: 2022-12-12 11:32:14
|
|
4
|
-
* @LastEditors: sunhaolin@hotoa.com
|
|
5
|
-
* @LastEditTime: 2022-12-12 13:44:53
|
|
6
|
-
* @Description:
|
|
7
|
-
*/
|
|
8
|
-
module.exports = {
|
|
9
|
-
upgrade: function () {
|
|
10
|
-
window.open(`https://www.steedos.com/pricing/platform`);
|
|
11
|
-
}
|
|
12
|
-
}
|