@steedos/service-core-objects 3.0.0-beta.104 → 3.0.0-beta.107

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.
Files changed (38) hide show
  1. package/main/default/applications/.gitkeep +0 -0
  2. package/main/default/applications/admin.app.yml +176 -0
  3. package/main/default/objectTranslations/announcements.en/announcements.en.objectTranslation.yml +37 -0
  4. package/main/default/objectTranslations/announcements.zh-CN/announcements.zh-CN.objectTranslation.yml +37 -0
  5. package/main/default/objectTranslations/audit_records.en/audit_records.en.objectTranslation.yml +1 -1
  6. package/main/default/objectTranslations/company.en/company.en.objectTranslation.yml +1 -1
  7. package/main/default/objectTranslations/logs.en/logs.en.objectTranslation.yml +1 -1
  8. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +3 -3
  9. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +1 -1
  10. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +1 -1
  11. package/main/default/objectTranslations/operation_logs.en/operation_logs.en.objectTranslation.yml +1 -1
  12. package/main/default/objectTranslations/organizations.en/organizations.en.objectTranslation.yml +1 -1
  13. package/main/default/objectTranslations/process_delegation_rules.en/process_delegation_rules.en.objectTranslation.yml +1 -1
  14. package/main/default/objectTranslations/sessions.en/sessions.en.objectTranslation.yml +1 -1
  15. package/main/default/objectTranslations/settings.en/settings.en.objectTranslation.yml +1 -1
  16. package/main/default/objectTranslations/space_users.en/space_users.en.objectTranslation.yml +1 -1
  17. package/main/default/objects/_base/base.client.js +113 -114
  18. package/main/default/objects/_base/base.object.js +217 -215
  19. package/main/default/objects/audit_records.object.yml +1 -1
  20. package/main/default/objects/company/company.object.yml +1 -1
  21. package/main/default/objects/logs/logs.object.yml +1 -1
  22. package/main/default/objects/object_fields/fields/description.field.yml +11 -2
  23. package/main/default/objects/object_fields/fields/required.field.yml +1 -1
  24. package/main/default/objects/object_functions/object_functions.object.yml +1 -1
  25. package/main/default/objects/object_webhooks/object_webhooks.object.yml +1 -1
  26. package/main/default/objects/permission_set/permission_set.object.yml +1 -1
  27. package/main/default/objects/sessions.object.yml +1 -1
  28. package/main/default/objects/space_users/fields/password_expired.field.yml +1 -1
  29. package/main/default/pages/about.page.amis.json +21 -4
  30. package/main/default/pages/apps_form.page.amis.json +1 -0
  31. package/main/default/tabs/admin_bull_dashboard.tab.yml +2 -1
  32. package/main/default/tabs/admin_object_functions.tab.yml +21 -0
  33. package/main/default/tabs/admin_swagger.tab.yml +22 -0
  34. package/main/default/translations/en.translation.yml +2 -2
  35. package/package.json +3 -3
  36. package/public/platform.css +5 -0
  37. package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +0 -211
  38. package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +0 -208
