jsharmony-cms 1.6.0 → 1.7.3
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/models/Publish_Add_Release.json +1 -1
- package/models/Site_Deployment_Target_Role.json +4 -1
- package/models/Site_Deployment_Target_Role_Base.json +3 -0
- package/models/sql/_functions.json +22 -0
- package/models/sql/objects/deployment.json +16 -5
- package/models/sql/scripts/upgrade/1-7-0.01.sql +3 -0
- package/package.json +1 -1
- package/public/js/jsHarmonyCMS.js +17278 -17278
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
{"name":"site_id","control":"dropdown","caption":"Site","validate":["Required"],"readonly":true,
|
|
22
22
|
"lov":{"sql":"select site_id code_val, site_name code_txt from {schema}.site where site_sts='ACTIVE' and site_id={schema}.my_current_site_id()"}},
|
|
23
23
|
{"name":"deployment_target_id","control":"dropdown","caption":"Deployment Target","validate":["Required"],
|
|
24
|
-
"lov":{"parent":"site_id" ,"sql2":"select site_id code_parent, deployment_target_id code_val, deployment_target_name code_txt from {schema}.v_my_deployment_target where deployment_target_can_publish = 1 and deployment_target_sts='ACTIVE' and site_id={schema}.my_current_site_id() order by site_id,deployment_target_name"}},
|
|
24
|
+
"lov":{"parent":"site_id" ,"sql2":"select site_id code_parent, deployment_target_id code_val, deployment_target_name code_txt from {schema}.v_my_deployment_target where ((deployment_target_can_publish = 1) or (deployment_target_can_publish_release = 1)) and deployment_target_sts='ACTIVE' and site_id={schema}.my_current_site_id() order by site_id,deployment_target_name"}},
|
|
25
25
|
{"control":"html","value":[
|
|
26
26
|
"<% if(jsh.globalparams.isWebmaster){ %>",
|
|
27
27
|
"<a href='#' onclick='<%=jsh._instance%>.XExt.popupForm(\"{namespace}Site_Tabs\",\"update\",{site_id:<%=jsh._instance%>.globalparams.site_id}); return false;'>Configure Deployment Targets</a>",
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
{"control":"subform","caption":"Preview / Editor","target":"Site_Deployment_Target_Role_Editor","bindings":{"deployment_target_id":"deployment_target_id","deployment_target_role_type":"'EDITOR'"},
|
|
12
12
|
"controlstyle":"display:inline-block; margin-right:15px;"
|
|
13
13
|
},
|
|
14
|
-
{"control":"subform","caption":"Publish","target":"Site_Deployment_Target_Role_Publish","bindings":{"deployment_target_id":"deployment_target_id","deployment_target_role_type":"'PUBLISH'"},
|
|
14
|
+
{"control":"subform","caption":"Publish (Any Branch)","target":"Site_Deployment_Target_Role_Publish","bindings":{"deployment_target_id":"deployment_target_id","deployment_target_role_type":"'PUBLISH'"},
|
|
15
|
+
"controlstyle":"display:inline-block;"
|
|
16
|
+
},
|
|
17
|
+
{"control":"subform","caption":"Publish Release","target":"Site_Deployment_Target_Role_Publish_Release","bindings":{"deployment_target_id":"deployment_target_id","deployment_target_role_type":"'PUBLISH_RELEASE'"},
|
|
15
18
|
"controlstyle":"display:inline-block;"
|
|
16
19
|
},
|
|
17
20
|
]
|
|
@@ -199,6 +199,28 @@
|
|
|
199
199
|
"\")",
|
|
200
200
|
]
|
|
201
201
|
},
|
|
202
|
+
"{schema}.can_publish":{
|
|
203
|
+
"params": ["BRANCH_ID","DEPLOYMENT_TARGET_ID"],
|
|
204
|
+
"sql": [
|
|
205
|
+
"(case when exists(",
|
|
206
|
+
" select * from {schema}.v_my_deployment_target where deployment_target_id=%%%DEPLOYMENT_TARGET_ID%%% and (",
|
|
207
|
+
" (deployment_target_can_publish=1) or",
|
|
208
|
+
" (deployment_target_can_publish_release=1 and exists(select branch_child.branch_id from {schema}.branch branch_child where branch_child.branch_id=%%%BRANCH_ID%%% and branch_child.branch_type='PUBLIC'))",
|
|
209
|
+
" )",
|
|
210
|
+
") then 1 else 0 end)"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
"{schema}.could_have_published":{
|
|
214
|
+
"params": ["BRANCH_ID","DEPLOYMENT_TARGET_ID"],
|
|
215
|
+
"sql": [
|
|
216
|
+
"(case when exists(",
|
|
217
|
+
" select * from {schema}.v_my_deployment_target where deployment_target_id=%%%DEPLOYMENT_TARGET_ID%%% and (",
|
|
218
|
+
" (deployment_target_can_publish=1) or",
|
|
219
|
+
" (deployment_target_can_publish_release=1 and exists(select branch_child.branch_id from {schema}.branch branch_child inner join {schema}.branch branch_parent on branch_parent.branch_id = branch_child.branch_parent_id where branch_child.branch_id=%%%BRANCH_ID%%% and branch_parent.branch_type='PUBLIC'))",
|
|
220
|
+
" )",
|
|
221
|
+
") then 1 else 0 end)"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
202
224
|
"{schema}.insert_token": {
|
|
203
225
|
"params": ["sys_user_token_hash","sys_user_token_ext","sys_user_token_keys"],
|
|
204
226
|
"sql": [
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"caption": "Deployment Target Role Type",
|
|
5
5
|
"init_data": [
|
|
6
6
|
{ "code_val": "PUBLISH", "code_txt": "Publish", "code_seq": 1 },
|
|
7
|
-
{ "code_val": "
|
|
7
|
+
{ "code_val": "PUBLISH_RELEASE", "code_txt": "Publish Release", "code_seq": 2 },
|
|
8
|
+
{ "code_val": "EDITOR", "code_txt": "Preview / Editor", "code_seq": 3 }
|
|
8
9
|
]
|
|
9
10
|
},
|
|
10
11
|
|
|
@@ -153,6 +154,16 @@
|
|
|
153
154
|
" when exists(select * from deployment_target_role dtr inner join {schema}.sys_user_site r on r.sys_user_site_access = dtr.sys_role_name and r.sys_user_id = jsharmony.my_sys_user_id() and r.site_id = deployment_target.site_id and dtr.deployment_target_role_type='PUBLISH' and dtr.deployment_target_id = deployment_target.deployment_target_id) then 1",
|
|
154
155
|
" else 0 end"
|
|
155
156
|
]
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name":"deployment_target_can_publish_release", "type": "int",
|
|
160
|
+
"sqlselect": [
|
|
161
|
+
"case ",
|
|
162
|
+
" when {schema}.my_user_is_publisher(deployment_target.site_id) = 0 then 0",
|
|
163
|
+
" when exists(select * from deployment_target_role dtr inner join jsharmony.sys_user_role r on r.sys_role_name = dtr.sys_role_name and r.sys_user_id = jsharmony.my_sys_user_id() and dtr.deployment_target_role_type='PUBLISH_RELEASE' and dtr.deployment_target_id = deployment_target.deployment_target_id) then 1",
|
|
164
|
+
" when exists(select * from deployment_target_role dtr inner join {schema}.sys_user_site r on r.sys_user_site_access = dtr.sys_role_name and r.sys_user_id = jsharmony.my_sys_user_id() and r.site_id = deployment_target.site_id and dtr.deployment_target_role_type='PUBLISH_RELEASE' and dtr.deployment_target_id = deployment_target.deployment_target_id) then 1",
|
|
165
|
+
" else 0 end"
|
|
166
|
+
]
|
|
156
167
|
}
|
|
157
168
|
]
|
|
158
169
|
}
|
|
@@ -181,7 +192,7 @@
|
|
|
181
192
|
"deployment_etstmp",
|
|
182
193
|
"deployment_euser",
|
|
183
194
|
"deployment_mtstmp",
|
|
184
|
-
"deployment_muser"
|
|
195
|
+
"deployment_muser",
|
|
185
196
|
]
|
|
186
197
|
},
|
|
187
198
|
"v_my_deployment_target": {
|
|
@@ -191,14 +202,14 @@
|
|
|
191
202
|
"join_type": "inner",
|
|
192
203
|
"join_columns": {
|
|
193
204
|
"deployment.deployment_target_id": "v_my_deployment_target.deployment_target_id",
|
|
194
|
-
"deployment_target_can_publish": "1"
|
|
205
|
+
"case when deployment_target_can_publish = 1 then 1 when deployment_target_can_publish_release = 1 then 1 else 0 end": "1"
|
|
195
206
|
}
|
|
196
207
|
}
|
|
197
208
|
},
|
|
198
209
|
"triggers": [
|
|
199
210
|
{"on": ["insert"], "exec": [
|
|
200
211
|
//Verify access
|
|
201
|
-
"errorif(
|
|
212
|
+
"errorif($ifnull({schema}.can_publish(inserted(branch_id), inserted(deployment_target_id)),0)<>1,'No access to publish to this deployment target.');",
|
|
202
213
|
//Verify non-duplicate tag name
|
|
203
214
|
"errorif(exists(select 1 from {schema}.deployment inner join {schema}.branch on {schema}.branch.branch_id={schema}.deployment.branch_id where deployment_tag=inserted(deployment_tag) and site_id=inserted(site_id)),'Deployment Tag must be unique for the site.');",
|
|
204
215
|
"errorif(exists(select 1 from {schema}.deployment inner join {schema}.deployment_target on {schema}.deployment_target.deployment_target_id={schema}.deployment.deployment_target_id where deployment_tag=inserted(deployment_tag) and site_id=(select site_id from deployment_target where deployment_target_id=inserted(deployment_target_id))),'Deployment Tag must be unique for the site.');",
|
|
@@ -218,7 +229,7 @@
|
|
|
218
229
|
},
|
|
219
230
|
{"on": ["update"], "exec": [
|
|
220
231
|
//Verify access
|
|
221
|
-
"errorif(
|
|
232
|
+
"errorif($ifnull({schema}.could_have_published((select branch_id from {schema}.deployment where deployment_id = deleted(deployment_id)), (select deployment_target_id from {schema}.deployment where deployment_id = deleted(deployment_id))),0)<>1,'No access to cancel this deployment.');",
|
|
222
233
|
"update {schema}.deployment set deployment_sts = 'CANCEL' where deployment_id = deleted(deployment_id)"
|
|
223
234
|
]
|
|
224
235
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
jsharmony.version_increment('jsHarmonyCMS',1,7,0,0);
|
|
2
|
+
update {schema}.code_deployment_target_role_type set code_seq=3 where code_val='EDITOR';
|
|
3
|
+
insert into {schema}.code_deployment_target_role_type(code_val, code_txt, code_seq) values ('PUBLISH_RELEASE','Publish Release',2);
|