@steedos/service-core-objects 3.0.0-beta.10 → 3.0.0-beta.100

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 (162) hide show
  1. package/main/default/client/{topic.client.js → css.client.js} +2 -1
  2. package/main/default/client/socket.client.js +118 -0
  3. package/main/default/objectTranslations/base.en/base.en.objectTranslation.yml +6 -0
  4. package/main/default/objectTranslations/base.zh-CN/base.zh-CN.objectTranslation.yml +6 -0
  5. package/main/default/objectTranslations/cms_files.en/cms_files.en.objectTranslation.yml +7 -1
  6. package/main/default/objectTranslations/cms_files.zh-CN/cms_files.zh-CN.objectTranslation.yml +7 -1
  7. package/main/default/objectTranslations/company.en/company.en.objectTranslation.yml +5 -0
  8. package/main/default/objectTranslations/company.zh-CN/company.zh-CN.objectTranslation.yml +5 -0
  9. package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +1 -1
  10. package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +56 -0
  11. package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +53 -0
  12. package/main/default/objectTranslations/license.en/license.en.objectTranslation.yml +1 -1
  13. package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml +5 -0
  14. package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +6 -1
  15. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +1 -5
  16. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +3 -3
  17. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +1 -1
  18. package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +1 -1
  19. package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +3 -1
  20. package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +5 -3
  21. package/main/default/objectTranslations/object_triggers.en/object_triggers.en.objectTranslation.yml +9 -0
  22. package/main/default/objectTranslations/object_triggers.zh-CN/object_triggers.zh-CN.objectTranslation.yml +9 -0
  23. package/main/default/objectTranslations/object_validation_rules.en/object_validation_rules.en.objectTranslation.yml +3 -3
  24. package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +12 -6
  25. package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +12 -6
  26. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +43 -18
  27. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +59 -25
  28. package/main/default/objectTranslations/operation_logs.en/operation_logs.en.objectTranslation.yml +66 -0
  29. package/main/default/objectTranslations/operation_logs.zh-CN/operation_logs.zh-CN.objectTranslation.yml +66 -0
  30. package/main/default/objectTranslations/settings.en/settings.en.objectTranslation.yml +9 -0
  31. package/main/default/objectTranslations/settings.zh-CN/settings.zh-CN.objectTranslation.yml +9 -0
  32. package/main/default/objectTranslations/space_users.en/space_users.en.objectTranslation.yml +17 -0
  33. package/main/default/objectTranslations/space_users.zh-CN/space_users.zh-CN.objectTranslation.yml +17 -1
  34. package/main/default/objects/_base/base.client.js +11 -10
  35. package/main/default/objects/_base/base.object.js +279 -105
  36. package/main/default/objects/_base/base.object.yml +8 -0
  37. package/main/default/objects/announcements.object.yml +68 -0
  38. package/main/default/objects/api_keys/buttons/copy.button.yml +1 -1
  39. package/main/default/objects/apps/apps.object.yml +25 -69
  40. package/main/default/objects/apps/buttons/disable.button.js +9 -7
  41. package/main/default/objects/apps/buttons/enable.button.js +9 -7
  42. package/main/default/objects/audit_records.object.yml +1 -1
  43. package/main/default/objects/cms_files/buttons/download.button.yml +1 -1
  44. package/main/default/objects/cms_files/cms_files.object.yml +6 -5
  45. package/main/default/objects/company/buttons/updateOrgs.button.yml +3 -6
  46. package/main/default/objects/favorites.object.yml +65 -0
  47. package/main/default/objects/keyvalue/keyvalue.object.yml +1 -0
  48. package/main/default/objects/logs/logs.object.yml +1 -0
  49. package/main/default/objects/object_actions/buttons/showDesign.button.js +5 -1
  50. package/main/default/objects/object_actions/fields/is_system.field.yml +1 -1
  51. package/main/default/objects/object_fields/buttons/recomputeFormulaValues.button.js +6 -2
  52. package/main/default/objects/object_fields/buttons/recomputeSummaryValues.button.js +6 -2
  53. package/main/default/objects/object_fields/buttons/standard_new.button.js +1 -1
  54. package/main/default/objects/object_fields/fields/_name.field.yml +1 -0
  55. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +28 -13
  56. package/main/default/objects/object_fields/fields/name.field.yml +1 -0
  57. package/main/default/objects/object_fields/fields/options.field.yml +1 -0
  58. package/main/default/objects/object_fields/fields/summary_filters.$.field.field.yml +16 -9
  59. package/main/default/objects/object_fields/fields/summary_filters.$.operation.field.yml +26 -29
  60. package/main/default/objects/object_fields/listviews/all.listview.yml +3 -1
  61. package/main/default/objects/object_fields/listviews/customize.listview.yml +3 -1
  62. package/main/default/objects/object_functions/fields/script.field.yml +1 -1
  63. package/main/default/objects/object_listviews/buttons/customize.button.js +36 -30
  64. package/main/default/objects/object_listviews/buttons/showDesign.button.js +6 -6
  65. package/main/default/objects/object_listviews/fields/adaptor.field.yml +2 -2
  66. package/main/default/objects/object_listviews/fields/crudDataFilter.field.yml +10 -0
  67. package/main/default/objects/object_listviews/fields/enable_amis_schema.field.yml +1 -0
  68. package/main/default/objects/object_listviews/fields/extra_columns.field.yml +18 -0
  69. package/main/default/objects/object_listviews/fields/requestAdaptor.field.yml +2 -2
  70. package/main/default/objects/object_listviews/object_listviews.object.yml +1 -1
  71. package/main/default/objects/object_triggers/fields/handler.field.yml +1 -1
  72. package/main/default/objects/object_webhooks/fields/fields.field.yml +1 -1
  73. package/main/default/objects/object_webhooks/object_webhooks.object.yml +1 -0
  74. package/main/default/objects/objects/buttons/custom.button.js +6 -35
  75. package/main/default/objects/objects/buttons/custom.button.yml +81 -1
  76. package/main/default/objects/objects/buttons/delete_object.button.yml +5 -4
  77. package/main/default/objects/objects/buttons/design_fields_layout.button.js +5 -2
  78. package/main/default/objects/objects/buttons/design_fields_layout.button.yml +1 -1
  79. package/main/default/objects/objects/buttons/reset.button.yml +6 -5
  80. package/main/default/objects/objects/buttons/show_object.button.js +2 -29
  81. package/main/default/objects/objects/fields/compactLayouts.field.yml +2 -2
  82. package/main/default/objects/objects/fields/enable_audit.field.yml +5 -0
  83. package/main/default/objects/objects/fields/enable_chatter.field.yml +5 -4
  84. package/main/default/objects/objects/fields/enable_dataloader.field.yml +0 -1
  85. package/main/default/objects/objects/fields/enable_enhanced_lookup.field.yml +0 -4
  86. package/main/default/objects/objects/fields/enable_events.field.yml +2 -2
  87. package/main/default/objects/objects/fields/enable_files.field.yml +1 -1
  88. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +1 -2
  89. package/main/default/objects/objects/fields/enable_inline_edit.field.yml +1 -1
  90. package/main/default/objects/objects/fields/enable_instances.field.yml +2 -2
  91. package/main/default/objects/objects/fields/enable_lock_detail.field.yml +0 -1
  92. package/main/default/objects/objects/fields/enable_notes.field.yml +2 -2
  93. package/main/default/objects/objects/fields/enable_tasks.field.yml +1 -1
  94. package/main/default/objects/objects/fields/enable_tree.field.yml +0 -1
  95. package/main/default/objects/objects/fields/field_groups.field.yml +1 -1
  96. package/main/default/objects/objects/fields/in_development.field.yml +0 -1
  97. package/main/default/objects/objects/fields/is_deleted.field.yml +1 -0
  98. package/main/default/objects/objects/fields/name.field.yml +1 -4
  99. package/main/default/objects/objects/fields/table_name.field.yml +0 -1
  100. package/main/default/objects/objects/listviews/all.listview.yml +4 -1
  101. package/main/default/objects/objects/listviews/customize.listview.yml +3 -1
  102. package/main/default/objects/objects/listviews/deleted.listview.yml +3 -1
  103. package/main/default/objects/objects/listviews/metadata.listview.yml +3 -1
  104. package/main/default/objects/objects/listviews/system.listview.yml +3 -1
  105. package/main/default/objects/objects/objects.object.yml +1 -1
  106. package/main/default/objects/permission_set.object.yml +0 -4
  107. package/main/default/objects/queue_import.object.yml +16 -1
  108. package/main/default/objects/roles.object.yml +1 -5
  109. package/main/default/objects/space_users/buttons/clear_login_tokens.button.yml +3 -6
  110. package/main/default/objects/space_users/buttons/disable.button.yml +3 -7
  111. package/main/default/objects/space_users/buttons/enable.button.yml +3 -7
  112. package/main/default/objects/space_users/buttons/lockout.button.yml +3 -7
  113. package/main/default/objects/space_users/buttons/standard_edit.button.js +0 -1
  114. package/main/default/objects/space_users/buttons/unlock.button.yml +3 -7
  115. package/main/default/objects/space_users/fields/locale.field.yml +2 -1
  116. package/main/default/pages/apps_form.page.amis.json +333 -0
  117. package/main/default/pages/apps_form.page.yml +12 -0
  118. package/main/default/pages/cms_files_preview.page.amis.json +22 -3
  119. package/main/default/pages/object_detail.page.amis.json +17 -11
  120. package/main/default/pages/object_fields_form.page.amis.json +1 -12
  121. package/main/default/pages/object_form.page.amis.json +1 -1
  122. package/main/default/pages/object_validation_rules_form.page.amis.json +38 -0
  123. package/main/default/pages/object_validation_rules_form.page.yml +13 -0
  124. package/main/default/pages/object_webhooks_form.page.amis.json +1 -1
  125. package/main/default/pages/organizations.page.amis.json +0 -4
  126. package/main/default/pages/space_users_list.page.amis.json +129 -17
  127. package/main/default/routes/amis_button_design.ejs +4 -1
  128. package/main/default/routes/amis_button_design.router.js +4 -3
  129. package/main/default/routes/importRecords.router.js +87 -0
  130. package/main/default/routes/notifications.router.js +113 -0
  131. package/main/default/routes/object_fields_design.ejs +23 -9
  132. package/main/default/routes/object_fields_design.router.js +5 -4
  133. package/main/default/services/app-design.service.js +2 -1
  134. package/main/default/services/notifications.service.js +190 -0
  135. package/main/default/services/users.service.js +1 -1
  136. package/main/default/tabs/{admin_process_delegation_rules.tab.yml → admin_bull_dashboard.tab.yml} +9 -12
  137. package/main/default/translations/en.translation.yml +3 -2
  138. package/main/default/translations/zh-CN.translation.yml +3 -2
  139. package/main/default/triggers/objects_set_default_object_properties_trigger.trigger.yml +9 -6
  140. package/main/default/triggers/queue_import.trigger.js +16 -0
  141. package/package.json +4 -3
  142. package/package.service.js +3 -2
  143. package/public/platform.css +62 -0
  144. package/public/topic.css +17 -37
  145. package/main/default/objectTranslations/flow_positions.en/flow_positions.en.objectTranslation.yml +0 -19
  146. package/main/default/objectTranslations/flow_positions.zh-CN/flow_positions.zh-CN.objectTranslation.yml +0 -19
  147. package/main/default/objectTranslations/flow_roles.en/flow_roles.en.objectTranslation.yml +0 -11
  148. package/main/default/objectTranslations/flow_roles.zh-CN/flow_roles.zh-CN.objectTranslation.yml +0 -14
  149. package/main/default/objectTranslations/flows.en/flows.en.objectTranslation.yml +0 -317
  150. package/main/default/objectTranslations/flows.zh-CN/flows.zh-CN.objectTranslation.yml +0 -314
  151. package/main/default/objects/apps/buttons/amis_edit.button.yml +0 -39
  152. package/main/default/objects/apps/buttons/amis_new.button.yml +0 -43
  153. package/main/default/objects/flows/flows.object.yml +0 -1089
  154. package/main/default/objects/object_actions/buttons/customize.button.js +0 -33
  155. package/main/default/objects/object_actions/buttons/customize.button.yml +0 -3
  156. package/main/default/objects/object_listviews/buttons/copy.button.js +0 -58
  157. package/main/default/objects/object_listviews/buttons/copy.button.yml +0 -3
  158. package/main/default/objects/object_listviews/buttons/customize.button.yml +0 -3
  159. package/main/default/objects/objects/buttons/design_field_layout.button.js +0 -28
  160. package/main/default/objects/objects/buttons/design_field_layout.button.yml +0 -5
  161. package/main/default/objects/process_definition.object.yml +0 -323
  162. package/main/default/objects/space_users/fields/zoom.field.yml +0 -16
