2017-05-17 20:18:08 -07:00
|
|
|
define(["jQuery","loading","libraryMenu","fnchecked"],function($,loading,libraryMenu){"use strict";function loadMediaFolders(page,user,mediaFolders){var html="";html+='<h3 class="checkboxListLabel">'+Globalize.translate("HeaderLibraries")+"</h3>",html+='<div class="checkboxList paperList checkboxList-paperList">';for(var i=0,length=mediaFolders.length;i<length;i++){var folder=mediaFolders[i],isChecked=user.Policy.EnableAllFolders||user.Policy.EnabledFolders.indexOf(folder.Id)!=-1,checkedAttribute=isChecked?' checked="checked"':"";html+='<label><input type="checkbox" is="emby-checkbox" class="chkFolder" data-id="'+folder.Id+'" '+checkedAttribute+"><span>"+folder.Name+"</span></label>"}html+="</div>",$(".folderAccess",page).html(html).trigger("create"),$("#chkEnableAllFolders",page).checked(user.Policy.EnableAllFolders).trigger("change")}function loadChannels(page,user,channels){var html="";html+='<h3 class="checkboxListLabel">'+Globalize.translate("HeaderChannels")+"</h3>",html+='<div class="checkboxList paperList checkboxList-paperList">';for(var i=0,length=channels.length;i<length;i++){var folder=channels[i],isChecked=user.Policy.EnableAllChannels||user.Policy.EnabledChannels.indexOf(folder.Id)!=-1,checkedAttribute=isChecked?' checked="checked"':"";html+='<label><input type="checkbox" is="emby-checkbox" class="chkChannel" data-id="'+folder.Id+'" '+checkedAttribute+"><span>"+folder.Name+"</span></label>"}html+="</div>",$(".channelAccess",page).show().html(html).trigger("create"),channels.length?$(".channelAccessContainer",page).show():$(".channelAccessContainer",page).hide(),$("#chkEnableAllChannels",page).checked(user.Policy.EnableAllChannels).trigger("change")}function loadDevices(page,user,devices){var html="";html+='<h3 class="checkboxListLabel">'+Globalize.translate("HeaderDevices")+"</h3>",html+='<div class="checkboxList paperList checkboxList-paperList">';for(var i=0,length=devices.length;i<length;i++){var device=devices[i],checkedAttribute=user.Policy.EnableAllDevices||user.Policy.EnabledDevices.indexOf(device.Id)!=-1?' checked="checked"':"";html+='<label><input type="checkbox" is="emby-checkbox" class="chkDevice" data-id="'+device.Id+'" '+checkedAttribute+"><span>"+device.Name+" - "+device.AppName+"</span></label>"}html+="</div>",$(".deviceAccess",page).show().html(html).trigger("create"),$("#chkEnableAllDevices",page).checked(user.Policy.EnableAllDevices).trigger("change"),user.Policy.IsAdministrator?page.querySelector(".deviceAccessContainer").classList.add("hide"):page.querySelector(".deviceAccessContainer").classList.remove("hide")}function loadUser(page,user,loggedInUser,mediaFolders,channels,devices){$(page).trigger("userloaded",[user]),libraryMenu.setTitle(user.Name),loadChannels(page,user,channels),loadMediaFolders(page,user,mediaFolders),loadDevices(page,user,devices),loading.hide()}function onSaveComplete(page){loading.hide(),require(["toast"],function(toast){toast(Globalize.translate("SettingsSaved"))})}function saveUser(user,page){user.Policy.EnableAllFolders=$("#chkEnableAllFolders",page).checked(),user.Policy.EnabledFolders=user.Policy.EnableAllFolders?[]:$(".chkFolder",page).get().filter(function(c){return c.checked}).map(function(c){return c.getAttribute("data-id")}),user.Policy.EnableAllChannels=$("#chkEnableAllChannels",page).checked(),user.Policy.EnabledChannels=user.Policy.EnableAllChannels?[]:$(".chkChannel",page).get().filter(function(c){return c.checked}).map(function(c){return c.getAttribute("data-id")}),user.Policy.EnableAllDevices=$("#chkEnableAllDevices",page).checked(),user.Policy.EnabledDevices=user.Policy.EnableAllDevices?[]:$(".chkDevice",page).get().filter(function(c){return c.checked}).map(function(c){return c.getAttribute("data-id")}),user.Policy.BlockedChannels=null,user.Policy.BlockedMediaFolders=null,ApiClient.updateUserPolicy(user.Id,user.Policy).then(function(){onSaveComplete(page)})}function onSubmit(){var page=$(this).parents(".page");loading.show();var userId=getParameterByName("userId");return ApiClient.getUser(userId).then(function(result){saveUser(result,page)}),!1}$
|