Restrict Monitor Addition and Deletion

- cleanup admin.ejs
merge-requests/3/head
Moe 2018-07-07 14:29:47 -07:00
parent 0fc33342a3
commit 4e4902b32f
2 changed files with 35 additions and 16 deletions

View File

@ -181,7 +181,9 @@ $.sU.e.on('click','.permission',function(e){
$.each($.ccio.subs[$.pR.user],function(n,v){
$.pR.e.find('[name="'+n+'"]').val(v)
})
$.pR.e.find('[detail="allmonitors"]').val(e.d.allmonitors).change()
$.pR.e.find('[detail]').each(function(n,v){
$(v).val(e.d[$(v).attr('detail')])
}).first().change()
$.each(['monitors','monitor_edit','video_delete','video_view'],function(m,b){
if(e.d[b]){
$.each(e.d[b],function(n,v){
@ -193,37 +195,43 @@ $.sU.e.on('click','.permission',function(e){
//permission window
$.pR={e:$('#permissions'),l:$('#permissionsLabel small')};$.pR.f=$.pR.e.find('form')
$.pR.e.on('change','[detail]',function(e){
e.f=$(this).parents('form');
var details = $.pR.e.find('[name="details"]')
e.ar = JSON.parse(details.val())
e.f.find('[detail]').each(function(n,v){
v = $(v);e.ar[v.attr('detail')] = v.val()
})
details.val(JSON.stringify(e.ar))
})
$.pR.e.on('change','[detail="allmonitors"]',function(e){
e.e=$(this),
e.mon=$('.permission-view')
e.details=$.pR.e.find('[name="details"]')
e.json=JSON.parse(e.details.val())
if(e.e.val()=='1'){
if(e.e.val() === '1'){
e.mon.hide();
e.json.allmonitors='1';
}else{
e.mon.show()
e.json.allmonitors='0';
$.pR.e.find('[monitor]').first().change()
}
e.details.val(JSON.stringify(e.json))
})
$.pR.e.on('click','[check]',function(e){
$(this).parents('.form-group-group').find('select').val($(this).attr('check')).first().change()
})
$.pR.e.on('change','[monitor]',function(e){
e.monitors=[];
e.key=$(this).attr('monitor');
e.details=$.pR.e.find('[name="details"]')
try{e.detail=JSON.parse(e.details.val())}catch(err){e.detail={}}
if(!e.detail){e.detail={}}
$.pR.e.find('[monitor="'+e.key+'"]').each(function(n,v){
v=$(v)
if(v.val()=='1'){
e.monitors.push(v.attr('mid'))
}
});
e.detail[e.key]=e.monitors;
$.pR.e.find('[monitor]').each(function(n,kel){
var monitors = [];
var key = $(kel).attr('monitor')
$.pR.e.find('[monitor="'+key+'"]').each(function(n,v){
var el = $(v)
if(el.val() === '1'){
monitors.push(el.attr('mid'))
}
});
e.detail[key] = monitors
})
e.details.val(JSON.stringify(e.detail))
});
$.pR.f.submit(function(e){

View File

@ -17,6 +17,17 @@
<option value="1"><%-lang.Yes%></option>
</select></div>
</label>
</div>
<div class="form-group-group permission-view">
<h4><%-lang['Can Create and Delete Monitors']%></h4>
<div class="form-group">
<label><div><span><%-lang['Can Create and Delete Monitors']%></span></div>
<div><select class="form-control" detail="monitor_create">
<option value="0" selected><%-lang.No%></option>
<option value="1"><%-lang.Yes%></option>
</select></div>
</label>
</div>
</div>
<div class="form-group-group blue permission-view" id="monitors_section">
<h4>