@@ -0,0 +1,190 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
2
+ const _ = require("lodash");
3
+ const objectql = require('@steedos/objectql');
4
+
5
+ module.exports = {
6
+ name: 'notifications',
7
+ namespace: "steedos",
8
+ mixins: [],
9
+ /**
10
+ * Settings
11
+ */
12
+ settings: {
13
+
14
+ },
15
+
16
+ /**
17
+ * Dependencies
18
+ */
19
+ dependencies: [],
20
+
21
+ /**
22
+ * Actions
23
+ */
24
+ actions: {
25
+ /**
26
+ * @api {post} add 发送通知
27
+ * @apiName add
28
+ * @apiGroup notifications.service.js
29
+ * @apiParam {Object} message 消息主体
30
+ * @apiParam {String} message[name] 消息标题
31
+ * @apiParam {String} message[body] 消息内容
32
+ * @apiParam {String} message[related_to] 关联记录
33
+ * @apiParam {String} message[related_name] 关联名称
34
+ * @apiParam {String} message[from] 发送者ID,选填
35
+ * @apiParam {String} message[space] 工作区ID
36
+ * @apiParam {String} from 发送者ID
37
+ * @apiParam {String[]} to 接受者ID
38
+ */
39
+ add: {
40
+ params: {
41
+ message: {
42
+ type: "object",
43
+ props: {
44
+ name: { type: "string" },
45
+ body: { type: "string" },
46
+ related_to: {
47
+ type: "object",
48
+ props: {
49
+ o: { type: "string" },
50
+ ids: { type: "array", items: "string" },
51
+ }
52
+ },
53
+ related_name: { type: "string", optional: true },
54
+ from: { type: "string", optional: true },
55
+ space: { type: "string" },
56
+ }
57
+ },
58
+ from: { type: "string" },
59
+ to: {
60
+ type: "multi",
61
+ rules: [
62
+ { type: "string" },
63
+ { type: "array", items: "string" }
64
+ ]
65
+ },
66
+ },
67
+ async handler(ctx) {
68
+ let { from, to, message } = ctx.params;
69
+ this.broker.emit('notifications.add', {from, to, message})
70
+
71
+
72
+ let notifications_ids = [];
73
+ if(!_.isArray(to) && _.isString(to)){
74
+ to = [to]
75
+ }
76
+
77
+ if (_.isEmpty(to)) {
78
+ return
79
+ }
80
+ let now = new Date();
81
+ const datasource = objectql.getDataSource('default');
82
+ const adapter = datasource.adapter
83
+ await adapter.connect()
84
+ const collection = adapter.collection('notifications');
85
+ let bulk = collection.initializeUnorderedBulkOp();
86
+
87
+ let doc = Object.assign({
88
+ created: now,
89
+ modified: now,
90
+ created_by: from,
91
+ modified_by: from
92
+ }, message)
93
+
94
+ for (const userId of to) {
95
+ let notifications_id = await objectql.getObject('notifications')._makeNewID();
96
+ bulk.insert(Object.assign({}, doc, {_id: notifications_id, owner: userId}));
97
+ notifications_ids.push(notifications_id)
98
+ }
99
+
100
+ bulk.execute().catch(function (error) {
101
+ console.error("通知数据插入失败,错误信息:", error);
102
+ });
103
+
104
+ try {
105
+ this.broker.emit(`notifications.hasBeenSent`, {
106
+ ids: notifications_ids
107
+ });
108
+ await ctx.broker.call('b6-microservice.broadcast', {name: '$notification.users', data: {tenantId: message.space, users: to, message: {name: message.name, body: message.body}}})
109
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
+ } catch (e) { console.log(e) }
111
+ }
112
+ },
113
+ /**
114
+ * @api {post} remove 删除通知
115
+ * @apiName remove
116
+ * @apiGroup notifications.service.js
117
+ * @apiParam {Object} doc 消息主体
118
+ * @apiParam {String} doc[_id] 消息ID
119
+ * @apiParam {String[]} assignees 接受者ID
120
+ * @apiParam {String} objectName 关联对象名称
121
+ */
122
+ remove: {
123
+ params: {
124
+ doc: {
125
+ type: "object",
126
+ props: {
127
+ _id: { type: "string" },
128
+ }
129
+ },
130
+ assignees: {
131
+ type: "array", items: "string"
132
+ },
133
+ objectName: { type: "string" },
134
+ },
135
+ async handler(ctx) {
136
+ const { doc, assignees, objectName } = ctx.params;
137
+ const datasource = objectql.getDataSource('default');
138
+ const adapter = datasource.adapter
139
+ await adapter.connect()
140
+ const collection = adapter.collection('notifications');
141
+ let bulk = collection.initializeUnorderedBulkOp();
142
+ assignees.forEach(function (assignee) {
143
+ bulk.find({
144
+ "related_to.o": objectName,
145
+ "related_to.ids": doc._id,
146
+ owner: assignee
147
+ }).remove();
148
+ });
149
+ return bulk.execute().catch(function (error) {
150
+ console.error("通知数据删除失败,错误信息:", error);
151
+ });
152
+ }
153
+ },
154
+ },
155
+
156
+ /**
157
+ * Events
158
+ */
159
+ events: {
160
+
161
+ },
162
+
163
+ /**
164
+ * Methods
165
+ */
166
+ methods: {
167
+
168
+ },
169
+
170
+ /**
171
+ * Service created lifecycle event handler
172
+ */
173
+ created() {
174
+
175
+ },
176
+
177
+ /**
178
+ * Service started lifecycle event handler
179
+ */
180
+ async started() {
181
+ this.broker.logger.info('[service][notifications]===>', 'started')
182
+ },
183
+
184
+ /**
185
+ * Service stopped lifecycle event handler
186
+ */
187
+ async stopped() {
188
+
189
+ }
190
+ };
@@ -156,7 +156,7 @@ module.exports = {
156
156
  }
