cob-cli 2.8.1 → 2.12.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 (91) hide show
  1. package/customizations/dashboard.dash.js +11 -0
  2. package/customizations/dashboard.js +1 -0
  3. package/customizations/dashboard.simple.js +1 -1
  4. package/customizations/dashboard.vue.empty.js +1 -1
  5. package/customizations/frontend.easy.js +16 -0
  6. package/lib/task_lists/customize_copy.js +7 -6
  7. package/package.json +1 -1
  8. package/templates/{cob-dashboard-html → dashboards/cob-dashboard-html}/demoDashboard.html +0 -0
  9. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/package-lock.json +0 -0
  10. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/package.json +0 -0
  11. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/App.vue +0 -0
  12. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/dashboard.html +0 -0
  13. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/main.js +0 -0
  14. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/plugins/cobUiVueComponents.js +0 -0
  15. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/plugins/vuetify.js +0 -0
  16. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/vue.config.js +0 -0
  17. package/templates/dashboards/dash/dist/css/app.2ca409ad.css +8 -0
  18. package/templates/dashboards/dash/dist/dashboard.html +20 -0
  19. package/templates/dashboards/dash/dist/fonts/fa-brands-400.a78ffbbe.ttf +0 -0
  20. package/templates/dashboards/dash/dist/fonts/fa-brands-400.cd2b4095.woff2 +0 -0
  21. package/templates/dashboards/dash/dist/fonts/fa-regular-400.b1a1bebb.ttf +0 -0
  22. package/templates/dashboards/dash/dist/fonts/fa-regular-400.e8a1ba41.woff2 +0 -0
  23. package/templates/dashboards/dash/dist/fonts/fa-solid-900.55b416a8.woff2 +0 -0
  24. package/templates/dashboards/dash/dist/fonts/fa-solid-900.73820155.ttf +0 -0
  25. package/templates/dashboards/dash/dist/fonts/fa-v4compatibility.0d6f5f18.ttf +0 -0
  26. package/templates/dashboards/dash/dist/fonts/fa-v4compatibility.786e6b33.woff2 +0 -0
  27. package/templates/dashboards/dash/dist/js/app.a65a4c2c.js +188 -0
  28. package/templates/dashboards/dash/dist/js/app.a65a4c2c.js.map +1 -0
  29. package/templates/dashboards/dash/package-lock.json +24340 -0
  30. package/templates/dashboards/dash/package.json +19 -0
  31. package/templates/dashboards/dash/src/App.vue +257 -0
  32. package/templates/dashboards/dash/src/Dashboard.vue +46 -0
  33. package/templates/dashboards/dash/src/assets/css/all.min.css +6 -0
  34. package/templates/dashboards/dash/src/assets/webfonts/fa-brands-400.ttf +0 -0
  35. package/templates/dashboards/dash/src/assets/webfonts/fa-brands-400.woff2 +0 -0
  36. package/templates/dashboards/dash/src/assets/webfonts/fa-regular-400.ttf +0 -0
  37. package/templates/dashboards/dash/src/assets/webfonts/fa-regular-400.woff2 +0 -0
  38. package/templates/dashboards/dash/src/assets/webfonts/fa-solid-900.ttf +0 -0
  39. package/templates/dashboards/dash/src/assets/webfonts/fa-solid-900.woff2 +0 -0
  40. package/templates/dashboards/dash/src/assets/webfonts/fa-v4compatibility.ttf +0 -0
  41. package/templates/dashboards/dash/src/assets/webfonts/fa-v4compatibility.woff2 +0 -0
  42. package/templates/dashboards/dash/src/collector.js +3782 -0
  43. package/templates/dashboards/dash/src/components/Board.vue +61 -0
  44. package/templates/dashboards/dash/src/components/BoardsNav.vue +23 -0
  45. package/templates/dashboards/dash/src/components/BoardsPage.vue +36 -0
  46. package/templates/dashboards/dash/src/components/Menu.vue +19 -0
  47. package/templates/dashboards/dash/src/components/Title.vue +13 -0
  48. package/templates/dashboards/dash/src/components/Totals.vue +53 -0
  49. package/templates/dashboards/dash/src/components/TotalsBadge.vue +69 -0
  50. package/templates/dashboards/dash/src/dashboard.html +34 -0
  51. package/templates/dashboards/dash/src/definition_dashboard_v59.json +394 -0
  52. package/templates/dashboards/dash/src/input.css +9 -0
  53. package/templates/dashboards/dash/src/main.js +11 -0
  54. package/templates/dashboards/dash/src/output.css +135974 -0
  55. package/templates/dashboards/dash/tailwind.config.js +19 -0
  56. package/templates/dashboards/dash/vue.config.js +104 -0
  57. package/templates/frontend/common/css/_dashboard.css +7 -0
  58. package/templates/frontend/common/css/_global.css +3 -2
  59. package/templates/frontend/easy/css/_easy/googlefonts.css +360 -0
  60. package/templates/frontend/easy/css/_easy/vuetify.cob-scoped.css +10488 -0
  61. package/templates/frontend/easy/js/_easy/lib/axios.min.js +9 -0
  62. package/templates/frontend/easy/js/_easy/lib/marked.min.js +6 -0
  63. package/templates/frontend/easy/js/_easy/lib/vue.js +11912 -0
  64. package/templates/frontend/easy/js/_easy/lib/vue.min.js +6 -0
  65. package/templates/frontend/easy/js/_easy/lib/vuetify.min.js +6 -0
  66. package/templates/frontend/easy/js/customizations2.__MERGE__.js +22 -0
  67. package/templates/frontend/easy/webapp/.browserslistrc +2 -0
  68. package/templates/frontend/easy/webapp/.eslintrc.js +17 -0
  69. package/templates/frontend/easy/webapp/README.md +60 -0
  70. package/templates/frontend/easy/webapp/babel.config.js +5 -0
  71. package/templates/frontend/easy/webapp/dist/css/app.a4fb91f8.css +1 -0
  72. package/templates/frontend/easy/webapp/dist/dashboard.html +13 -0
  73. package/templates/frontend/easy/webapp/dist/js/app.63a57dcd.js +2 -0
  74. package/templates/frontend/easy/webapp/dist/js/app.63a57dcd.js.map +1 -0
  75. package/templates/frontend/easy/webapp/package-lock.json +32986 -0
  76. package/templates/frontend/easy/webapp/package.json +32 -0
  77. package/templates/frontend/easy/webapp/postcss.config.js +5 -0
  78. package/templates/frontend/easy/webapp/public/dashboard.html +13 -0
  79. package/templates/frontend/easy/webapp/src/App.vue +181 -0
  80. package/templates/frontend/easy/webapp/src/assets/logo.png +0 -0
  81. package/templates/frontend/easy/webapp/src/components/HelloWorld.vue +59 -0
  82. package/templates/frontend/easy/webapp/src/components/PermBuilder.vue +163 -0
  83. package/templates/frontend/easy/webapp/src/components/PlanExecutor.vue +225 -0
  84. package/templates/frontend/easy/webapp/src/components/ProductPermBuilder.vue +95 -0
  85. package/templates/frontend/easy/webapp/src/components/RmDefinitionChooser.vue +59 -0
  86. package/templates/frontend/easy/webapp/src/components/RmDomainChooser.vue +60 -0
  87. package/templates/frontend/easy/webapp/src/components/RoleBuilder.vue +73 -0
  88. package/templates/frontend/easy/webapp/src/main.js +19 -0
  89. package/templates/frontend/easy/webapp/src/perm-templates.js +189 -0
  90. package/templates/frontend/easy/webapp/src/perms.js +197 -0
  91. package/templates/frontend/easy/webapp/vue.config.js +66 -0
