@steedos/service-core-objects 3.0.0-beta.9 → 3.0.0-beta.92
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/main/default/client/{topic.client.js → css.client.js} +2 -1
- package/main/default/client/socket.client.js +118 -0
- package/main/default/objectTranslations/base.en/base.en.objectTranslation.yml +2 -0
- package/main/default/objectTranslations/base.zh-CN/base.zh-CN.objectTranslation.yml +2 -0
- package/main/default/objectTranslations/cms_files.en/cms_files.en.objectTranslation.yml +7 -1
- package/main/default/objectTranslations/cms_files.zh-CN/cms_files.zh-CN.objectTranslation.yml +7 -1
- package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +1 -1
- package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +45 -0
- package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +42 -0
- package/main/default/objectTranslations/license.en/license.en.objectTranslation.yml +1 -1
- package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +1 -1
- package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +1 -5
- package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +3 -3
- package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +1 -1
- package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +1 -1
- package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +3 -1
- package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +5 -3
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +23 -18
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +39 -25
- package/main/default/objectTranslations/operation_logs.en/operation_logs.en.objectTranslation.yml +66 -0
- package/main/default/objectTranslations/operation_logs.zh-CN/operation_logs.zh-CN.objectTranslation.yml +66 -0
- package/main/default/objectTranslations/space_users.en/space_users.en.objectTranslation.yml +17 -0
- package/main/default/objectTranslations/space_users.zh-CN/space_users.zh-CN.objectTranslation.yml +17 -1
- package/main/default/objects/_base/base.client.js +11 -10
- package/main/default/objects/_base/base.object.js +279 -105
- package/main/default/objects/_base/base.object.yml +8 -0
- package/main/default/objects/announcements.object.yml +68 -0
- package/main/default/objects/apps/apps.object.yml +25 -69
- package/main/default/objects/apps/buttons/disable.button.js +3 -1
- package/main/default/objects/apps/buttons/enable.button.js +3 -1
- package/main/default/objects/audit_records.object.yml +1 -1
- package/main/default/objects/cms_files/buttons/download.button.yml +1 -1
- package/main/default/objects/cms_files/cms_files.object.yml +6 -5
- package/main/default/objects/favorites.object.yml +65 -0
- package/main/default/objects/keyvalue/keyvalue.object.yml +1 -0
- package/main/default/objects/logs/logs.object.yml +1 -0
- package/main/default/objects/object_fields/buttons/recomputeFormulaValues.button.js +6 -2
- package/main/default/objects/object_fields/buttons/recomputeSummaryValues.button.js +6 -2
- package/main/default/objects/object_fields/buttons/standard_new.button.js +1 -1
- package/main/default/objects/object_fields/fields/_name.field.yml +1 -0
- package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +28 -13
- package/main/default/objects/object_fields/fields/name.field.yml +1 -0
- package/main/default/objects/object_fields/fields/options.field.yml +1 -0
- package/main/default/objects/object_fields/fields/summary_filters.$.field.field.yml +16 -9
- package/main/default/objects/object_fields/fields/summary_filters.$.operation.field.yml +26 -29
- package/main/default/objects/object_fields/listviews/all.listview.yml +3 -1
- package/main/default/objects/object_fields/listviews/customize.listview.yml +3 -1
- package/main/default/objects/object_functions/fields/script.field.yml +1 -1
- package/main/default/objects/object_listviews/buttons/customize.button.js +36 -30
- package/main/default/objects/object_listviews/buttons/showDesign.button.js +6 -6
- package/main/default/objects/object_listviews/fields/adaptor.field.yml +2 -2
- package/main/default/objects/object_listviews/fields/crudDataFilter.field.yml +10 -0
- package/main/default/objects/object_listviews/fields/enable_amis_schema.field.yml +1 -0
- package/main/default/objects/object_listviews/fields/extra_columns.field.yml +18 -0
- package/main/default/objects/object_listviews/fields/requestAdaptor.field.yml +2 -2
- package/main/default/objects/object_listviews/object_listviews.object.yml +1 -1
- package/main/default/objects/object_triggers/fields/handler.field.yml +1 -1
- package/main/default/objects/object_webhooks/fields/fields.field.yml +1 -1
- package/main/default/objects/object_webhooks/object_webhooks.object.yml +1 -0
- package/main/default/objects/objects/buttons/custom.button.js +6 -35
- package/main/default/objects/objects/buttons/custom.button.yml +85 -1
- package/main/default/objects/objects/buttons/delete_object.button.yml +5 -4
- package/main/default/objects/objects/buttons/design_fields_layout.button.js +5 -2
- package/main/default/objects/objects/buttons/design_fields_layout.button.yml +1 -1
- package/main/default/objects/objects/buttons/reset.button.yml +6 -5
- package/main/default/objects/objects/buttons/show_object.button.js +2 -29
- package/main/default/objects/objects/fields/compactLayouts.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_audit.field.yml +5 -0
- package/main/default/objects/objects/fields/enable_chatter.field.yml +5 -4
- package/main/default/objects/objects/fields/enable_dataloader.field.yml +0 -1
- package/main/default/objects/objects/fields/enable_enhanced_lookup.field.yml +0 -4
- package/main/default/objects/objects/fields/enable_events.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_files.field.yml +1 -1
- package/main/default/objects/objects/fields/enable_form_tabs.field.yml +1 -2
- package/main/default/objects/objects/fields/enable_inline_edit.field.yml +1 -1
- package/main/default/objects/objects/fields/enable_instances.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_lock_detail.field.yml +0 -1
- package/main/default/objects/objects/fields/enable_notes.field.yml +2 -2
- package/main/default/objects/objects/fields/enable_tasks.field.yml +1 -1
- package/main/default/objects/objects/fields/enable_tree.field.yml +0 -1
- package/main/default/objects/objects/fields/field_groups.field.yml +1 -1
- package/main/default/objects/objects/fields/in_development.field.yml +0 -1
- package/main/default/objects/objects/fields/is_deleted.field.yml +1 -0
- package/main/default/objects/objects/fields/name.field.yml +1 -4
- package/main/default/objects/objects/fields/table_name.field.yml +0 -1
- package/main/default/objects/objects/listviews/all.listview.yml +4 -1
- package/main/default/objects/objects/listviews/customize.listview.yml +3 -1
- package/main/default/objects/objects/listviews/deleted.listview.yml +3 -1
- package/main/default/objects/objects/listviews/metadata.listview.yml +3 -1
- package/main/default/objects/objects/listviews/system.listview.yml +3 -1
- package/main/default/objects/objects/objects.object.yml +1 -1
- package/main/default/objects/permission_set.object.yml +0 -4
- package/main/default/objects/queue_import.object.yml +16 -1
- package/main/default/objects/roles.object.yml +1 -5
- package/main/default/objects/space_users/buttons/clear_login_tokens.button.yml +3 -6
- package/main/default/objects/space_users/buttons/disable.button.yml +3 -7
- package/main/default/objects/space_users/buttons/enable.button.yml +3 -7
- package/main/default/objects/space_users/buttons/lockout.button.yml +3 -7
- package/main/default/objects/space_users/buttons/standard_edit.button.js +0 -1
- package/main/default/objects/space_users/buttons/unlock.button.yml +3 -7
- package/main/default/objects/space_users/fields/locale.field.yml +2 -1
- package/main/default/pages/cms_files_preview.page.amis.json +22 -3
- package/main/default/pages/object_detail.page.amis.json +17 -11
- package/main/default/pages/object_fields_form.page.amis.json +0 -11
- package/main/default/pages/object_validation_rules_form.page.amis.json +38 -0
- package/main/default/pages/object_validation_rules_form.page.yml +13 -0
- package/main/default/pages/object_webhooks_form.page.amis.json +1 -1
- package/main/default/pages/space_users_list.page.amis.json +2 -2
- package/main/default/routes/importRecords.router.js +87 -0
- package/main/default/routes/notifications.router.js +113 -0
- package/main/default/routes/object_fields_design.ejs +23 -9
- package/main/default/routes/object_fields_design.router.js +4 -3
- package/main/default/services/app-design.service.js +2 -1
- package/main/default/services/notifications.service.js +190 -0
- package/main/default/services/users.service.js +1 -1
- package/main/default/tabs/{admin_process_delegation_rules.tab.yml → admin_bull_dashboard.tab.yml} +9 -12
- package/main/default/translations/en.translation.yml +3 -2
- package/main/default/translations/zh-CN.translation.yml +3 -2
- package/main/default/triggers/objects_set_default_object_properties_trigger.trigger.yml +9 -6
- package/main/default/triggers/queue_import.trigger.js +16 -0
- package/package.json +4 -3
- package/package.service.js +3 -2
- package/public/platform.css +62 -0
- package/public/topic.css +17 -37
- package/main/default/objectTranslations/flow_positions.en/flow_positions.en.objectTranslation.yml +0 -19
- package/main/default/objectTranslations/flow_positions.zh-CN/flow_positions.zh-CN.objectTranslation.yml +0 -19
- package/main/default/objectTranslations/flow_roles.en/flow_roles.en.objectTranslation.yml +0 -11
- package/main/default/objectTranslations/flow_roles.zh-CN/flow_roles.zh-CN.objectTranslation.yml +0 -14
- package/main/default/objectTranslations/flows.en/flows.en.objectTranslation.yml +0 -317
- package/main/default/objectTranslations/flows.zh-CN/flows.zh-CN.objectTranslation.yml +0 -314
- package/main/default/objects/apps/buttons/amis_edit.button.yml +0 -39
- package/main/default/objects/apps/buttons/amis_new.button.yml +0 -43
- package/main/default/objects/flows/flows.object.yml +0 -1089
- package/main/default/objects/object_actions/buttons/customize.button.js +0 -33
- package/main/default/objects/object_actions/buttons/customize.button.yml +0 -3
- package/main/default/objects/object_listviews/buttons/copy.button.js +0 -58
- package/main/default/objects/object_listviews/buttons/copy.button.yml +0 -3
- package/main/default/objects/object_listviews/buttons/customize.button.yml +0 -3
- package/main/default/objects/objects/buttons/design_field_layout.button.js +0 -28
- package/main/default/objects/objects/buttons/design_field_layout.button.yml +0 -5
- package/main/default/objects/process_definition.object.yml +0 -323
- package/main/default/objects/space_users/fields/zoom.field.yml +0 -16
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
name: name
|
|
2
2
|
amis:
|
|
3
3
|
disabledOn: '${is_system == true}'
|
|
4
|
+
copyable: true
|
|
4
5
|
filterable: true
|
|
5
6
|
hidden: false
|
|
6
7
|
index: true
|
|
7
|
-
inlineHelpText: >-
|
|
8
|
-
Can only contain lowercase letters and numbers, must start with a letter,
|
|
9
|
-
cannot end with an underscore character or contain two consecutive underscore
|
|
10
|
-
characters
|
|
11
8
|
label: API Name
|
|
12
9
|
required: true
|
|
13
10
|
searchable: true
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
name: all
|
|
2
2
|
columns:
|
|
3
3
|
- label
|
|
4
|
-
- name
|
|
4
|
+
- field: name
|
|
5
|
+
amis:
|
|
6
|
+
copyable: true
|
|
5
7
|
- in_development
|
|
6
8
|
- is_system
|
|
7
9
|
- is_customize
|
|
@@ -17,3 +19,4 @@ shared_to: space
|
|
|
17
19
|
sort: [["created", "desc"], ["name", "asc"]]
|
|
18
20
|
filters:
|
|
19
21
|
- ['hidden', '!=', true]
|
|
22
|
+
- ['isMetadata', '!=', true]
|
|
@@ -5,6 +5,7 @@ enable_files: false
|
|
|
5
5
|
enable_enhanced_lookup: true
|
|
6
6
|
hidden: true
|
|
7
7
|
version: 2
|
|
8
|
+
isMetadata: true
|
|
8
9
|
fields:
|
|
9
10
|
name:
|
|
10
11
|
index: true
|
|
@@ -205,7 +206,21 @@ list_views:
|
|
|
205
206
|
- name
|
|
206
207
|
- object_name
|
|
207
208
|
- operation
|
|
208
|
-
- template_url
|
|
209
|
+
- field: template_url
|
|
210
|
+
amis:
|
|
211
|
+
"type": "button-group"
|
|
212
|
+
"static": false
|
|
213
|
+
"buttons":
|
|
214
|
+
- "type": "button"
|
|
215
|
+
"label": "下载"
|
|
216
|
+
"visibleOn": "${template_url}"
|
|
217
|
+
"level": "link"
|
|
218
|
+
"actionType": "download"
|
|
219
|
+
"api":
|
|
220
|
+
"url": "${template_url}"
|
|
221
|
+
"method": "get"
|
|
222
|
+
"headers":
|
|
223
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
209
224
|
filter_scope: space
|
|
210
225
|
permission_set:
|
|
211
226
|
user:
|
|
@@ -5,10 +5,10 @@ amis_schema: |-
|
|
|
5
5
|
"body": [
|
|
6
6
|
{
|
|
7
7
|
"type": "button",
|
|
8
|
-
"label": "
|
|
8
|
+
"label": "${'CustomAction.space_users.clear_login_tokens' | t}",
|
|
9
9
|
"id": "u:clear_login_tokens",
|
|
10
10
|
"editorState": "default",
|
|
11
|
-
"confirmText": "
|
|
11
|
+
"confirmText": "${'CustomLabels.space_users_actions_clear_login_tokens_confirmText' | t}",
|
|
12
12
|
"hiddenOn": "context.user.is_space_admin != true || Steedos.settings.public.enable_saas == true",
|
|
13
13
|
"onEvent": {
|
|
14
14
|
"click": {
|
|
@@ -23,10 +23,7 @@ amis_schema: |-
|
|
|
23
23
|
"url": "${context.rootUrl}/api/users/${record.user}/clear_login_tokens",
|
|
24
24
|
"method": "get",
|
|
25
25
|
"requestAdaptor": "",
|
|
26
|
-
"adaptor": ""
|
|
27
|
-
"messages": {
|
|
28
|
-
"success": "注销成功"
|
|
29
|
-
}
|
|
26
|
+
"adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_clear_login_tokens_success')} : {...payload, status: 1};"
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
}
|
|
@@ -8,9 +8,9 @@ amis_schema: |-
|
|
|
8
8
|
"body": [
|
|
9
9
|
{
|
|
10
10
|
"type": "button",
|
|
11
|
-
"label": "
|
|
11
|
+
"label": "${'CustomAction.space_users.disable' | t}",
|
|
12
12
|
"id": "u:disable",
|
|
13
|
-
"confirmText": "
|
|
13
|
+
"confirmText": "${'CustomLabels.space_users_actions_disable_confirmText' | t}",
|
|
14
14
|
"onEvent": {
|
|
15
15
|
"click": {
|
|
16
16
|
"weight": 0,
|
|
@@ -21,11 +21,7 @@ amis_schema: |-
|
|
|
21
21
|
"url": "/service/api/space_users/disable",
|
|
22
22
|
"method": "post",
|
|
23
23
|
"requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
|
|
24
|
-
"adaptor": ""
|
|
25
|
-
"messages": {
|
|
26
|
-
"success": "用户已禁用",
|
|
27
|
-
"failed": "用户禁用失败,请稍后再试"
|
|
28
|
-
}
|
|
24
|
+
"adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_disable_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_disable_failed')};"
|
|
29
25
|
}
|
|
30
26
|
},
|
|
31
27
|
{
|
|
@@ -8,9 +8,9 @@ amis_schema: |-
|
|
|
8
8
|
"body": [
|
|
9
9
|
{
|
|
10
10
|
"type": "button",
|
|
11
|
-
"label": "
|
|
11
|
+
"label": "${'CustomAction.space_users.enable' | t}",
|
|
12
12
|
"id": "u:enable",
|
|
13
|
-
"confirmText": "
|
|
13
|
+
"confirmText": "${'CustomLabels.space_users_actions_enable_confirmText' | t}",
|
|
14
14
|
"onEvent": {
|
|
15
15
|
"click": {
|
|
16
16
|
"weight": 0,
|
|
@@ -21,11 +21,7 @@ amis_schema: |-
|
|
|
21
21
|
"url": "/service/api/space_users/enable",
|
|
22
22
|
"method": "post",
|
|
23
23
|
"requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
|
|
24
|
-
"adaptor": ""
|
|
25
|
-
"messages": {
|
|
26
|
-
"success": "用户已启用",
|
|
27
|
-
"failed": "用户启用失败,请稍后再试"
|
|
28
|
-
}
|
|
24
|
+
"adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_enable_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_enable_failed')};"
|
|
29
25
|
}
|
|
30
26
|
},
|
|
31
27
|
{
|
|
@@ -19,9 +19,9 @@ amis_schema: |-
|
|
|
19
19
|
"body": [
|
|
20
20
|
{
|
|
21
21
|
"type": "button",
|
|
22
|
-
"label": "
|
|
22
|
+
"label": "${'CustomAction.space_users.lockout' | t}",
|
|
23
23
|
"id": "u:lockout",
|
|
24
|
-
"confirmText": "
|
|
24
|
+
"confirmText": "${'CustomLabels.space_users_actions_lockout_confirmText' | t}",
|
|
25
25
|
"onEvent": {
|
|
26
26
|
"click": {
|
|
27
27
|
"weight": 0,
|
|
@@ -32,11 +32,7 @@ amis_schema: |-
|
|
|
32
32
|
"url": "/service/api/space_users/lockout",
|
|
33
33
|
"method": "post",
|
|
34
34
|
"requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
|
|
35
|
-
"adaptor": ""
|
|
36
|
-
"messages": {
|
|
37
|
-
"success": "用户已锁定",
|
|
38
|
-
"failed": "用户锁定失败,请稍后再试"
|
|
39
|
-
}
|
|
35
|
+
"adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_lockout_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_lockout_failed')};"
|
|
40
36
|
}
|
|
41
37
|
},
|
|
42
38
|
{
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
module.exports = {
|
|
9
9
|
standard_editVisible: function (object_name, record_id, record_permissions, data) {
|
|
10
|
-
console.log('standard_editVisible===>')
|
|
11
10
|
var allowEdit = Steedos.Object.base.actions.standard_edit.visible.apply(this, arguments);
|
|
12
11
|
if (!allowEdit) {
|
|
13
12
|
// permissions配置没有权限则不给权限
|
|
@@ -20,9 +20,9 @@ amis_schema: |-
|
|
|
20
20
|
"body": [
|
|
21
21
|
{
|
|
22
22
|
"type": "button",
|
|
23
|
-
"label": "
|
|
23
|
+
"label": "${'CustomAction.space_users.unlock' | t}",
|
|
24
24
|
"id": "u:lockout",
|
|
25
|
-
"confirmText": "
|
|
25
|
+
"confirmText": "${'CustomLabels.space_users_actions_unlock_confirmText' | t}",
|
|
26
26
|
"onEvent": {
|
|
27
27
|
"click": {
|
|
28
28
|
"weight": 0,
|
|
@@ -33,11 +33,7 @@ amis_schema: |-
|
|
|
33
33
|
"url": "/service/api/space_users/unlock",
|
|
34
34
|
"method": "post",
|
|
35
35
|
"requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
|
|
36
|
-
"adaptor": ""
|
|
37
|
-
"messages": {
|
|
38
|
-
"success": "用户已解锁",
|
|
39
|
-
"failed": "用户解锁失败,请稍后再试"
|
|
40
|
-
}
|
|
36
|
+
"adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_unlock_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_unlock_failed')};"
|
|
41
37
|
}
|
|
42
38
|
},
|
|
43
39
|
{
|
|
@@ -13,5 +13,6 @@ options:
|
|
|
13
13
|
value: en-us
|
|
14
14
|
- label: 日本語
|
|
15
15
|
value: ja
|
|
16
|
-
|
|
16
|
+
amis:
|
|
17
|
+
value: "${locale ? locale : (window:Builder.settings.default_language == 'zh-CN' ? 'zh-cn' : (window:Builder.settings.default_language ? (window:Builder.settings.default_language === 'en' ? 'en-us' : window:Builder.settings.default_language) : 'zh-cn'))}"
|
|
17
18
|
sort_no: 280
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"className": "steedos-record-tabs bg-white p-4 sm:m-4 sm:border sm:rounded",
|
|
14
14
|
"tabs": [
|
|
15
15
|
{
|
|
16
|
-
"title": "
|
|
16
|
+
"title": "${'CustomLabels.cms_files_pagedetail_tab_preview' | t}",
|
|
17
17
|
"className": "tab-container-office-preview",
|
|
18
18
|
"body": [
|
|
19
19
|
{
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"visibleOn": "${ARRAYINCLUDES(['docx', 'xlsx', 'pdf', 'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'],${extention})}"
|
|
120
120
|
},
|
|
121
121
|
{
|
|
122
|
-
"title": "
|
|
122
|
+
"title": "${'CustomLabels.cms_files_pagedetail_tab_detail' | t}",
|
|
123
123
|
"body": [
|
|
124
124
|
{
|
|
125
125
|
"type": "steedos-object-form",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"id": "u:5d4e7e3f6ecc"
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
|
-
"title": "
|
|
137
|
+
"title": "${'CustomLabels.cms_files_pagedetail_tab_historical_versions' | t}",
|
|
138
138
|
"body": [
|
|
139
139
|
{
|
|
140
140
|
"type": "steedos-object-related-lists",
|
|
@@ -147,6 +147,25 @@
|
|
|
147
147
|
],
|
|
148
148
|
"className": "px-0 pt-4",
|
|
149
149
|
"id": "u:f2f42d8195ab"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"title": "${'CustomLabels.cms_files_pagedetail_tab_chatter' | t}",
|
|
153
|
+
"body": [
|
|
154
|
+
{
|
|
155
|
+
"type": "rooms-provider",
|
|
156
|
+
"baseUrl": "${context.rootUrl}",
|
|
157
|
+
"body": [
|
|
158
|
+
{
|
|
159
|
+
"type": "rooms-comments",
|
|
160
|
+
"className": "flex flex-col gap-3",
|
|
161
|
+
"roomId": "objects:${objectName}:${recordId}"
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"className": "px-0 pt-4",
|
|
167
|
+
"id": "u:f2f42d8195ab",
|
|
168
|
+
"visibleOn": "${uiSchema.enable_chatter}"
|
|
150
169
|
}
|
|
151
170
|
],
|
|
152
171
|
"id": "u:560caa275d48"
|
|
@@ -173,6 +173,22 @@
|
|
|
173
173
|
"recordId": "${recordId}",
|
|
174
174
|
"relatedObjectApiName": "object_functions",
|
|
175
175
|
"relatedKey": "objectApiName",
|
|
176
|
+
"perPage": 20,
|
|
177
|
+
"id": "u:e0aff125ad0f"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"id": "u:13fd52c4e905"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"title": "${'objects_amis_queue_import' | t}",
|
|
184
|
+
"id": "u:b36e7189917a",
|
|
185
|
+
"body": [
|
|
186
|
+
{
|
|
187
|
+
"type": "steedos-object-related-listview",
|
|
188
|
+
"objectApiName": "objects",
|
|
189
|
+
"recordId": "${recordId}",
|
|
190
|
+
"relatedObjectApiName": "queue_import",
|
|
191
|
+
"relatedKey": "object_name",
|
|
176
192
|
"perPage": 20
|
|
177
193
|
}
|
|
178
194
|
]
|
|
@@ -180,7 +196,7 @@
|
|
|
180
196
|
],
|
|
181
197
|
"id": "u:6a3b45d7adcf",
|
|
182
198
|
"tabsMode": "vertical",
|
|
183
|
-
"className": "steedos-record-tabs bg-white m-4 border-
|
|
199
|
+
"className": "steedos-record-tabs bg-white m-4 border-none sm:shadow",
|
|
184
200
|
"toolbarClassName": "",
|
|
185
201
|
"linksClassName": "",
|
|
186
202
|
"contentClassName": "bg-white",
|
|
@@ -206,16 +222,6 @@
|
|
|
206
222
|
}
|
|
207
223
|
}
|
|
208
224
|
],
|
|
209
|
-
"data": {
|
|
210
|
-
"objectName": "objects",
|
|
211
|
-
"recordId": "space_users",
|
|
212
|
-
"context": {
|
|
213
|
-
"rootUrl": "http://127.0.0.1:5800",
|
|
214
|
-
"tenantId": "hKdnwE55WcnWveYxS",
|
|
215
|
-
"userId": "62ede4f62161e377e35de58c",
|
|
216
|
-
"authToken": "b6475c5536a26d23d3db84e96536e08e82e1e726380cdd5cb09fc977e1d6e57c08fb23d7a1090006189d3d"
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
225
|
"id": "page_objects_record_detail",
|
|
220
226
|
"objectApiName": "${objectName}",
|
|
221
227
|
"name": "page_objects_record_detail",
|
|
@@ -224,17 +224,6 @@
|
|
|
224
224
|
"formula"
|
|
225
225
|
]
|
|
226
226
|
},
|
|
227
|
-
"onEvent": {
|
|
228
|
-
"init": {
|
|
229
|
-
"weight": 0,
|
|
230
|
-
"actions": [
|
|
231
|
-
{
|
|
232
|
-
"actionType": "custom",
|
|
233
|
-
"script": "//初始化时给外层dialog加上类名,使过滤组件popover正常显示\n$('.steedos-object-fields-form-page').closest('.amis-dialog-widget.antd-Modal').addClass('steedos-overflow-visible-dialog');"
|
|
234
|
-
}
|
|
235
|
-
]
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
227
|
"name": "object_fields_form",
|
|
239
228
|
"className": "steedos-object-fields-form-page",
|
|
240
229
|
"id": "steedos_object_fields_service"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "service",
|
|
3
|
+
"body": [
|
|
4
|
+
{
|
|
5
|
+
"type": "steedos-object-form",
|
|
6
|
+
"label": "对象表单",
|
|
7
|
+
"objectApiName": "object_validation_rules",
|
|
8
|
+
"recordId": "${recordId}",
|
|
9
|
+
"className": "",
|
|
10
|
+
"id": "u:b3d626885b90",
|
|
11
|
+
"enableTabs": false,
|
|
12
|
+
"mode": "edit",
|
|
13
|
+
"layout": "normal",
|
|
14
|
+
"tabsMode": "",
|
|
15
|
+
"fieldsExtend": {
|
|
16
|
+
"error_condition_formula": {
|
|
17
|
+
"amis": {
|
|
18
|
+
"type": "service",
|
|
19
|
+
"schemaApi": {
|
|
20
|
+
"method": "get",
|
|
21
|
+
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
|
|
22
|
+
"cache": 30000,
|
|
23
|
+
"adaptor": "const field = context.uiSchema.fields.error_condition_formula; const variables = SteedosUI.getFormulaVariables(payload.data.options); \n var fieldSchema={label: field.label, type:'input-formula', name: 'error_condition_formula', 'evalMode': false, variableMode: 'tabs', variables: variables, labelRemark: field.inlineHelpText, description: field.description } \n return {...payload, data:fieldSchema};",
|
|
24
|
+
"trackExpression": "${object_name}",
|
|
25
|
+
"sendOn": "${object_name}"
|
|
26
|
+
},
|
|
27
|
+
"dsType": "api",
|
|
28
|
+
"id": "u:508198dbfac7"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"data": {},
|
|
35
|
+
"name": "page_object_validation_rules_form",
|
|
36
|
+
"id": "u:5f4f07272db7",
|
|
37
|
+
"dsType": "api"
|
|
38
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: object_validation_rules_form
|
|
2
|
+
is_active: true
|
|
3
|
+
label: 对象验证规则表单
|
|
4
|
+
locked: false
|
|
5
|
+
object_name: object_validation_rules
|
|
6
|
+
pageAssignments:
|
|
7
|
+
- type: orgDefault
|
|
8
|
+
page: object_validation_rules_form
|
|
9
|
+
desktop: true
|
|
10
|
+
mobile: true
|
|
11
|
+
render_engine: amis
|
|
12
|
+
type: form
|
|
13
|
+
widgets: []
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"method": "get",
|
|
17
17
|
"url": "/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
|
|
18
18
|
"cache": 30000,
|
|
19
|
-
"adaptor": "const field = context.uiSchema.fields.condition; const
|
|
19
|
+
"adaptor": "const field = context.uiSchema.fields.condition; const variables = SteedosUI.getFormulaVariables(payload.data.options);\n var fieldSchema={label: field.label, type:'input-formula', name: 'condition', 'evalMode': false, variableMode: 'tabs', variables: variables, labelRemark: field.inlineHelpText, description: field.description } \n return {...payload, data:fieldSchema};",
|
|
20
20
|
"trackExpression": "${object_name}",
|
|
21
21
|
"sendOn": "${object_name}"
|
|
22
22
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
{
|
|
20
20
|
"type": "input-tree",
|
|
21
21
|
"id": "u:7fd77b7915b0",
|
|
22
|
-
"className": "",
|
|
22
|
+
"className": "bg-none",
|
|
23
23
|
"source": {
|
|
24
24
|
"method": "post",
|
|
25
25
|
"url": "${context.rootUrl}/graphql",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
{
|
|
89
89
|
"type": "wrapper",
|
|
90
90
|
"size": "none",
|
|
91
|
-
"className": "flex-1
|
|
91
|
+
"className": "flex-1 focus:outline-none lg:order-last w-96",
|
|
92
92
|
"body": [
|
|
93
93
|
{
|
|
94
94
|
"type": "steedos-object-listview",
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
const { requireAuthentication } = require('@steedos/auth');
|
|
3
|
+
const { importWithCmsFile } = require('@steedos/data-import/lib/index')
|
|
4
|
+
const express = require('express');
|
|
5
|
+
const router = express.Router();
|
|
6
|
+
|
|
7
|
+
const json2xls = require('json2xls');
|
|
8
|
+
const { getObject } = require('@steedos/objectql');
|
|
9
|
+
const _ = require('lodash');
|
|
10
|
+
|
|
11
|
+
const initiateImport = async function (req, res) {
|
|
12
|
+
try {
|
|
13
|
+
const userSession = req.user;
|
|
14
|
+
// const spaceId = userSession.spaceId;
|
|
15
|
+
let { importObjId, importObjectHistoryId } = req.body;
|
|
16
|
+
let fileId = null;
|
|
17
|
+
const isSpaceAdmin = req.user.is_space_admin;
|
|
18
|
+
//传入了importObjId参数,必须是工作区管理员权限
|
|
19
|
+
if (importObjId && !isSpaceAdmin) {
|
|
20
|
+
return res
|
|
21
|
+
.status(401)
|
|
22
|
+
.send({ status: "error", message: "Permission denied" });
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (importObjectHistoryId) {
|
|
26
|
+
const record = await getObject('queue_import_history').findOne(importObjectHistoryId);
|
|
27
|
+
if (!record) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`can not find queue_import_history record with given id "${importObjectHistoryId}"`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
if (!record.file) {
|
|
33
|
+
throw new Error(`Upload excel file, please.`);
|
|
34
|
+
}
|
|
35
|
+
fileId = record.file
|
|
36
|
+
importObjId = record.queue_import
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// if (!Steedos.hasFeature('metadata_api', spaceId)) {
|
|
40
|
+
// return res.status(403).send({ status: 'error', message: 'Please upgrade the platform license to Enterprise Edition' });
|
|
41
|
+
// }
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
let result = await importWithCmsFile(importObjId, userSession, importObjectHistoryId, fileId);
|
|
45
|
+
return res.status(200).send({ status: "success", result });
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.log(error)
|
|
48
|
+
return res
|
|
49
|
+
.status(500)
|
|
50
|
+
.send({ status: "failed", message: error.message });
|
|
51
|
+
}
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.log(error)
|
|
54
|
+
return res.status(500).send({ status: "failed", error: error.message });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
router.post('/api/data/initiateImport', requireAuthentication, initiateImport);
|
|
59
|
+
|
|
60
|
+
router.get('/api/data/download/template/:record_id', requireAuthentication, async function (req, res) {
|
|
61
|
+
try {
|
|
62
|
+
const { record_id } = req.params;
|
|
63
|
+
let queueImportDoc = await getObject("queue_import").findOne(record_id);
|
|
64
|
+
let fieldMaps = queueImportDoc.field_mappings;
|
|
65
|
+
if (_.isEmpty(fieldMaps)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
let json = {};
|
|
69
|
+
for (const fMap of fieldMaps) {
|
|
70
|
+
json[fMap.header] = null;
|
|
71
|
+
}
|
|
72
|
+
let xls = json2xls([json]);
|
|
73
|
+
res.writeHead(200, {
|
|
74
|
+
'Content-Type': 'application/octet-stream',
|
|
75
|
+
'Content-Disposition': 'attachment;filename=' + encodeURI(queueImportDoc.description + '.xlsx'),
|
|
76
|
+
'Access-Control-Expose-Headers': 'Content-Disposition'
|
|
77
|
+
});
|
|
78
|
+
res.end(xls, 'binary');
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error(error);
|
|
81
|
+
res.status(500).send({ error: error.message });
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
exports.default = router;
|
|
87
|
+
|