157
157
  const steedosConfig = getSteedosConfig();
158
158
  const accountsConfig = steedosConfig.public.accounts || {};
159
- const usernameMinLength = accountsConfig.username_min_length ? Number(accountsConfig.username_min_length) : 6
159
+ const usernameMinLength = accountsConfig.username_min_length ? Number(accountsConfig.username_min_length) : 2
160
160
  if (username.length < usernameMinLength) {
161
161
  throw new Error(`用户名最小长度不能小于 ${usernameMinLength} 位字符`);
162
162
  }
@@ -1,24 +1,21 @@
1
- name: admin_process_delegation_rules
1
+ name: admin_bull_dashboard
2
2
  desktop: true
3
- icon: rtc_presence
4
- is_new_window: false
5
- label: 流程委托
3
+ icon: dashboard
4
+ is_new_window: true
5
+ label: Bull Dashboard
6
6
  mobile: true
7
7
  permissions:
8
- - permission: 'on'
9
- permission_set: admin
10
- - permission: 'on'
8
+ - permission: 'off'
11
9
  permission_set: user
12
10
  - permission: 'off'
13
11
  permission_set: customer
14
12
  - permission: 'off'
15
13
  permission_set: supplier
14
+ - permission: 'on'
15
+ permission_set: admin
16
16
  - permission: 'off'
