@opengis/admin 0.2.73 → 0.2.74
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/README.md +97 -97
- package/config.js +4 -4
- package/dist/{add-page-6IFPvjAa.js → add-page-C6hbAhxE.js} +1 -1
- package/dist/{admin-interface-BLCFPahq.js → admin-interface-DhGbitPV.js} +2 -2
- package/dist/{admin-view-CQVaAifj.js → admin-view-DNhhKVrA.js} +2 -2
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +75 -75
- package/dist/assets/logo.svg +41 -41
- package/dist/{card-view-DCSkqqJ-.js → card-view-BPIFkAME.js} +1 -1
- package/dist/{edit-page-DS28CJUR.js → edit-page-DUjvZCQy.js} +1 -1
- package/dist/{import-file-BbIQ1f4k.js → import-file-DOALml4S.js} +12367 -12355
- package/dist/style.css +1 -1
- package/module/settings/card/admin.accounts.table/index.yml +7 -7
- package/module/settings/card/admin.accounts.table/rules.hbs +18 -18
- package/module/settings/card/admin.accounts.table/users.hbs +13 -13
- package/module/settings/card/admin.routes.table/groups.hbs +11 -11
- package/module/settings/card/admin.routes.table/index.yml +11 -11
- package/module/settings/card/admin.routes.table/users.hbs +16 -16
- package/module/settings/cls/core.actions.json +17 -17
- package/module/settings/cls/core.scope.json +13 -13
- package/module/settings/cls/properties.site_status.json +13 -13
- package/module/settings/cls/properties.widget_status.json +13 -13
- package/module/settings/cls/users.user_type.json +13 -13
- package/module/settings/cls/yes_no.json +11 -11
- package/module/settings/form/admin.accounts.form.json +13 -13
- package/module/settings/form/admin.properties.form.json +15 -15
- package/module/settings/form/admin.roles.form.json +21 -21
- package/module/settings/form/admin.user_properties.form.json +15 -15
- package/module/settings/form/admin.user_roles_card.form.json +13 -13
- package/module/settings/interface/admin.properties.json +4 -4
- package/module/settings/interface/admin.roles.json +4 -4
- package/module/settings/interface/admin.routes.json +4 -4
- package/module/settings/interface/admin.users.json +4 -4
- package/module/settings/select/core.routes.sql +1 -1
- package/module/settings/select/core.user_mentioned.sql +1 -1
- package/module/settings/select/core.user_uid.sql +1 -1
- package/module/settings/table/admin.properties.table.json +39 -39
- package/module/settings/table/admin.user_properties.table.json +34 -34
- package/package.json +1 -1
- package/plugin.js +29 -29
- package/server/helpers/core/badge.js +16 -16
- package/server/helpers/core/buttonHelper.js +21 -21
- package/server/helpers/core/select.js +48 -48
- package/server/helpers/core/token.js +18 -18
- package/server/helpers/index.js +29 -29
- package/server/helpers/list/buttonHelper.js +21 -21
- package/server/helpers/list/utils/button.js +5 -5
- package/server/helpers/temp/contentList.js +58 -58
- package/server/helpers/temp/ifCond.js +101 -101
- package/server/helpers/utils/button.js +5 -5
- package/server/plugins/access/index.mjs +6 -6
- package/server/plugins/adminHook.js +81 -81
- package/server/plugins/cron.js +10 -10
- package/server/plugins/docs.js +28 -28
- package/server/plugins/vite.js +71 -71
- package/server/routes/access/controllers/access.group.js +29 -29
- package/server/routes/access/controllers/access.group.post.js +49 -49
- package/server/routes/access/index.mjs +11 -11
- package/server/routes/access/schema.mjs +67 -67
- package/server/routes/calendar/controllers/calendar.data.js +125 -125
- package/server/routes/calendar/index.mjs +7 -7
- package/server/routes/calendar/schema.js +21 -21
- package/server/routes/data/controllers/cardData.js +106 -106
- package/server/routes/data/controllers/cardTabData.js +49 -49
- package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
- package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
- package/server/routes/data/controllers/tableData.js +29 -29
- package/server/routes/data/controllers/tableDataId.js +27 -27
- package/server/routes/data/controllers/tableFilter.js +82 -82
- package/server/routes/data/controllers/tokenInfo.js +9 -9
- package/server/routes/data/controllers/utils/assignTokens.js +30 -30
- package/server/routes/data/controllers/utils/conditions.js +20 -20
- package/server/routes/data/controllers/utils/getColumns.js +8 -8
- package/server/routes/data/index.mjs +20 -20
- package/server/routes/data/schema.js +54 -54
- package/server/routes/menu/index.mjs +5 -5
- package/server/routes/notifications/controllers/readNotifications.js +27 -27
- package/server/routes/notifications/controllers/testEmail.js +35 -35
- package/server/routes/notifications/controllers/userNotifications.js +53 -53
- package/server/routes/notifications/funcs/addNotification.js +21 -21
- package/server/routes/notifications/funcs/sendNotification.js +92 -92
- package/server/routes/notifications/hook/onWidgetSet.js +57 -57
- package/server/routes/notifications/index.mjs +27 -27
- package/server/routes/notifications/schema.js +16 -16
- package/server/routes/print/controllers/cardPrint.js +112 -112
- package/server/routes/properties/controllers/admin.properties.get.js +29 -29
- package/server/routes/properties/controllers/user.properties.get.js +30 -30
- package/server/routes/properties/controllers/user.properties.post.js +30 -30
- package/server/routes/properties/funcs/getSettings.js +56 -56
- package/server/routes/properties/funcs/setSettings.js +44 -44
- package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
- package/server/routes/properties/index.mjs +14 -14
- package/server/routes/properties/schema.js +10 -10
- package/server/routes/root.mjs +3 -3
- package/server/routes/templates/controllers/getTemplate.js +49 -49
- package/server/routes/templates/index.mjs +16 -16
- package/server/routes/templates/schema.js +8 -8
- package/server/routes/user/controllers/user.cls.id.js +14 -14
- package/server/routes/user/controllers/user.cls.js +71 -71
- package/server/routes/user/controllers/user.info.js +17 -17
- package/server/routes/user/schema.js +14 -14
- package/server/routes/widget/controllers/utils/obj2db.js +13 -13
- package/server/routes/widget/controllers/widget.del.js +47 -47
- package/server/routes/widget/controllers/widget.get.js +98 -98
- package/server/routes/widget/controllers/widget.set.js +76 -76
- package/server/routes/widget/index.mjs +11 -11
- package/server/routes/widget/schema.js +12 -12
- package/server/templates/cls/itree.recrzone_category.json +73 -73
- package/server/templates/cls/test.json +9 -9
- package/server/templates/form/admin.user_cls.data.form.json +49 -49
- package/server/templates/form/admin.user_group_rel.form.json +21 -21
- package/server/templates/form/cp_building.form.json +32 -32
- package/server/templates/form/form-user-pass.json +10 -10
- package/server/templates/form/form-user_group.json +39 -39
- package/server/templates/form/form-users.json +156 -156
- package/server/templates/form/user_group_access.form.json +22 -22
- package/server/templates/pt/card-print.pt.hbs +188 -11
- package/server/templates/select/account_id.json +2 -2
- package/server/templates/table/gis.dataset.table.json +43 -43
- package/server/templates/table/management.user_group.table.json +112 -112
- package/server/templates/table/management.users.table.json +126 -126
- package/utils.js +29 -29
@@ -1,23 +1,23 @@
|
|
1
|
-
{
|
2
|
-
"label_style": "vertical",
|
3
|
-
"reload":true,
|
4
|
-
"schema": {
|
5
|
-
"role": {
|
6
|
-
"type": "Select2",
|
7
|
-
"ua": "Доступ",
|
8
|
-
"ru": "Доступ",
|
9
|
-
"data": "user_access",
|
10
|
-
"validators": [
|
11
|
-
"required"
|
12
|
-
]
|
13
|
-
},
|
14
|
-
"doct_id": {
|
15
|
-
"type": "Autocomplete",
|
16
|
-
"data": "core.interface_list",
|
17
|
-
"validators": [
|
18
|
-
"required"
|
19
|
-
],
|
20
|
-
"ua": "Оберіть інтерфейс"
|
21
|
-
}
|
22
|
-
}
|
1
|
+
{
|
2
|
+
"label_style": "vertical",
|
3
|
+
"reload":true,
|
4
|
+
"schema": {
|
5
|
+
"role": {
|
6
|
+
"type": "Select2",
|
7
|
+
"ua": "Доступ",
|
8
|
+
"ru": "Доступ",
|
9
|
+
"data": "user_access",
|
10
|
+
"validators": [
|
11
|
+
"required"
|
12
|
+
]
|
13
|
+
},
|
14
|
+
"doct_id": {
|
15
|
+
"type": "Autocomplete",
|
16
|
+
"data": "core.interface_list",
|
17
|
+
"validators": [
|
18
|
+
"required"
|
19
|
+
],
|
20
|
+
"ua": "Оберіть інтерфейс"
|
21
|
+
}
|
22
|
+
}
|
23
23
|
}
|
@@ -1,15 +1,192 @@
|
|
1
|
-
<h2>{{table_title}}</h2>
|
2
|
-
|
3
|
-
<
|
4
|
-
|
5
|
-
<hr>
|
6
|
-
{{{json data}}}
|
7
|
-
<hr>
|
1
|
+
{{#if table_title}}<h2 style="">{{table_title}}</h2>{{/if}}
|
2
|
+
{{#if title}}<h3>{{title}}</h3>{{/if}}
|
3
|
+
<hr />
|
8
4
|
{{#each rows}}
|
9
5
|
<h3>{{title}}</h3>
|
10
6
|
<div>{{{html}}}</div>
|
11
7
|
{{/each}}
|
12
|
-
<
|
13
|
-
|
14
|
-
|
15
|
-
{{{qr}}}
|
8
|
+
<div style="margin-top: 50px">
|
9
|
+
<hr />
|
10
|
+
{{{url}}}
|
11
|
+
{{{qr}}}
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<style>
|
15
|
+
* {
|
16
|
+
margin: 0;
|
17
|
+
padding: 0;
|
18
|
+
box-sizing: border-box;
|
19
|
+
}
|
20
|
+
|
21
|
+
body {
|
22
|
+
font-family:
|
23
|
+
Arial, sans-serif;
|
24
|
+
font-size: 14px;
|
25
|
+
color: #333;
|
26
|
+
line-height: 1.5;
|
27
|
+
background-color: #fff;
|
28
|
+
}
|
29
|
+
|
30
|
+
h1,
|
31
|
+
h2,
|
32
|
+
h3 {
|
33
|
+
font-weight: bold;
|
34
|
+
margin-bottom: 15px;
|
35
|
+
color: #000;
|
36
|
+
}
|
37
|
+
|
38
|
+
h2 {
|
39
|
+
font-size: 28px;
|
40
|
+
margin-bottom: 10px;
|
41
|
+
}
|
42
|
+
|
43
|
+
h3 {
|
44
|
+
font-size:
|
45
|
+
18px;
|
46
|
+
margin-bottom: 10px;
|
47
|
+
}
|
48
|
+
|
49
|
+
div.font-semibold {
|
50
|
+
margin-bottom: 15px;
|
51
|
+
color:
|
52
|
+
#000000;
|
53
|
+
font-size: 16px;
|
54
|
+
}
|
55
|
+
|
56
|
+
hr {
|
57
|
+
border: none;
|
58
|
+
border-top: 1px solid #ddd;
|
59
|
+
margin: 15px 0;
|
60
|
+
}
|
61
|
+
|
62
|
+
dl {
|
63
|
+
margin: 10px 0 25px;
|
64
|
+
width: 100%;
|
65
|
+
}
|
66
|
+
|
67
|
+
dl>div {
|
68
|
+
display:
|
69
|
+
flex;
|
70
|
+
flex-wrap: wrap;
|
71
|
+
align-items: center;
|
72
|
+
padding: 10px 0;
|
73
|
+
border-bottom:
|
74
|
+
1px solid #ddd;
|
75
|
+
}
|
76
|
+
|
77
|
+
dt {
|
78
|
+
font-weight: 400;
|
79
|
+
color: #111827;
|
80
|
+
width: 50%;
|
81
|
+
min-width: 150px;
|
82
|
+
padding-right: 10px;
|
83
|
+
}
|
84
|
+
|
85
|
+
dd {
|
86
|
+
flex: 1;
|
87
|
+
color: #374151;
|
88
|
+
}
|
89
|
+
|
90
|
+
button {
|
91
|
+
display: none;
|
92
|
+
}
|
93
|
+
|
94
|
+
a {
|
95
|
+
color: #374151;
|
96
|
+
text-decoration: none;
|
97
|
+
transition: color 0.3s;
|
98
|
+
}
|
99
|
+
|
100
|
+
ul {
|
101
|
+
list-style: none;
|
102
|
+
margin: 10px 0;
|
103
|
+
padding-left:
|
104
|
+
20px;
|
105
|
+
}
|
106
|
+
|
107
|
+
li {
|
108
|
+
margin-bottom: 5px;
|
109
|
+
color: #374151;
|
110
|
+
font-size: 16px;
|
111
|
+
}
|
112
|
+
|
113
|
+
button {
|
114
|
+
padding: 8px 12px;
|
115
|
+
font-size: 14px;
|
116
|
+
font-weight: 600;
|
117
|
+
border: none;
|
118
|
+
border-radius: 4px;
|
119
|
+
}
|
120
|
+
|
121
|
+
.text-sm {
|
122
|
+
font-size: 14px;
|
123
|
+
}
|
124
|
+
|
125
|
+
.text-gray-700 {
|
126
|
+
color:
|
127
|
+
#4a5568;
|
128
|
+
}
|
129
|
+
|
130
|
+
.text-gray-900 {
|
131
|
+
color: #1a202c;
|
132
|
+
}
|
133
|
+
|
134
|
+
.font-semibold {
|
135
|
+
font-weight:
|
136
|
+
600;
|
137
|
+
}
|
138
|
+
|
139
|
+
.rounded-md {
|
140
|
+
border-radius: 6px;
|
141
|
+
}
|
142
|
+
|
143
|
+
.gap-4 {
|
144
|
+
gap: 16px;
|
145
|
+
}
|
146
|
+
|
147
|
+
.grid {
|
148
|
+
display: grid;
|
149
|
+
gap: 16px;
|
150
|
+
}
|
151
|
+
|
152
|
+
.grid-cols-1 {
|
153
|
+
grid-template-columns: 1fr;
|
154
|
+
}
|
155
|
+
|
156
|
+
.sm\\:grid-cols-3 {
|
157
|
+
grid-template-columns: repeat(3, 1fr);
|
158
|
+
}
|
159
|
+
|
160
|
+
.sm\\:col-span-2 {
|
161
|
+
grid-column: span 2 / span 2;
|
162
|
+
}
|
163
|
+
|
164
|
+
.divide-y>div:not(:last-child) {
|
165
|
+
border-bottom: 1px solid #ddd;
|
166
|
+
}
|
167
|
+
|
168
|
+
.flex {
|
169
|
+
display: flex;
|
170
|
+
align-items: center;
|
171
|
+
}
|
172
|
+
|
173
|
+
.justify-between {
|
174
|
+
justify-content: space-between;
|
175
|
+
}
|
176
|
+
|
177
|
+
.justify-center {
|
178
|
+
justify-content: center;
|
179
|
+
}
|
180
|
+
|
181
|
+
.border-b {
|
182
|
+
border-bottom: 1px solid #ddd;
|
183
|
+
}
|
184
|
+
|
185
|
+
.pb-\\[15px\\] {
|
186
|
+
padding-bottom: 15px;
|
187
|
+
}
|
188
|
+
|
189
|
+
.pt-\\[30px\\] {
|
190
|
+
padding-top: 30px;
|
191
|
+
}
|
192
|
+
</style>
|
@@ -1,3 +1,3 @@
|
|
1
|
-
{
|
2
|
-
"count1": 1111
|
1
|
+
{
|
2
|
+
"count1": 1111
|
3
3
|
}
|
@@ -1,44 +1,44 @@
|
|
1
|
-
{
|
2
|
-
"table": "gis.dataset",
|
3
|
-
"key": "dataset_id",
|
4
|
-
"columns": [
|
5
|
-
{
|
6
|
-
"name": "dataset_id",
|
7
|
-
"title": "22"
|
8
|
-
},
|
9
|
-
{
|
10
|
-
"name": "dataset_name",
|
11
|
-
"title": "dataset_name"
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"filters": [
|
15
|
-
{
|
16
|
-
"ua": "Будівля",
|
17
|
-
"data": "cp_building",
|
18
|
-
"name": "cp_build_id",
|
19
|
-
"type": "Text"
|
20
|
-
},
|
21
|
-
{
|
22
|
-
"ua": "Рік будівництва",
|
23
|
-
"name": "cp_year",
|
24
|
-
"type": "Text"
|
25
|
-
},
|
26
|
-
{
|
27
|
-
"ua": "Замовник ПКД",
|
28
|
-
"data": "customer_name",
|
29
|
-
"name": "cp_pkd",
|
30
|
-
"type": "Text"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"ua": "Наявність енергоаудиту",
|
34
|
-
"name": "cp_date_en_audit",
|
35
|
-
"type": "Date"
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"ua": "Знак сертифікату",
|
39
|
-
"data": "cp_certificate_mark",
|
40
|
-
"name": "cp_certificate_mark",
|
41
|
-
"type": "Check"
|
42
|
-
}
|
43
|
-
]
|
1
|
+
{
|
2
|
+
"table": "gis.dataset",
|
3
|
+
"key": "dataset_id",
|
4
|
+
"columns": [
|
5
|
+
{
|
6
|
+
"name": "dataset_id",
|
7
|
+
"title": "22"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"name": "dataset_name",
|
11
|
+
"title": "dataset_name"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"filters": [
|
15
|
+
{
|
16
|
+
"ua": "Будівля",
|
17
|
+
"data": "cp_building",
|
18
|
+
"name": "cp_build_id",
|
19
|
+
"type": "Text"
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"ua": "Рік будівництва",
|
23
|
+
"name": "cp_year",
|
24
|
+
"type": "Text"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"ua": "Замовник ПКД",
|
28
|
+
"data": "customer_name",
|
29
|
+
"name": "cp_pkd",
|
30
|
+
"type": "Text"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"ua": "Наявність енергоаудиту",
|
34
|
+
"name": "cp_date_en_audit",
|
35
|
+
"type": "Date"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"ua": "Знак сертифікату",
|
39
|
+
"data": "cp_certificate_mark",
|
40
|
+
"name": "cp_certificate_mark",
|
41
|
+
"type": "Check"
|
42
|
+
}
|
43
|
+
]
|
44
44
|
}
|
@@ -1,113 +1,113 @@
|
|
1
|
-
{
|
2
|
-
"en": "Users group",
|
3
|
-
"ru": "Групы пользователей",
|
4
|
-
"ua": "Групи користувачів",
|
5
|
-
"key": "user_group_id",
|
6
|
-
"help": "https://docs.softpro.ua/admin/ManagementSystem/groups/",
|
7
|
-
"model": "admin.user_group",
|
8
|
-
"table": "admin.user_group",
|
9
|
-
"title_column": "group_name",
|
10
|
-
"search_column": "group_name,module",
|
11
|
-
"action_deafult": [
|
12
|
-
"edit",
|
13
|
-
"del"
|
14
|
-
],
|
15
|
-
"setting": [
|
16
|
-
"export",
|
17
|
-
"view",
|
18
|
-
"import",
|
19
|
-
"column_visible",
|
20
|
-
"title",
|
21
|
-
"add",
|
22
|
-
"card"
|
23
|
-
],
|
24
|
-
"sql": [
|
25
|
-
{
|
26
|
-
"sql": "SELECT array_agg(uid) as user_id,count(*) as user_count,json_agg(row_to_json(r)) user_list from\n(select user_name,uid::text,sur_name FROM admin.users where uid in (select user_uid from admin.user_group_rel where user_group_id=t.user_group_id))r",
|
27
|
-
"name": "user_group_rel_sql"
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"sql": "select count(*) as permission_count,array_agg(doct_id) as permission_id from admin.user_group_access where user_group_id=t.user_group_id",
|
31
|
-
"name": "user_group_access_sql"
|
32
|
-
}
|
33
|
-
],
|
34
|
-
"columns": [
|
35
|
-
{
|
36
|
-
"ru": "Название",
|
37
|
-
"ua": "Назва",
|
38
|
-
"name": "group_name",
|
39
|
-
"format": "text"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"ru": "Модуль",
|
43
|
-
"ua": "Модуль",
|
44
|
-
"name": "module",
|
45
|
-
"format": "text"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"ru": "Пользователи",
|
49
|
-
"ua": "Користувачі",
|
50
|
-
"html": "{{#each user_list}}\n <span class='label'>{{sur_name}} {{user_name}}</span>\n{{/each}}",
|
51
|
-
"name": "user_id",
|
52
|
-
"width": "200",
|
53
|
-
"hidden": true,
|
54
|
-
"option": "user_id",
|
55
|
-
"format": "html"
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"ru": "Количество пользователей",
|
59
|
-
"ua": "Кількість користувачів",
|
60
|
-
"html": "<a title=\"{{#each user_list}}{{sur_name}} {{user_name}}, {{/each}}\"> {{user_count}}</a>",
|
61
|
-
"name": "user_count",
|
62
|
-
"format": "html"
|
63
|
-
},
|
64
|
-
{
|
65
|
-
"en": "Interfaces",
|
66
|
-
"ru": "Интерфейсы",
|
67
|
-
"ua": "Інтерфейси",
|
68
|
-
"html": "{{#each permission_id}}\n <span class='label label-default'> {{select this data='interface_list'}}</span>\n{{/each}}",
|
69
|
-
"name": "permission_id",
|
70
|
-
"hidden": true,
|
71
|
-
"format": "html"
|
72
|
-
},
|
73
|
-
{
|
74
|
-
"en": "rule",
|
75
|
-
"ru": "Права",
|
76
|
-
"ua": "Права",
|
77
|
-
"html": "<a title=\"{{#each i_title}}{{this}} {{/each}}\"> {{permission_count}}</a>\n\n<!--<a class='link' modal-info='permission_list/user_group?id={{{user_group_id}}}'>{{{permission_count}}}</a>-->",
|
78
|
-
"name": "permission_count",
|
79
|
-
"format": "html"
|
80
|
-
},
|
81
|
-
{
|
82
|
-
"ru": "Описание",
|
83
|
-
"ua": "Опис",
|
84
|
-
"name": "info",
|
85
|
-
"format": "text"
|
86
|
-
}
|
87
|
-
],
|
88
|
-
"filterList": [
|
89
|
-
{
|
90
|
-
"en": "User",
|
91
|
-
"ru": "Пользователь",
|
92
|
-
"ua": "Користувач",
|
93
|
-
"data": "user_id",
|
94
|
-
"name": "user_id",
|
95
|
-
"type": "Select"
|
96
|
-
},
|
97
|
-
{
|
98
|
-
"en": "Interface",
|
99
|
-
"ru": "Интерфейс",
|
100
|
-
"ua": "Інтерфейс",
|
101
|
-
"data": "core.interface_list",
|
102
|
-
"name": "permission_id",
|
103
|
-
"type": "Autocomplete"
|
104
|
-
},
|
105
|
-
{
|
106
|
-
"en": "Module",
|
107
|
-
"ru": "Модуль",
|
108
|
-
"ua": "Модуль",
|
109
|
-
"name": "module",
|
110
|
-
"type": "Check"
|
111
|
-
}
|
112
|
-
]
|
1
|
+
{
|
2
|
+
"en": "Users group",
|
3
|
+
"ru": "Групы пользователей",
|
4
|
+
"ua": "Групи користувачів",
|
5
|
+
"key": "user_group_id",
|
6
|
+
"help": "https://docs.softpro.ua/admin/ManagementSystem/groups/",
|
7
|
+
"model": "admin.user_group",
|
8
|
+
"table": "admin.user_group",
|
9
|
+
"title_column": "group_name",
|
10
|
+
"search_column": "group_name,module",
|
11
|
+
"action_deafult": [
|
12
|
+
"edit",
|
13
|
+
"del"
|
14
|
+
],
|
15
|
+
"setting": [
|
16
|
+
"export",
|
17
|
+
"view",
|
18
|
+
"import",
|
19
|
+
"column_visible",
|
20
|
+
"title",
|
21
|
+
"add",
|
22
|
+
"card"
|
23
|
+
],
|
24
|
+
"sql": [
|
25
|
+
{
|
26
|
+
"sql": "SELECT array_agg(uid) as user_id,count(*) as user_count,json_agg(row_to_json(r)) user_list from\n(select user_name,uid::text,sur_name FROM admin.users where uid in (select user_uid from admin.user_group_rel where user_group_id=t.user_group_id))r",
|
27
|
+
"name": "user_group_rel_sql"
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"sql": "select count(*) as permission_count,array_agg(doct_id) as permission_id from admin.user_group_access where user_group_id=t.user_group_id",
|
31
|
+
"name": "user_group_access_sql"
|
32
|
+
}
|
33
|
+
],
|
34
|
+
"columns": [
|
35
|
+
{
|
36
|
+
"ru": "Название",
|
37
|
+
"ua": "Назва",
|
38
|
+
"name": "group_name",
|
39
|
+
"format": "text"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"ru": "Модуль",
|
43
|
+
"ua": "Модуль",
|
44
|
+
"name": "module",
|
45
|
+
"format": "text"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"ru": "Пользователи",
|
49
|
+
"ua": "Користувачі",
|
50
|
+
"html": "{{#each user_list}}\n <span class='label'>{{sur_name}} {{user_name}}</span>\n{{/each}}",
|
51
|
+
"name": "user_id",
|
52
|
+
"width": "200",
|
53
|
+
"hidden": true,
|
54
|
+
"option": "user_id",
|
55
|
+
"format": "html"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"ru": "Количество пользователей",
|
59
|
+
"ua": "Кількість користувачів",
|
60
|
+
"html": "<a title=\"{{#each user_list}}{{sur_name}} {{user_name}}, {{/each}}\"> {{user_count}}</a>",
|
61
|
+
"name": "user_count",
|
62
|
+
"format": "html"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"en": "Interfaces",
|
66
|
+
"ru": "Интерфейсы",
|
67
|
+
"ua": "Інтерфейси",
|
68
|
+
"html": "{{#each permission_id}}\n <span class='label label-default'> {{select this data='interface_list'}}</span>\n{{/each}}",
|
69
|
+
"name": "permission_id",
|
70
|
+
"hidden": true,
|
71
|
+
"format": "html"
|
72
|
+
},
|
73
|
+
{
|
74
|
+
"en": "rule",
|
75
|
+
"ru": "Права",
|
76
|
+
"ua": "Права",
|
77
|
+
"html": "<a title=\"{{#each i_title}}{{this}} {{/each}}\"> {{permission_count}}</a>\n\n<!--<a class='link' modal-info='permission_list/user_group?id={{{user_group_id}}}'>{{{permission_count}}}</a>-->",
|
78
|
+
"name": "permission_count",
|
79
|
+
"format": "html"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"ru": "Описание",
|
83
|
+
"ua": "Опис",
|
84
|
+
"name": "info",
|
85
|
+
"format": "text"
|
86
|
+
}
|
87
|
+
],
|
88
|
+
"filterList": [
|
89
|
+
{
|
90
|
+
"en": "User",
|
91
|
+
"ru": "Пользователь",
|
92
|
+
"ua": "Користувач",
|
93
|
+
"data": "user_id",
|
94
|
+
"name": "user_id",
|
95
|
+
"type": "Select"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"en": "Interface",
|
99
|
+
"ru": "Интерфейс",
|
100
|
+
"ua": "Інтерфейс",
|
101
|
+
"data": "core.interface_list",
|
102
|
+
"name": "permission_id",
|
103
|
+
"type": "Autocomplete"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"en": "Module",
|
107
|
+
"ru": "Модуль",
|
108
|
+
"ua": "Модуль",
|
109
|
+
"name": "module",
|
110
|
+
"type": "Check"
|
111
|
+
}
|
112
|
+
]
|
113
113
|
}
|