File without changes
@@ -0,0 +1,176 @@
1
+ name: Setup
2
+ code: admin
3
+ description: 管理员设置公司、人员、权限等。
4
+ icon: ion-ios-people-outline
5
+ icon_slds: settings
6
+ is_creator: true
7
+ showSidebar: true
8
+ mobile: true
9
+ tab_groups:
10
+ - group_name: personal_settings
11
+ - group_name: company_settings
12
+ - group_name: apps
13
+ - group_name: object_settings
14
+ - group_name: user_interface
15
+ - group_name: statistical_analysis
16
+ default_open: false
17
+ - group_name: process_automation
18
+ default_open: false
19
+ - group_name: approval_workflow
20
+ default_open: false
21
+ - group_name: development
22
+ default_open: false
23
+ - group_name: advanced_settings
24
+ default_open: false
25
+ tab_items:
26
+ # admin_space_user_info:
27
+ # group: 个人设置
28
+ # index: 1
29
+ admin_personal_information:
30
+ group: personal_settings
31
+ index: 1
32
+ admin_space_info:
33
+ group: company_settings
34
+ index: 3
35
+ admin_company:
36
+ group: company_settings
37
+ index: 4
38
+ admin_organizations:
39
+ group: company_settings
40
+ index: 5
41
+ admin_space_users:
42
+ group: company_settings
43
+ index: 6
44
+ admin_permission_set:
45
+ group: company_settings
46
+ index: 7
47
+ admin_license:
48
+ group: company_settings
49
+ index: 9
50
+ admin_objects:
51
+ group: apps
52
+ index: 10
53
+ admin_pages:
54
+ group: apps
55
+ index: 11
56
+ admin_tabs:
57
+ group: apps
58
+ index: 12
59
+ admin_apps:
60
+ group: apps
61
+ index: 13
62
+ # admin_queue_import:
63
+ # group: apps
64
+ # index: 18
65
+ # admin_datasources:
66
+ # group: apps
67
+ # index: 20
68
+ admin_steedos_packages:
69
+ group: apps
70
+ index: 18
71
+ admin_developer:
72
+ group: development
73
+ index: 19.50
74
+ # admin_metadata:
75
+ # group: development
76
+ # index: 19.505
77
+ admin_process_definition:
78
+ group: process_automation
79
+ index: 20
80
+ admin_workflow_rule:
81
+ group: process_automation
82
+ index: 21
83
+ admin_action_field_updates:
84
+ group: process_automation
85
+ index: 23
86
+ admin_workflow_notifications:
87
+ group: process_automation
88
+ index: 24
89
+ admin_workflow_outbound_messages:
90
+ group: process_automation
91
+ index: 25
92
+ # admin_flows:
93
+ # group: approval_workflow
94
+ # index: 20
95
+ # admin_roles:
96
+ # group: approval_workflow
97
+ # index: 25
98
+ # admin_flow_roles:
99
+ # group: approval_workflow
100
+ # index: 26
101
+ # admin_flow_positions:
102
+ # group: approval_workflow
103
+ # index: 26.5
104
+ # admin_categories:
105
+ # group: approval_workflow
106
+ # index: 28
107
+ # admin_instance_number_rules:
108
+ # group: approval_workflow
109
+ # index: 29
110
+ # admin_space_user_signs:
111
+ # group: approval_workflow
112
+ # index: 30
113
+ # admin_instances_statistic:
114
+ # group: approval_workflow
115
+ # index: 31
116
+ # admin_webhooks:
117
+ # group: approval_workflow
118
+ # index: 32
119
+ # admin_object_workflows:
120
+ # group: approval_workflow
121
+ # index: 33
122
+ admin_sessions:
123
+ group: advanced_settings
124
+ index: 34
125
+ # admin_dashboard:
126
+ # group: 高级设置
127
+ # index: 35
128
+ admin_autonumber:
129
+ group: advanced_settings
130
+ index: 37
131
+ # admin_web_forms:
132
+ # group: 高级设置
133
+ # index: 38
134
+ # admin_holidays:
135
+ # group: advanced_settings
136
+ # index: 39
137
+ # admin_business_hours:
138
+ # group: advanced_settings
139
+ # index: 40
140
+ # admin_object_webhooks:
141
+ # group: 高级设置
142
+ # index: 41
143
+ admin_api_keys:
144
+ group: development
145
+ index: 41
146
+ admin_swagger:
147
+ group: development
148
+ index: 42
149
+ admin_developer_triggers:
150
+ group: development
151
+ index: 42.2
152
+ admin_object_functions:
153
+ group: development
154
+ index: 42.3
155
+ admin_object_webhooks:
156
+ group: development
157
+ index: 42.5
158
+ admin_bull_dashboard:
159
+ group: development
160
+ index: 43
161
+ admin_settings:
162
+ group: advanced_settings
163
+ index: 50
164
+ admin_logs:
165
+ group: advanced_settings
166
+ index: 52
167
+ admin_audit_records:
168
+ group: advanced_settings
169
+ index: 36
170
+ admin_operation_logs:
171
+ group: advanced_settings
172
+ index: 60
173
+ objects: []
174
+ sort: 999999
175
+ #url: /app/admin
176
+ visible: true
@@ -0,0 +1,37 @@
1
+ name: announcements
2
+ label: Announcement
3
+ description:
4
+ fields:
5
+ name:
6
+ label: Title
7
+ help:
8
+ description:
9
+ body:
10
+ label: Main Body
11
+ help:
12
+ description:
13
+ members:
14
+ label: User Members
15
+ help:
16
+ description:
17
+ organizations:
18
+ label: Organization Members
19
+ help:
20
+ description:
21
+ created:
22
+ label: Creation Time
23
+ help:
24
+ description:
25
+ created_by:
26
+ label: Created by
27
+ help:
28
+ description:
29
+ modified_by:
30
+ label: Modified by
31
+ help:
32
+ description:
33
+ groups:
34
+ members: Members
35
+ listviews:
36
+ all:
37
+ label: All Announcements
@@ -0,0 +1,37 @@
1
+ name: announcements
2
+ label: 公告
3
+ description:
4
+ fields:
5
+ name:
6
+ label: 标题
7
+ help:
8
+ description:
9
+ body:
10
+ label: 正文
11
+ help:
12
+ description:
13
+ members:
14
+ label: 人员
15
+ help:
16
+ description:
17
+ organizations:
18
+ label: 部门
19
+ help:
20
+ description:
21
+ created:
22
+ label: 发布时间
23
+ help:
24
+ description:
25
+ created_by:
26
+ label: 发布人
27
+ help:
28
+ description:
29
+ modified_by:
30
+ label: 修改人
31
+ help:
32
+ description:
33
+ groups:
34
+ members: 发布对象
35
+ listviews:
36
+ all:
37
+ label: 所有公告
@@ -1,5 +1,5 @@
1
1
  name: audit_records