17
17
  permission_set: organization_admin
18
18
  - permission: 'off'
19
19
  permission_set: workflow_admin
20
- type: object
21
- object: process_delegation_rules
22
- license:
23
- - platform-professional
24
- - platform-enterprise
20
+ type: url
21
+ url: /bull-jobs/dashboard/
@@ -84,7 +84,7 @@ CustomTabs:
84
84
  admin_space_users: Users
85
85
  admin_permission_set: Profiles & Permission Sets
86
86
  admin_personal_information: Personal Information
87
- admin_license:
87
+ admin_license: Licenses
88
88
  admin_apps: Apps
89
89
  admin_steedos_packages: Packages
90
90
  admin_objects: Objects
@@ -118,4 +118,5 @@ CustomTabs:
118
118
  admin_holidays: Holidays
119
119
  admin_business_hours: Business Hours
120
120
  admin_api_keys: API Keys
121
- admin_metadata: Metadata
121
+ admin_metadata: Metadata
122
+ admin_bull_dashboard: Bull Dashboard
@@ -82,7 +82,7 @@ CustomTabs:
82
82
  admin_company: 分部
83
83
  admin_space_users: 人员
84
84
  admin_permission_set: 简档 & 权限集
85
- admin_license:
85
+ admin_license: 许可证
86
86
  admin_apps: 应用程序
