@steedos/service-core-objects 3.0.0-beta.99 → 3.0.0

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 (79) hide show
  1. package/README.md +3 -3
  2. package/main/default/applications/.gitkeep +0 -0
  3. package/main/default/applications/admin.app.yml +179 -0
  4. package/main/default/client/socket.client.js +1 -1
  5. package/main/default/objectTranslations/announcements.en/announcements.en.objectTranslation.yml +37 -0
  6. package/main/default/objectTranslations/announcements.zh-CN/announcements.zh-CN.objectTranslation.yml +37 -0
  7. package/main/default/objectTranslations/audit_records.en/audit_records.en.objectTranslation.yml +1 -1
  8. package/main/default/objectTranslations/company.en/company.en.objectTranslation.yml +1 -1
  9. package/main/default/objectTranslations/logs.en/logs.en.objectTranslation.yml +1 -1
  10. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +3 -3
  11. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +1 -1
  12. package/main/default/objectTranslations/object_functions.en/object_functions.en.objectTranslation.yml +1 -5
  13. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +1 -5
  14. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +1 -1
  15. package/main/default/objectTranslations/operation_logs.en/operation_logs.en.objectTranslation.yml +1 -1
  16. package/main/default/objectTranslations/organizations.en/organizations.en.objectTranslation.yml +1 -1
  17. package/main/default/objectTranslations/process_delegation_rules.en/process_delegation_rules.en.objectTranslation.yml +1 -1
  18. package/main/default/objectTranslations/reports.en/reports.en.objectTranslation.yml +7 -1
  19. package/main/default/objectTranslations/reports.zh-CN/reports.zh-CN.objectTranslation.yml +7 -1
  20. package/main/default/objectTranslations/sessions.en/sessions.en.objectTranslation.yml +1 -1
  21. package/main/default/objectTranslations/settings.en/settings.en.objectTranslation.yml +1 -1
  22. package/main/default/objectTranslations/space_users.en/space_users.en.objectTranslation.yml +1 -1
  23. package/main/default/objects/_base/base.client.js +113 -114
  24. package/main/default/objects/_base/base.object.js +225 -217
  25. package/main/default/objects/_base/base.recordFieldAudit.trigger.js +3 -0
  26. package/main/default/objects/_base/base.trigger.js +7 -144
  27. package/main/default/objects/audit_records.object.yml +1 -1
  28. package/main/default/objects/cms_files/cms_files.object.yml +1 -1
  29. package/main/default/objects/company/company.object.yml +1 -1
  30. package/main/default/objects/license.object.yml +13 -33
  31. package/main/default/objects/logs/logs.object.yml +1 -1
  32. package/main/default/objects/notifications/fields/related_to.field.yml +12 -4
  33. package/main/default/objects/object_fields/fields/description.field.yml +11 -2
  34. package/main/default/objects/object_fields/fields/required.field.yml +1 -1
  35. package/main/default/objects/object_fields/listviews/all.listview.yml +1 -1
  36. package/main/default/objects/object_functions/buttons/open_api.button.yml +1 -3
  37. package/main/default/objects/object_functions/fields/script.field.yml +3 -2
  38. package/main/default/objects/object_functions/listviews/all.listview.yml +0 -1
  39. package/main/default/objects/object_functions/listviews/customize.listview.yml +0 -1
  40. package/main/default/objects/object_functions/object_functions.object.yml +1 -1
  41. package/main/default/objects/object_listviews/fields/extra_columns.field.yml +1 -1
  42. package/main/default/objects/object_triggers/fields/handler.field.yml +3 -2
  43. package/main/default/objects/object_webhooks/object_webhooks.object.yml +1 -1
  44. package/main/default/objects/objects/buttons/show_object.button.js +1 -1
  45. package/main/default/objects/permission_set/buttons/copy.button.yml +114 -0
  46. package/main/default/objects/permission_set/buttons/set_permission_tabs.button.yml +166 -0
  47. package/main/default/objects/{permission_set.object.yml → permission_set/permission_set.object.yml} +1 -1
  48. package/main/default/objects/reports.object.yml +125 -258
  49. package/main/default/objects/roles.object.yml +1 -0
  50. package/main/default/objects/sessions.object.yml +1 -1
  51. package/main/default/objects/space_users/buttons/clear_login_tokens.button.yml +1 -1
  52. package/main/default/objects/space_users/buttons/setPassword.button.js +12 -12
  53. package/main/default/objects/space_users/fields/password_expired.field.yml +1 -1
  54. package/main/default/pages/about.page.amis.json +21 -4
  55. package/main/default/pages/apps_form.page.amis.json +2 -1
  56. package/main/default/pages/cfs_files_record_preview.page.amis.json +8 -8
  57. package/main/default/pages/cms_files_preview.page.amis.json +7 -7
  58. package/main/default/pages/object_detail.page.amis.json +1 -1
  59. package/main/default/pages/space_users_list.page.amis.json +5 -2
  60. package/main/default/routes/amis_button_design.router.js +2 -12
  61. package/main/default/routes/amis_listview_design.router.js +2 -11
  62. package/main/default/routes/object_fields_design.ejs +2 -1
  63. package/main/default/routes/object_fields_design.router.js +1 -14
  64. package/main/default/services/spaces.service.js +1 -1
  65. package/main/default/services/users.service.js +5 -2
  66. package/main/default/tabs/admin_bull_dashboard.tab.yml +2 -1
  67. package/main/default/tabs/admin_object_functions.tab.yml +21 -0
  68. package/main/default/tabs/admin_swagger.tab.yml +22 -0
  69. package/main/default/translations/en.translation.yml +2 -2
  70. package/main/default/triggers/space_users.trigger.js +3 -3
  71. package/package.json +3 -4
  72. package/public/platform.css +5 -0
  73. package/main/default/objectTranslations/forms.en/forms.en.objectTranslation.yml +0 -191
  74. package/main/default/objectTranslations/forms.zh-CN/forms.zh-CN.objectTranslation.yml +0 -194
  75. package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +0 -211
  76. package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +0 -208
  77. package/main/default/objects/object_functions/fields/is_rest.field.yml +0 -5
  78. package/main/default/objects/spaces/buttons/upgrade.button.js +0 -12
  79. package/main/default/objects/spaces/buttons/upgrade.button.yml +0 -4
@@ -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);