@@ -0,0 +1,95 @@
1
+ <template>
2
+ <v-layout column wrap>
3
+ <v-flex sm12 xs12 v-if="debug">
4
+ {{ value }}
5
+ <br/>
6
+ {{ productPerms }}
7
+ </v-flex>
8
+
9
+ <v-flex >
10
+ <h3>Produto</h3>
11
+ <v-combobox xs1 v-model="product" :items="products"
12
+ @change="value.perms = [] ; updateParent"
13
+ label="Produto" dense solo></v-combobox>
14
+ </v-flex>
15
+
16
+ <v-flex sm12 xs12>
17
+ <h3>Permissões</h3>
18
+ <v-layout row v-for="(perm, index) in productPerms" v-bind:key="perm.id" >
19
+ <v-btn small fab color="error" v-on:click="value.perms.splice(index, 1)">-</v-btn>
20
+ <PermBuilder :perms="possiblePerms" :debug="debug" v-model="perm.perm" @input="updateParent(index, perm.perm)" />
21
+ </v-layout>
22
+ </v-flex>
23
+
24
+ <v-flex sm2 xs12 text-left>
25
+ <v-btn color="primary" v-on:click="addPerm">+</v-btn>
26
+ </v-flex>
27
+
28
+ <v-flex sm12 xs12>
29
+ <h3>Roles</h3>
30
+ <RoleBuilder v-model="this.value.roles" :debug="debug" @input="updateParent" />
31
+ </v-flex>
32
+
33
+ </v-layout>
34
+ </template>
35
+
36
+ <script>
37
+ import PermBuilder from './PermBuilder.vue';
38
+ import RoleBuilder from './RoleBuilder.vue';
39
+
40
+ var fakePermIdsForVFor = 1;
41
+
42
+ export default {
43
+ name: 'ProductPermBuilder',
44
+
45
+ components: {
46
+ PermBuilder,
47
+ RoleBuilder
48
+ },
49
+
50
+ props: {
51
+ perms: Object,
52
+ value: Object,
53
+ debug: Boolean
54
+ },
55
+
56
+ computed: {
57
+ products: function(){
58
+ return Object.keys(this.perms)
59
+ },
60
+
61
+ product: {
62
+ get: function(){
63
+ return this.value.product || '';
64
+ },
65
+ set: function(newValue){
66
+ this.value.product = newValue
67
+ }
68
+ },
69
+
70
+ possiblePerms: function(){
71
+ return this.perms[this.value.product];
72
+ },
73
+
74
+ productPerms: function(){
75
+ return ( this.value.perms || [] ).map(p => ({id: fakePermIdsForVFor++, perm:p}));
76
+ },
77
+ },
78
+
79
+ methods: {
80
+ addPerm: function(){
81
+ this.value.perms.push({ name:"", description: ""})
82
+ },
83
+
84
+ updateParent: function(index, newValue){
85
+ this.$set(this.value.perms, index, newValue)
86
+ },
87
+
88
+ }
89
+ }
90
+
91
+ </script>
92
+
93
+ <style></style>
94
+
95
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <v-autocomplete v-model = "rmid"
3
+ :items = "definitions"
4
+ v-on:input = "updateParent"
5
+ :loading = "isLoading"
6
+ hide-no-data
7
+ item-text = "name"
8
+ item-value = "id"
9
+ :return-object = false
10
+ ></v-autocomplete>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: "RmDefinitionChooser",
16
+
17
+ props: {
18
+ value: Object,
19
+ debug: Boolean
20
+ },
21
+
22
+ data() {
23
+ return {
24
+ rmid: this.value,
25
+ isLoading: false,
26
+ definitions: [],
27
+ search: null
28
+ }
29
+ },
30
+
31
+ created: function(){
32
+ // Definitions have already been loaded
33
+ if (this.definitions.length > 0) return
34
+
35
+ // Items have already been requested
36
+ if (this.isLoading) return
37
+
38
+ this.isLoading = true
39
+
40
+ // Lazily load input items
41
+ fetch('/recordm/recordm/definitions?includeDisabled=false')
42
+ .then(res => res.json())
43
+ .then(res => {
44
+ this.definitions = res.map(d => ({id: String(d.id), name: d.name}))
45
+ })
46
+ .catch(err => {
47
+ console.log(err)
48
+ })
49
+ .finally(() => (this.isLoading = false))
50
+ },
51
+
52
+ methods: {
53
+ updateParent: function(){
54
+ this.$emit('input', { id: this.rmid, name: this.definitions.find( d => d.id == this.rmid).name })
55
+ }
56
+ },
57
+ }
58
+ </script>
59
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <v-autocomplete v-model = "rmid"
3
+ :items = "domains"
4
+ v-on:input = "updateParent"
5
+ :loading = "isLoading"
6
+ item-text = "name"
7
+ item-value = "id"
8
+ :return-object = false
9
+ hide-no-data
10
+ ></v-autocomplete>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: "RmDomainsChooser",
16
+
17
+ props: {
18
+ value: String,
19
+ debug: Boolean
20
+ },
21
+
22
+ data() {
23
+ return {
24
+ rmid: this.value,
25
+ isLoading: false,
26
+ domains: [],
27
+ search: null
28
+ }
29
+ },
30
+
31
+ created: function(){
32
+ // Domains have already been loaded
33
+ if (this.domains.length > 0) return
34
+
35
+ // Items have already been requested
36
+ if (this.isLoading) return
37
+
38
+ this.isLoading = true
39
+
40
+ // Lazily load input items
41
+ fetch('/recordm/recordm/domains')
42
+ .then(res => res.json())
43
+ .then(res => {
44
+ this.domains = res.map(d => ({id: String(d.id), name: d.name}))
45
+ })
46
+ .catch(err => {
47
+ console.log(err)
48
+ })
49
+ .finally(() => (this.isLoading = false))
50
+ },
51
+
52
+ methods: {
53
+ updateParent: function(){
54
+ this.$emit('input', this.rmid)
55
+ }
56
+ }
57
+
58
+ }
59
+ </script>
60
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <v-layout column>
3
+ <v-layout row wrap v-for="(role, index) in productRoles" v-bind:key="role.id" >
4
+ <v-flex sm1 xs12 text-left>
5
+ <v-btn small fab color="error" v-on:click="value.splice(index, 1)">-</v-btn>
6
+ </v-flex>
7
+ <v-flex md3 sm12 xs12 text-left>
8
+ <v-text-field v-model="role.role.name"
9
+ label="nome"
10
+ @input="updateParentRole(index, 'name', role.role.name)"></v-text-field>
11
+ </v-flex>
12
+ <v-flex md8 sm12 xs12 text-left>
13
+ <v-layout column>
14
+ <v-flex text-left>
15
+ <v-textarea v-model="role.role.description"
16
+ @input="updateParentRole(index, 'description', role.role.description)"
17
+ label="description" rows="1" auto-grow></v-textarea>
18
+ </v-flex>
19
+ <v-flex text-left>
20
+ <v-combobox v-model="role.role.perms"
21
+ label="perms"
22
+ dense multiple chips
23
+ @input="updateParentRole(index, 'perms', role.role.perms)"></v-combobox>
24
+ </v-flex>
25
+ </v-layout>
26
+ </v-flex>
27
+ </v-layout>
28
+
29
+ <v-flex sm2 xs12 style="text-align: left">
30
+ <v-btn color="primary" v-on:click="addRole">+</v-btn>
31
+ </v-flex>
32
+ </v-layout>
33
+ </template>
34
+
35
+ <script>
36
+ var fakeRoleIdsForVFor = 1;
37
+
38
+ export default {
39
+ name: 'RoleBuilder',
40
+
41
+ props: {
42
+ value: Array,
43
+ debug: Boolean
44
+ },
45
+
46
+ computed: {
47
+ productRoles: function(){
48
+ return ( this.value || [] ).map(r => ({id: fakeRoleIdsForVFor++, role:r}));
49
+ }
50
+ },
51
+
52
+ methods: {
53
+ addRole: function(){
54
+ this.value.push({ name:"", description: "", perms: []})
55
+ },
56
+
57
+ updateParentRole: function(index, field, newValue){
58
+ const role = this.value[index];
59
+
60
+ if(field === 'perms'){
61
+ role[field] = newValue;
62
+ } else {
63
+ role[field] = newValue;
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ </script>
70
+
71
+ <style></style>
72
+
73
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,19 @@
1
+ import Vue from 'vue'
2
+ import App from './App.vue'
3
+ import Vuetify from 'vuetify'
4
+ import Components from '@cob/ui-vue-components'
5
+
6
+ Vue.config.productionTip = false
7
+ Vue.config.devtools = true
8
+
9
+ Vue.use(Vuetify, {
10
+ iconfont: 'md',
11
+ })
12
+
13
+ Object.keys(Components).forEach(name => {
14
+ Vue.component(name, Components[name]);
15
+ });
16
+
17
+ new Vue({
18
+ render: h => h(App),
19
+ }).$mount('#userm-easy')
@@ -0,0 +1,189 @@
1
+ export default [
2
+ {
3
+ name: "Perms base acesso ao RM",
4
+ vars: [
5
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
6
+ ],
7
+ productPerms: [
8
+ {
9
+ product: "recordm",
10
+ perms: [
11
+ { name: "module:view:custom-resource" , description: "" },
12
+ { name: "module:view:gestaoocurrencias-importacao", description: "" },
13
+ { name: "module:view:instance.create" , description: "" },
14
+ { name: "module:view:instance.detail" , description: "" },
15
+ { name: "module:view:instance.duplicate" , description: "" },
16
+ { name: "module:view:instance.groupedit" , description: "" },
17
+ { name: "module:view:search-definition" , description: "" },
18
+ { name: "module:view:search-domain" , description: "" },
19
+ { name: "instances:export" , description: "" },
20
+ { name: "process:instantiate" , description: "" },
21
+ { name: "rm-importer-stats:read" , description: "" },
22
+ { name: "view:share" , description: "" },
23
+ ],
24
+ roles: [
25
+ {
26
+ name: "RM BASE Access",
27
+ description: "Perfil base para aceder ao RM",
28
+ perms: [
29
+ "module:view:custom-resource " ,
30
+ "module:view:gestaoocurrencias-importacao",
31
+ "module:view:instance.create " ,
32
+ "module:view:instance.detail " ,
33
+ "module:view:instance.duplicate " ,
34
+ "module:view:instance.groupedit " ,
35
+ "module:view:search-definition " ,
36
+ "module:view:search-domain " ,
37
+ "instances:export " ,
38
+ "process:instantiate " ,
39
+ "rm-importer-stats:read " ,
40
+ "view:share " ,
41
+ ]
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ name: "Perms base Definição RM",
49
+ vars: [
50
+ { name: "DEF" , type: "RM-DEF", value: {}},
51
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
52
+ ],
53
+ productPerms: [
54
+ {
55
+ product: "recordm",
56
+ perms: [
57
+ { name: "definitions:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler definição $$MSG$$" },
58
+ { name: "definitions:instantiate:$$DEF.ID$$" , description: "$$DEF.NAME$$ - criar novas instâncias $$MSG$$" },
59
+ { name: "instances:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler instâncias $$MSG$$" },
60
+ { name: "instances:update:$$DEF.ID$$" , description: "$$DEF.NAME$$ - update de instâncias $$MSG$$" },
61
+ { name: "tasks:*:$$DEF.ID$$" , description: "$$DEF.NAME$$ - todas perms sobre tasks $$MSG$$" },
62
+ { name: "instances:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - apagar instâncias $$MSG$$" }
63
+ ],
64
+ roles: [
65
+ {
66
+ name: "rm - $$DEF.NAME$$ - read",
67
+ description: "consultar $$MSG$$ ",
68
+ perms: [ "definitions:read:$$DEF.ID$$", "instances:read:$$DEF.ID$$" ]
69
+ },
70
+ {
71
+ name: "rm - $$DEF.NAME$$ - change",
72
+ description: "criar e alterar instâncias $$MSG$$",
73
+ perms: [
74
+ "definitions:instantiate:$$DEF.ID$$",
75
+ "instances:update:$$DEF.ID$$",
76
+ "tasks:*:$$DEF.ID$$",
77
+ "instances:delete:$$DEF.ID$$"
78
+ ]
79
+ }
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ name: "Perms base Definição RM com delete separado",
86
+ vars: [
87
+ { name: "DEF" , type: "RM-DEF", value: ""},
88
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
89
+ ],
90
+ productPerms: [
91
+ {
92
+ product: "recordm",
93
+ perms: [
94
+ { name: "definitions:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler Definição $$MSG$$" },
95
+ { name: "definitions:instantiate:$$DEF.ID$$" , description: "$$DEF.NAME$$ - criar novas instâncias $$MSG$$" },
96
+ { name: "instances:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler instâncias $$MSG$$" },
97
+ { name: "instances:update:$$DEF.ID$$" , description: "$$DEF.NAME$$ - update de instãncias $$MSG$$" },
98
+ { name: "tasks:*:$$DEF.ID$$" , description: "$$DEF.NAME$$ - todas perms sobre tasks $$MSG$$" },
99
+ { name: "instances:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - apagar instâncias $$MSG$$" }
100
+ ],
101
+ roles: [
102
+ {
103
+ name: "rm - $$DEF.NAME$$ - read",
104
+ description: "consultar instâncias de $$DEF.NAME$$",
105
+ perms: [ "definitions:read:$$DEF.ID$$", "instances:read:$$DEF.ID$$" ]
106
+ },
107
+ {
108
+ name: "rm - $$DEF.NAME$$ - change",
109
+ description: "criar e alterar instâncias de $$DEF.NAME$$",
110
+ perms: [
111
+ "definitions:instantiate:$$DEF.ID$$",
112
+ "instances:update:$$DEF.ID$$",
113
+ "tasks:*:$$DEF.ID$$"
114
+ ]
115
+ },
116
+ {
117
+ name: "rm - $$DEF.NAME$$ - delete",
118
+ description: "apagar instâncias de $$DEF.NAME$$",
119
+ perms: [ "instances:delete:$$DEF.ID$$" ]
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ name: "Perms separadas de $tasks para Definição RM",
127
+ vars: [
128
+ { name: "DEF" , type: "RM-DEF", value: ""}
129
+ ],
130
+ productPerms: [
131
+ {
132
+ product: "recordm",
133
+ perms: [
134
+ { name: "tasks:create:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - create" },
135
+ { name: "tasks:assign:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - assign" },
136
+ { name: "tasks:complete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - complete" },
137
+ { name: "tasks:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - delete" }
138
+ ],
139
+ roles: [
140
+ {
141
+ name: "rm - $$DEF.NAME$$ - tasks create and delete",
142
+ description: "criar e apagar tarefas",
143
+ perms: [
144
+ "tasks:create:$$DEF.ID$$",
145
+ "tasks:delete:$$DEF.ID$$"
146
+ ]
147
+ },
148
+ {
149
+ name: "rm - $$DEF.NAME$$ - tasks assign",
150
+ description: "assignar tarefas",
151
+ perms: [
152
+ "tasks:assign:$$DEF.ID$$"
153
+ ]
154
+ },
155
+ {
156
+ name: "rm - $$DEF.NAME$$ - tasks complete",
157
+ description: "completar tarefas",
158
+ perms: [
159
+ "tasks:complete:$$DEF.ID$$"
160
+ ]
161
+ }
162
+ ]
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ name: "Perms base Domínio RM",
168
+ vars: [
169
+ { name: "ID", type: "RM-DOMAIN-ID", value: ""},
170
+ { name: "NAME", type: "simple", value: "nome do dominio"},
171
+ { name: "MSG", type: "simple", value: "mensagem para acrescentar na descrição"}
172
+ ],
173
+ productPerms: [
174
+ {
175
+ product: "recordm",
176
+ perms: [
177
+ { name: "domains:read:$$ID$$" , description: "$$NAME$$ - consultar $$MSG$$" }
178
+ ],
179
+ roles: [
180
+ {
181
+ name: "rm - $$NAME$$ - domain",
182
+ description: "consultar domínio $$MSG$$",
183
+ perms: [ "domains:read:$$ID$$" ]
184
+ }
185
+ ]
186
+ }
187
+ ]
188
+ }
189
+ ]
@@ -0,0 +1,197 @@
1
+ export default {
2
+ userm: [
3
+ {
4
+ domain: 'module',
5
+ actions: [{
6
+ name: 'view',
7
+ entities:[
8
+ { name: 'group' } ,
9
+ { name: 'role' } ,
10
+ { name: 'permission' } ,
11
+ { name: 'create.user' } ,
12
+ { name: 'details.user' } ,
13
+ { name: 'create.group' } ,
14
+ { name: 'details.group' } ,
15
+ { name: 'create.role' } ,
16
+ { name: 'details.role' } ,
17
+ { name: 'create.permission' } ,
18
+ { name: 'details.permission' } ,
19
+ { name: 'custom-resource' }
20
+ ]
21
+ }]
22
+ },
23
+ {
24
+ domain: 'user',
25
+ actions: [
26
+ { name: 'create' } ,
27
+ { name: 'read' } ,
28
+ { name: 'update' } ,
29
+ { name: 'delete' } ,
30
+ { name: 'assign-substitute' }
31
+ ]
32
+ },
33
+ {
34
+ domain: 'group',
35
+ actions: [
36
+ { name: 'create' } ,
37
+ { name: 'read' } ,
38
+ { name: 'update' } ,
39
+ { name: 'delete' } ,
40
+ { name: 'add-user' } ,
41
+ { name: 'add-role' } ,
42
+ { name: 'remove-user' } ,
43
+ { name: 'remove-role' }
44
+ ]
45
+ },
46
+ {
47
+ domain: 'role',
48
+ actions: [
49
+ { name: 'create' } ,
50
+ { name: 'read' } ,
51
+ { name: 'update' } ,
52
+ { name: 'delete' } ,
53
+ { name: 'add-permission' } ,
54
+ { name: 'remove-permission' }
55
+ ]
56
+ },
57
+ {
58
+ domain: 'permission',
59
+ actions: [
60
+ { name: 'create' } ,
61
+ { name: 'read' } ,
62
+ { name: 'update' } ,
63
+ { name: 'delete' }
64
+ ]
65
+ },
66
+ ],
67
+
68
+ confm: [
69
+ {
70
+ domain: 'module',
71
+ actions: [{
72
+ name: 'view',
73
+ entities:[
74
+ { name: 'dashboard ' },
75
+ { name: 'search ' },
76
+ { name: 'cpedetails ' },
77
+ { name: 'cpestatus ' },
78
+ { name: 'bulkcommands' },
79
+ { name: 'jobs ' },
80
+ { name: 'jobdetails ' },
81
+ { name: 'jobstatus ' },
82
+ { name: 'templates ' },
83
+ { name: 'reports ' },
84
+ { name: 'reportdetail' },
85
+ { name: 'custom-resource' }
86
+ ]
87
+ }]
88
+ },
89
+ {
90
+ domain: 'equips',
91
+ actions: [
92
+ { name: 'create' },
93
+ { name: 'read' },
94
+ { name: 'update' },
95
+ { name: 'delete' },
96
+ { name: 'import' },
97
+ { name: 'configuration' },
98
+ { name: 'command' }
99
+ ]
100
+ },
101
+ {
102
+ domain: 'jobreqs',
103
+ actions: [ { name: 'read' } ]
104
+ },
105
+ {
106
+ domain: 'templates',
107
+ actions: [
108
+ { name: 'read' },
109
+ { name: 'update' },
110
+ { name: 'generate' },
111
+ { name: 'zonereorder' },
112
+ { name: 'zonedelete' }
113
+ ]
114
+ }
115
+ ],
116
+
117
+ recordm: [
118
+ {
119
+ domain: 'module',
120
+ help: '',
121
+ actions: [{
122
+ name: 'view',
123
+ help: '',
124
+ entities:[
125
+ { name: 'domains' } ,
126
+ { name: 'definition.create' } ,
127
+ { name: 'definition.edit' } ,
128
+ { name: 'search-domain' } ,
129
+ { name: 'search-definition' } ,
130
+ { name: 'instance.create' } ,
131
+ { name: 'instance.detail' } ,
132
+ { name: 'instance.duplicate'} ,
133
+ { name: 'instance.groupedit'} ,
134
+ { name: 'reports' } ,
135
+ { name: 'reportdetail' } ,
136
+ { name: 'custom-resource' }
137
+ ]
138
+ }]
139
+ },
140
+ {
141
+ domain: 'view',
142
+ actions: [{name: 'share'}]
143
+ },
144
+ {
145
+ domain: 'domains',
146
+ actions: [
147
+ { name: 'create'},
148
+ { name: 'read', entities: [{ type: 'RM-DOMAIN-ID' }] },
149
+ { name: 'update' },
150
+ { name: 'delete' }
151
+ ]
152
+ },
153
+ {
154
+ domain: 'definitions',
155
+ actions: [
156
+ { name: 'create' },
157
+ { name: 'read' , entities: [{ type: 'RM-DEF' }]},
158
+ { name: 'instantiate' , entities: [{ type: 'RM-DEF' }] , help: 'para criar novas instâncias'},
159
+ { name: 'update' },
160
+ { name: 'delete' },
161
+ { name: 'bulkrequest' , entities: [{ type: 'RM-DEF' }] , help: ''},
162
+ { name: 'instance.add-log' , help: ''},
163
+ { name: 'instance.validate-for-user' , help: ''}
164
+ ]
165
+ },
166
+ {
167
+ domain: 'instances',
168
+ actions: [
169
+ { name: 'read' , entities: [{ type: 'RM-DEF' }]},
170
+ { name: 'update', entities: [{ type: 'RM-DEF' }]},
171
+ { name: 'delete', entities: [{ type: 'RM-DEF' }]},
172
+ { name: 'import', entities: [{ type: 'RM-DEF' }]},
173
+ { name: 'export', entities: [{ type: 'RM-DEF' }]}
174
+ ]
175
+ },
176
+ {
177
+ domain: 'tasks',
178
+ actions: [
179
+ { name: '*' , entities: [{ type: 'RM-DEF' }]},
180
+ { name: 'create' , entities: [{ type: 'RM-DEF' }]},
181
+ { name: 'assign' , entities: [{ type: 'RM-DEF' }]},
182
+ { name: 'complete', entities: [{ type: 'RM-DEF' }]},
183
+ { name: 'delete' , entities: [{ type: 'RM-DEF' }]}
184
+ ]
185
+ },
186
+ {
187
+ domain: 'workitem',
188
+ help: 'para poder criar tarefas nos $tasklist',
189
+ actions: [{ name: 'create' }]
190
+ },
191
+ {
192
+ domain: 'process',
193
+ help: 'para poder lançar processos nos $tasklist',
194
+ actions: [{ name: 'instantiate' }]
195
+ }
196
+ ]
197
+ }