87
87
  admin_steedos_packages: 软件包
88
88
  admin_objects: 对象
@@ -117,4 +117,5 @@ CustomTabs:
117
117
  admin_holidays: 节假日
118
118
  admin_business_hours: 工作时间
119
119
  admin_api_keys: API Key
120
- admin_metadata: 元数据
120
+ admin_metadata: 元数据
121
+ admin_bull_dashboard: Bull仪表盘
@@ -5,7 +5,9 @@ when:
5
5
  isEnabled: true
6
6
  handler: |
7
7
  try{
8
- const { doc, userId } = ctx.params;
8
+ const { doc, userId, spaceId} = ctx.params;
9
+ const user = await ctx.getUser(userId, spaceId);
10
+
9
11
  // 插入默认字段
10
12
  await objects.object_fields.insert({
11
13
  object: doc.name,
@@ -20,7 +22,7 @@ handler: |
20
22
  index: true,
21
23
  searchable: true,
22
24
  filterable: true
23
- });
25
+ }, user);
24
26
 
25
27
  // 插入默认列表视图 "所有"
26
28
  await objects.object_listviews.insert({
@@ -34,13 +36,14 @@ handler: |
34
36
  crud_mode: 'table',
35
37
  type: 'grid',
36
38
  columns: [{ field: 'name' }],
39
+ is_enable: true,
37
40
  sort: [
38
41
  {
39
42
  field_name: "created",
40
43
  order: "desc"
41
44
  }
42
45
  ]
43
- });
46
+ }, user);
44
47
 