2
- label: Audit Record
2
+ label: Audit Records
3
3
  description:
4
4
  fields:
5
5
  related_to:
@@ -1,5 +1,5 @@
1
1
  name: company
2
- label: Division
2
+ label: Divisions
3
3
  description:
4
4
  fields:
5
5
  name:
@@ -1,5 +1,5 @@
1
1
  name: logs
2
- label: Logs
2
+ label: System Logs
3
3
  description:
4
4
  fields:
5
5
  name:
@@ -88,7 +88,7 @@ fields:
88
88
  description:
89
89
  coordinatesType:
90
90
  label: Coordinates Type
91
- help:
91
+ help: "Coordinate system type: The default Baidu coordinate is 'bd09'. When using Autonavi Maps, it should be set to 'gcj02'. Autonavi Maps does not support coordinate conversion"
92
92
  description:
93
93
  reference_to:
94
94
  label: Reference to
@@ -340,11 +340,11 @@ fields:
340
340
  help:
341
341
  description:
342
342
  searchable:
343
- label: Enable full-text search
343
+ label: Enable quick search on the list page
344
344
  help:
345
345
  description:
346
346
  filterable:
347
- label: Filterable
347
+ label: Default Filter Field
348
348
  help:
349
349
  description:
350
350
  show_as_qr:
@@ -35,7 +35,7 @@ fields:
35
35
  description:
36
36
  coordinatesType:
37
37
  label: 坐标类型
38
- help:
38
+ help: 坐标系类型,默认百度坐标'bd09',使用高德地图时应设置为'gcj02', 高德地图不支持坐标转换
39
39
  description:
40
40
  create:
41
41
  label: 弹出选择时允许新建
@@ -1,5 +1,5 @@
1
1
  name: objects
2
- label: Object
2
+ label: Objects
3
3
  description:
4
4
  fields:
5
5
  datasource:
@@ -1,5 +1,5 @@
1
1
  name: operation_logs
2
- label: Security Log
2
+ label: Security Logs
3
3
  description:
4
4
  fields:
5
5
  data:
@@ -1,5 +1,5 @@
1
1
  name: organizations
2
- label: Organizational Structures
2
+ label: Organizations
3
3
  description:
4
4
  fields:
5
5
  name:
@@ -1,5 +1,5 @@
1
1
  name: process_delegation_rules
2
- label: Delegation
2
+ label: Process Delegation
3
3
  description:
4
4
  fields:
5
5
  from:
@@ -1,5 +1,5 @@
1
1
  name: sessions
2
- label: Session
2
+ label: Login Sessions
3
3
  description:
4
4
  fields:
5
5
  name:
@@ -1,5 +1,5 @@
1
1
  name: settings
2
- label: Setting
2
+ label: System Settings
3
3
  description:
4
4
  fields:
5
5
  type:
@@ -1,5 +1,5 @@
1
1
  name: space_users
2
- label: User
2
+ label: Users
3
3
  description:
4
4
  fields:
5
5
  name:
@@ -52,120 +52,119 @@ Steedos.StandardObjects = {
52
52
  return permissions && permissions["allowDelete"];
53
53
  }
54
54
  },