45
48
  // 插入默认列表视图 "最近查看"
46
49
  await objects.object_listviews.insert({
@@ -54,7 +57,7 @@ handler: |
54
57
  filter_scope: "space",
55
58
  crud_mode: 'table',
56
59
  columns: [{ field: 'name' }]
57
- });
60
+ }, user);
58
61
 
59
62
 
60
63
  const psUserId = "user"; // 用户权限集 ID
@@ -86,7 +89,7 @@ handler: |
86
89
  permission_set_id: psUserId,
87
90
  object_name: doc.name,
88
91
  space: doc.space
89
- });
92
+ }, user);
90
93
 
91
94
  // 插入管理员权限对象
92
95
  await objects.permission_objects.insert({
@@ -95,7 +98,7 @@ handler: |
95
98
  permission_set_id: psAdminId,
96
99
  object_name: doc.name,
97
100
  space: doc.space
98
- });
101
+ }, user);
99
102
  }catch(error){
100
103
  console.log(error)
101
104
  }
@@ -0,0 +1,16 @@
1
+
2
+ const objectql = require('@steedos/objectql');
3
+
4
+ module.exports = {
5
+ listenTo: 'queue_import',
6
+
7
+ afterFind: async function () {
8
+ if (this.data.values) {
9
+ for (const value of this.data.values) {
10
+ if (value) {
11
+ value.template_url = objectql.absoluteUrl(`/api/data/download/template/${value._id}`)
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-core-objects",
3
- "version": "3.0.0-beta.10",
3
+ "version": "3.0.0-beta.100",
4
4
  "main": "package.service.js",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -10,11 +10,12 @@
10
10
  "steedos"
11
11
  ],
12
12
  "dependencies": {
13
- "@steedos/service-package-loader": "3.0.0-beta.10",
13
+ "@steedos/service-package-loader": "3.0.0-beta.100",
14
+ "json2xls": "^0.1.2",
14
15
  "lodash": "^4.17.21"
15
16
  },
16
17
  "description": "steedos package",
17
18
  "repository": {},
18
19
  "license": "MIT",
19
- "gitHead": "7ad4c70eeca10e893ab638176fd92de84af29f76"
20
+ "gitHead": "89c69deb3ceb9d9e97c70ee23694ccecf1b4ce2b"
20
21
  }
@@ -31,7 +31,7 @@ module.exports = {
31
31
  $package: {
32
32
  path: __dirname,
33
33
  name: packageName,
34
- isPackage: true
34
+ isPackage: false
35
35
  }
36
36
  },
37
37
  /**
@@ -212,9 +212,10 @@ module.exports = {
212
212
  this.broker.createService({
213
213
  name: 'steedos-server',
214
214
  mixins: [],
215
+ dependencies: ['metadata-cachers-service'],
215
216
  actions: {
216
217
  setSettings(ctx) {
217
- console.log(`TODO setSettings:`, ctx.params)
218
+ global.Steedos.settings = _.defaultsDeep({}, ctx.params, global.Steedos.settings);
218
219
  }
219
220
  },
220
221
  started: function() {
@@ -0,0 +1,62 @@
1
+ :root {
2
+ --tw-border-opacity: 1;
3
+ --private: rgb(14 165 233 / var(--tw-border-opacity));
4
+ --primary-onHover: var(--colors-brand-9);
5
+ }
6
+
7
+ .ant-modal-mask{
8
+ z-index: 2999 !important;
9
+ }
10
+
11
+ .ant-modal-wrap{
12
+ z-index: 3999 !important;
13
+ }
14
+
15
+
16
+ .antd-PdfViewer-Tool svg{
17
+ display: inline !important;
18
+ }
19
+
20
+ .antd-PdfViewer-Tool .page-input {
21
+ background: transparent !important;
22
+ }
23
+
24
+ .antd-PdfViewer-Tool{
25
+ bottom: 10px !important;
26
+ }
27
+
28
+
29
+ .ant-notification{
30
+ z-index: 1900 !important;
31
+ }
32
+
33
+
34
+ .button_uninstall {
35
+ color: var(--button-danger-default-font-color);
36
+ background: var(--button-danger-default-bg-color);
37
+ border-color: var(--button-danger-default-top-border-color) var(--button-danger-default-right-border-color) var(--button-danger-default-bottom-border-color) var(--button-danger-default-left-border-color);
38
+ border-width: var(--button-danger-default-top-border-width) var(--button-danger-default-right-border-width) var(--button-danger-default-bottom-border-width) var(--button-danger-default-left-border-width);
39
+ border-style: var(--button-danger-default-top-border-style) var(--button-danger-default-right-border-style) var(--button-danger-default-bottom-border-style) var(--button-danger-default-left-border-style);
40
+ box-shadow: var(--button-danger-default-shadow);
41
+ }
42
+
43
+ .button_uninstall:hover {
44
+ color: var(--button-danger-hover-font-color) !important;
45
+ background: var(--button-danger-hover-bg-color) !important;
46
+ border-color: var(--button-danger-hover-top-border-color) var(--button-danger-hover-right-border-color) var(--button-danger-hover-bottom-border-color) var(--button-danger-hover-left-border-color);
47
+ border-width: 0px !important;
48
+ border-style: var(--button-danger-hover-top-border-style) var(--button-danger-hover-right-border-style) var(--button-danger-hover-bottom-border-style) var(--button-danger-hover-left-border-style);
49
+ box-shadow: var(--button-danger-hover-shadow)
50
+ }
51
+
52
+
53
+ /* .steedos-apps-home .antd-Panel .antd-Panel-body .app-item.app-item-_add_admin .slds-app-launcher__tile{
54
+ box-shadow: 0 0 2px var(--private), 0 2px 4px rgba(0, 0, 0, 0.14);
55
+ border: none;
56
+ } */
57
+
58
+
59
+ .antd-Pagination > li > a, .antd-Pagination > li > span {
60
+ line-height: 28px;
61
+ height: 28px;
62
+ }
package/public/topic.css CHANGED
@@ -1,7 +1,11 @@
1
1
  :root {
2
- --private: #1e3a8a;
3
- --private-bg: #1e3a8a38;
4
- --private-onHover-bg: #1e3a8a60;
2
+ --tw-bg-opacity: 0.1 !important;
3
+ --tw-onHover-opacity: 0.4;
4
+ --tw-onHover2-opacity: 0.5;
5
+ --private: rgb(14, 165, 233);
6
+ --private-bg: rgb(14, 165, 233, var(--tw-bg-opacity));
7
+ --private-onHover-bg: rgb(14, 165, 233, var(--tw-onHover-opacity));
8
+ --private-onHover-bg2: rgb(14, 165, 233, var(--tw-onHover2-opacity));
5
9
  --Tabs--line-onHover-borderColor: var(--private);
6
10
  --Tabs--line-active-color: var(--private);
7
11
  --SearchBox-hover-color: var(--private);
@@ -21,7 +25,15 @@
21
25
  --button-link-default-font-color: var(--private);
22
26
  --Toast-paddingY: 10px;
23
27
  --Toast-paddingX: 16px;
28
+
29
+ --dialog-header-color: var(--private);
30
+
31
+ --Form-item-fontSize: 14px !important;
32
+ --Table-thead-fontSize: 14px !important;
33
+ --Table-thead-fontSize: 14px !important;
34
+
24
35
  }
36
+
25
37
  .antd-Table-table td.is-sticky{
26
38
  background: unset !important;
27
39
  }
@@ -74,11 +86,11 @@
74
86
 
75
87
 
76
88
  .antd-Nav-Menu-light .antd-Nav-Menu-item.antd-Nav-Menu-item-selected {
77
- background: #1e3a8a30 !important;
89
+ background: var(--private-bg) !important;
78
90
  }
79
91
 
80
92
  .antd-Nav-Menu-light .antd-Nav-Menu-item.antd-Nav-Menu-item-active {
81
- background: #1e3a8a30 !important;
93
+ background: var(--private-bg) !important;
82
94
  }
83
95
 
84
96
  .steedos-record-related-header .slds-icon {
@@ -130,36 +142,4 @@ body a:hover {
130
142
 
131
143
  .ant-btn-primary{
132
144
  color: var(--private);
133
- }
134
-
135
- .ant-modal-mask{
136
- z-index: 2999 !important;
137
- }
138
-
139
- .ant-modal-wrap{
140
- z-index: 3999 !important;
141
- }
142
-
143
-
144
- .sidebar-wrapper{
145
- width: 240px !important;
146
- }
147
-
148
- @media (min-width: 768px) {
149
- body.sidebar.sidebar-open #main {
150
- margin-left: 240px !important;
151
- }
152
- }
153
-
154
-
155
- .antd-PdfViewer-Tool svg{
156
- display: inline !important;
157
- }
158
-
159
- .antd-PdfViewer-Tool .page-input {
160
- background: transparent !important;
161
- }
162
-
163
- .antd-PdfViewer-Tool{
164
- bottom: 10px !important;
165
145
  }
@@ -1,19 +0,0 @@
1
- name: flow_positions
2
- label: Workflow Position
3
- description:
4
- fields:
5
- role:
6
- label: Flow Role
7
- help:
8
- description:
9
- users:
10
- label: Users
11
- help:
12
- description:
13
- org:
14
- label: Department
15
- help:
16
- description:
17
- listviews:
18
- all:
19
- label: All Workflow Positions
@@ -1,19 +0,0 @@
1
- name: flow_positions
2
- label: 审批岗位成员
3
- description:
4
- fields:
5
- role:
6
- label: 审批岗位
7
- help:
8
- description:
9
- users:
10
- label: 成员
11
- help:
12
- description:
13
- org:
14
- label: 管辖范围
15
- help:
16
- description:
17
- listviews:
18
- all:
19
- label: 所有
@@ -1,11 +0,0 @@
1
- name: flow_roles
2
- label: Workflow Role
3
- description:
4
- fields:
5
- name:
6
- label: Name
7
- help:
8
- description:
9
- listviews:
10
- all:
11
- label: All Workflow Roles
@@ -1,14 +0,0 @@
1
- name: flow_roles
2
- label: 审批岗位
3
- description:
4
- fields:
5
- name:
6
- label: 名称
7
- help:
8
- description:
9
- listviews:
10
- all:
11
- label: 所有
12
- actions:
13
- customize:
14
- label: 自定义