55
- // standard_approve:{
56
- // visible: function (object_name, record_id, record_permissions, props) {
57
- // return false;
58
- // // if (!Session.get("record_id")) {
59
- // // /*只在详细界面显示这个action*/
60
- // // return false;
61
- // // }
62
- // // var object_workflow, record;
63
- // // if (record_permissions && !record_permissions["allowEdit"]) {
64
- // // return false;
65
- // // }
66
- // // record = props.record;
67
- // // // record_permissions = Creator.getRecordPermissions(object_name, record, Meteor.userId());
68
- // // // if (record_permissions && !record_permissions["allowEdit"]) {
69
- // // // return false;
70
- // // // }
71
- // // object_workflow = _.find(Creator.object_workflows, function (ow) {
72
- // // return ow.object_name === object_name && (!ow.sync_direction || ow.sync_direction == 'both' || ow.sync_direction == 'obj_to_ins');
73
- // // });
74
- // // if (!object_workflow) {
75
- // // return false;
76
- // // }
77
- // // if (record && record.instances && record.instances.length > 0) {
78
- // // return false;
79
- // // }else if(record && !_.has(record,'instances') ){
80
- // // // 如果record存在,且record的instances字段不存在,则再查询一次
81
- // // var queryResult = Steedos.authRequest("/graphql", {
82
- // // type: 'POST',
83
- // // async: false,
84
- // // data: JSON.stringify({
85
- // // query: `{record:${object_name}__findOne(id: "${record_id}"){instances}}`
86
- // // }),
87
- // // contentType: 'application/json',
88
- // // error: function () { }
89
- // // });
90
- // // var recordDoc = queryResult && queryResult.data && queryResult.data.record;
91
- // // if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
92
- // // return false;
93
- // // }
94
- // // }
95
- // // return true;
96
- // }
97
- // },
98
- // standard_view_instance:{
99
- // visible: function (object_name, record_id, record_permissions, props) {
100
- // if (!Session.get("record_id")) {
101
- // /*只在详细界面显示这个action*/
102
- // return false;
103
- // }
104
- // var record = props.record;
105
- // if (record && !_.isEmpty(record.instances)) {
106
- // return true;
107
- // }else if(record && !_.has(record,'instances') ){
108
- // // 如果record存在且record的instances字段不存在,则再查询一次
109
- // var queryResult = Steedos.authRequest("/graphql", {
110
- // type: 'POST',
111
- // async: false,
112
- // data: JSON.stringify({
113
- // query: `{record:${object_name}__findOne(id: "${record_id}"){instances}}`
114
- // }),
115
- // contentType: 'application/json',
116
- // error: function () { }
117
- // });
118
- // var recordDoc = queryResult && queryResult.data && queryResult.data.record;
119
- // if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
120
- // return true;
121
- // }
122
- // }
123
- // return false;
124
- // },
125
- // todo: function () {
126
- // console.log(this)
127
- // var record = this.record.record;
128
- // var data, instanceId, uobj, url;
129
- // if (!record.instances || !record.instances[0]) {
130
- // // 如果record存在且record的instances字段不存在,则再查询一次
131
- // var queryResult = Steedos.authRequest("/graphql", {
132
- // type: 'POST',
133
- // async: false,
134
- // data: JSON.stringify({
135
- // query: `{record:${this.object_name}__findOne(id: "${this.record_id}"){instances}}`
136
- // }),
137
- // contentType: 'application/json',
138
- // error: function () { }
139
- // });
140
- // var recordDoc = queryResult && queryResult.data && queryResult.data.record;
141
- // if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
142
- // instanceId = recordDoc.instances[0]._id;
143
- // }
144
- // } else {
145
- // instanceId = record.instances[0]._id;
146
- // }
147
- // if (!instanceId) {
148
- // console.error('instanceId not exists');
149
- // return;
150
- // }
151
- // Steedos.authRequest(Steedos.absoluteUrl(`api/workflow/instance/check_is_removed/${instanceId}`), {
152
- // type: 'POST',
153
- // async: false,
154
- // data: JSON.stringify({
155
- // objectName: this.object_name,
156
- // recordId: this.record_id
157
- // }),
158
- // contentType: 'application/json',
159
- // success: function (res) {
160
- // Steedos.openWindow(Steedos.absoluteUrl(`api/workflow/instance/${instanceId}`))
161
- // },
162
- // error: function (res) {
163
- // // toastr.error('未找到申请单,可能已被删除,请重新发起审批。');
164
- // FlowRouter.reload();
165
- // }
166
- // });
167
- // }
168
- // },
55
+ standard_approve:{
56
+ visible: function (object_name, record_id, record_permissions, props) {
57
+ if (!record_id) {
58
+ /*只在详细界面显示这个action*/
59
+ return false;
60
+ }
61
+ var object_workflow, record;
62
+ if (record_permissions && !record_permissions["allowEdit"]) {
63
+ return false;
64
+ }
65
+ record = props.record;
66
+ // record_permissions = Creator.getRecordPermissions(object_name, record, Meteor.userId());
67
+ // if (record_permissions && !record_permissions["allowEdit"]) {
68
+ // return false;
69
+ // }
70
+ object_workflow = _.find(Steedos.object_workflows, function (ow) {
71
+ return ow.object_name === object_name && (!ow.sync_direction || ow.sync_direction == 'both' || ow.sync_direction == 'obj_to_ins');
72
+ });
73
+ if (!object_workflow) {
74
+ return false;
75
+ }
76
+ if (record && record.instances && record.instances.length > 0) {
77
+ return false;
78
+ }else if(record && !_.has(record,'instances') ){
79
+ // 如果record存在,且recordinstances字段不存在,则再查询一次
80
+ var queryResult = Steedos.authRequest("/graphql", {
81
+ type: 'POST',
82
+ async: false,
83
+ data: JSON.stringify({
84
+ query: `{record:${object_name}__findOne(id: "${record_id}"){instances}}`
85
+ }),
86
+ contentType: 'application/json',
87
+ error: function () { }
88
+ });
89
+ var recordDoc = queryResult && queryResult.data && queryResult.data.record;
90
+ if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
91
+ return false;
92
+ }
93
+ }
94
+ return true;
95
+ }
96
+ },
97
+ standard_view_instance:{
98
+ visible: function (object_name, record_id, record_permissions, props) {
99
+ if (!record_id) {
100
+ /*只在详细界面显示这个action*/
101
+ return false;
102
+ }
103
+ var record = props.record;
104
+ if (record && !_.isEmpty(record.instances)) {
105
+ return true;
106
+ }else if(record && !_.has(record,'instances') ){
107
+ // 如果record存在且recordinstances字段不存在,则再查询一次
108
+ var queryResult = Steedos.authRequest("/graphql", {
109
+ type: 'POST',
110
+ async: false,
111
+ data: JSON.stringify({
112
+ query: `{record:${object_name}__findOne(id: "${record_id}"){instances}}`
113
+ }),
114
+ contentType: 'application/json',
115
+ error: function () { }
116
+ });
117
+ var recordDoc = queryResult && queryResult.data && queryResult.data.record;
118
+ if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
119
+ return true;
120
+ }
121
+ }
122
+ return false;
123
+ },
124
+ todo: function () {
125
+ console.log(this)
126
+ var record = this.record.record;
127
+ var data, instanceId, uobj, url;
128
+ if (!record.instances || !record.instances[0]) {
129
+ // 如果record存在且recordinstances字段不存在,则再查询一次
130
+ var queryResult = Steedos.authRequest("/graphql", {
131
+ type: 'POST',
132
+ async: false,
133
+ data: JSON.stringify({
134
+ query: `{record:${this.object_name}__findOne(id: "${this.record_id}"){instances}}`
135
+ }),
136
+ contentType: 'application/json',
137
+ error: function () { }
138
+ });
139
+ var recordDoc = queryResult && queryResult.data && queryResult.data.record;
140
+ if (recordDoc && recordDoc.instances && recordDoc.instances.length > 0) {
141
+ instanceId = recordDoc.instances[0]._id;
142
+ }
143
+ } else {
144
+ instanceId = record.instances[0]._id;
145
+ }
146
+ if (!instanceId) {
147
+ console.error('instanceId not exists');
148
+ return;
149
+ }
150
+ Steedos.authRequest(Steedos.absoluteUrl(`api/workflow/instance/check_is_removed/${instanceId}`), {
151
+ type: 'POST',
152
+ async: false,
153
+ data: JSON.stringify({
154
+ objectName: this.object_name,
155
+ recordId: this.record_id
156
+ }),
157
+ contentType: 'application/json',
158
+ success: function (res) {
159
+ Steedos.openWindow(Steedos.absoluteUrl(`api/workflow/instance/${instanceId}`))
160
+ },
161
+ error: function (res) {
162
+ // toastr.error('未找到申请单,可能已被删除,请重新发起审批。');
163
+ FlowRouter.reload();
164
+ }
165
+ });
166
+ }
167
+ },
169
168
  standard_submit_for_approval:{
170
169
  visible: function (object_name, record_id) {
171
170
  return Steedos.ProcessManager.allowSubmit(object_name, record_id);