1<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%> 2<%--@elvariable id="command" type="org.madsonic.command.UserSettingsCommand"--%> 3 4<html><head> 5 <%@ include file="head.jsp" %> 6 <%@ include file="jquery.jsp" %> 7 <script type="text/javascript" src="<c:url value="/script/scripts.js"/>"></script> 8 9 <c:choose> 10 <c:when test="${customScrollbar}"> 11 <link href="<c:url value="/style/customScrollbar.css"/>" rel="stylesheet"> 12 <script type="text/javascript" src="<c:url value="/script/jquery.mousewheel.min.js"/>"></script> 13 <script type="text/javascript" src="<c:url value="/script/jquery.mCustomScrollbar.concat.min.js"/>"></script> 14 </c:when> 15 <c:otherwise> 16 <link href="<c:url value="/style/customScrollbarAuto.css"/>" rel="stylesheet"> 17 </c:otherwise> 18 </c:choose> 19</head> 20<body class="mainframe bgcolor1" onload="enablePasswordChangeFields();"> 21 22<div id="content_main" class="content_main"> 23<!-- CONTENT --> 24 25<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script> 26<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script> 27 28<c:import url="settingsHeader.jsp"> 29 <c:param name="cat" value="user"/> 30 <c:param name="restricted" value="false"/> 31 <c:param name="toast" value="${command.toast}"/> 32</c:import> 33<br> 34<script type="text/javascript" language="javascript"> 35 function enablePasswordChangeFields() { 36 var changePasswordCheckbox = $("#passwordChange"); 37 var ldapCheckbox = $("#ldapAuthenticated"); 38 var passwordChangeTable = $("#passwordChangeTable"); 39 var passwordChangeCheckboxTable = $("#passwordChangeCheckboxTable"); 40 41 if (changePasswordCheckbox && changePasswordCheckbox.is(":checked") && (ldapCheckbox == null || !ldapCheckbox.is(":checked"))) { 42 passwordChangeTable.show(); 43 } else { 44 passwordChangeTable.hide(); 45 } 46 47 if (changePasswordCheckbox) { 48 if (ldapCheckbox && ldapCheckbox.is(":checked")) { 49 passwordChangeCheckboxTable.hide(); 50 } else { 51 passwordChangeCheckboxTable.show(); 52 } 53 } 54 } 55</script> 56 57<table class="indent"> 58 <tr> 59 <td style="width:120;"><b>Select Task</b></td> 60 <td> 61 <select name="action" style="width:200px;" onchange="location='userSettings.view?usrAct=' + ( value);"> 62 <option value="edit">-- edit User --</option> 63 <option value="new" ${command.newUser eq true ? "selected" : ""}>-- new User --</option> 64 <option value="clone" ${command.newClone eq true ? "selected" : ""}>-- clone User --</option> 65 </select> 66 <div style="margin:0 0 0 5px;display:inline;"> 67 <c:import url="helpToolTip.jsp"><c:param name="topic" value="editUser"/></c:import> 68 </div> 69 </td> 70 </tr> 71 72 <tr> 73 <td><b></b></td> 74 <td> 75 <c:if test="${command.newUser ne true and command.newClone ne true}"> 76 <select name="username" style="width:200px;" onchange="location='userSettings.view?userIndex=' + (selectedIndex - 1 ) + '&usrAct=edit';"> 77 <option value="" selected>-- select User --</option> 78 <c:forEach items="${command.users}" var="user"> 79 80 <c:if test="${user.ldapAuthenticated eq true}"> 81 <c:set var="suffix" value="[LDAP]"/> 82 </c:if> 83 <c:if test="${user.ldapAuthenticated ne true}"> 84 <c:set var="suffix" value=""/> 85 </c:if> 86 <option ${user.username eq command.username ? "selected" : ""} value="${user.username}">${user.username} ${suffix}</option> 87 </c:forEach> 88 </select> 89 </c:if> 90 </td> 91 </tr> 92 93 <tr> 94 <td><b> </b></td> 95 <td> 96 <c:if test="${command.newUser ne true and command.newClone ne true}"> 97 <c:if test="${command.username ne null}"> 98 99 <madsonic:url value="profileSettings.view" var="editSettingsUrl"> 100 <madsonic:param name="profile" value="${command.username}"/> 101 </madsonic:url> 102 103 <div class="forward" style="float:left"> 104 <a href="${editSettingsUrl}">edit Usersettings</a> 105 </div> 106 </c:if> 107 </c:if> 108 </td> 109 </tr> 110</table> 111<p/> 112<c:if test="${command.username ne null or command.newUser eq true}"> 113 114<form:form method="post" action="userSettings.view" commandName="command"> 115 <c:if test="${not command.admin}"> 116 <table> 117 <tr> 118 <td><form:checkbox path="locked" id="locked" cssClass="checkbox"/></td> 119 <td><label for="locked"><fmt:message key="usersettings.locked"/></label></td> 120 </tr> 121 122 <tr> 123 <td><form:checkbox path="adminRole" id="admin" cssClass="checkbox"/></td> 124 <td><label for="admin"><fmt:message key="usersettings.admin"/></label></td> 125 </tr> 126 <tr> 127 <td><form:checkbox path="settingsRole" id="settings" cssClass="checkbox"/></td> 128 <td><label for="settings"><fmt:message key="usersettings.settings"/></label></td> 129 </tr> 130 <tr> 131 <td style="padding-top:1em"><form:checkbox path="streamRole" id="stream" cssClass="checkbox"/></td> 132 <td style="padding-top:1em"><label for="stream"><fmt:message key="usersettings.stream"/></label></td> 133 </tr> 134 <tr> 135 <td><form:checkbox path="searchRole" id="search" cssClass="checkbox"/></td> 136 <td><label for="search"><fmt:message key="usersettings.search"/></label></td> 137 </tr> 138 <tr> 139 <td><form:checkbox path="jukeboxRole" id="jukebox" cssClass="checkbox"/></td> 140 <td><label for="jukebox"><fmt:message key="usersettings.jukebox"/></label></td> 141 </tr> 142 <tr> 143 <td><form:checkbox path="downloadRole" id="download" cssClass="checkbox"/></td> 144 <td><label for="download"><fmt:message key="usersettings.download"/></label></td> 145 </tr> 146 <tr> 147 <td><form:checkbox path="uploadRole" id="upload" cssClass="checkbox"/></td> 148 <td><label for="upload"><fmt:message key="usersettings.upload"/></label></td> 149 </tr> 150 <tr> 151 <td><form:checkbox path="shareRole" id="share" cssClass="checkbox"/></td> 152 <td><label for="share"><fmt:message key="usersettings.share"/></label></td> 153 </tr> 154 <tr> 155 <td><form:checkbox path="coverArtRole" id="coverArt" cssClass="checkbox"/></td> 156 <td><label for="coverArt"><fmt:message key="usersettings.coverart"/></label></td> 157 </tr> 158 <tr> 159 <td><form:checkbox path="commentRole" id="comment" cssClass="checkbox"/></td> 160 <td><label for="comment"><fmt:message key="usersettings.comment"/></label></td> 161 </tr> 162 <tr> 163 <td><form:checkbox path="lastFMRole" id="lastfm" cssClass="checkbox"/></td> 164 <td><label for="lastfm"><fmt:message key="usersettings.lastfm"/></label></td> 165 </tr> 166 <tr> 167 <td><form:checkbox path="videoConversionRole" id="videoConversion" cssClass="checkbox"/></td> 168 <td><label for="videoConversion"><fmt:message key="usersettings.videoconversion"/></label></td> 169 </tr> 170 <tr> 171 <td><form:checkbox path="audioConversionRole" id="audioConversion" cssClass="checkbox"/></td> 172 <td><label for="audioConversion"><fmt:message key="usersettings.audioconversion"/></label></td> 173 </tr> 174 <tr> 175 <td><form:checkbox path="podcastRole" id="podcast" cssClass="checkbox"/></td> 176 <td><label for="podcast"><fmt:message key="usersettings.podcast"/></label></td> 177 </tr> 178 </table> 179 </c:if> 180 181 <c:if test="${not command.admin}"> 182 <table class="indent"> 183 <tr> 184 <td style="width:120;">User Level </td> 185 <td><form:select path="groupId" id="groupId" size="1"> 186 <c:forEach items="${command.groups}" var="group"> 187 <form:option value="${group.id}" label="${group.name}"/> 188 </c:forEach> 189 </form:select> 190 </td> 191 <td><c:import url="helpToolTip.jsp"><c:param name="topic" value="access"/></c:import></td> 192 </tr> 193 </table> 194 </c:if> 195 196 <table class="indent"> 197 <tr> 198 <td style="width:120;"><fmt:message key="playersettings.maxbitrate"/></td> 199 <td> 200 <form:select path="transcodeSchemeName" cssStyle="width:8em"> 201 <c:forEach items="${command.transcodeSchemeHolders}" var="transcodeSchemeHolder"> 202 <form:option value="${transcodeSchemeHolder.name}" label="${transcodeSchemeHolder.description}"/> 203 </c:forEach> 204 </form:select> 205 </td> 206 <td><c:import url="helpToolTip.jsp"><c:param name="topic" value="transcode"/></c:import></td> 207 <c:if test="${not command.transcodingSupported}"> 208 <td class="warning"><fmt:message key="playersettings.notranscoder"/></td> 209 </c:if> 210 </tr> 211 </table> 212 213 <c:if test="${command.ldapEnabled and not command.admin}"> 214 <table> 215 <tr> 216 <td><form:checkbox path="ldapAuthenticated" id="ldapAuthenticated" cssClass="checkbox" onclick="javascript:enablePasswordChangeFields()"/></td> 217 <td><label for="ldapAuthenticated"><fmt:message key="usersettings.ldap"/></label></td> 218 <td><c:import url="helpToolTip.jsp"><c:param name="topic" value="ldap"/></c:import></td> 219 </tr> 220 </table> 221 </c:if> 222 223 <c:choose> 224 <c:when test="${command.newUser}"> 225 226 <table class="indent"> 227 <tr> 228 <td style="width:120;"><fmt:message key="usersettings.username"/></td> 229 <td><form:input path="username" size="32"/></td> 230 <td class="warning"><form:errors path="username"/></td> 231 </tr> 232 <tr> 233 <td><fmt:message key="usersettings.email"/></td> 234 <td><form:input path="email" size="32"/></td> 235 <td class="warning"><form:errors path="email"/></td> 236 </tr> 237 <tr> 238 <td><fmt:message key="usersettings.password"/></td> 239 <td><form:password path="password" size="32"/></td> 240 <td class="warning"><form:errors path="password"/></td> 241 </tr> 242 <tr> 243 <td><fmt:message key="usersettings.confirmpassword"/></td> 244 <td><form:password path="confirmPassword" size="32"/></td> 245 <td/> 246 </tr> 247 <tr> 248 <td style="width:120;">comment</td> 249 <td><form:input path="comment" size="64"/></td> 250 <td class="warning"><form:errors path="comment"/></td> 251 </tr> 252 </table> 253 </c:when> 254 255 <c:otherwise> 256 257 <table> 258 <tr> 259 <td style="width:120;"><fmt:message key="usersettings.email"/></td> 260 <td><form:input path="email" size="32"/></td> 261 <td class="warning"><form:errors path="email"/></td> 262 </tr> 263 </table> 264 265 <table> 266 <tr> 267 <td style="width:120;">comment</td> 268 <td><form:input path="comment" size="64"/></td> 269 <td class="warning"><form:errors path="comment"/></td> 270 </tr> 271 </table> 272 273 <table id="passwordChangeCheckboxTable"> 274 <tr> 275 <td><form:checkbox path="passwordChange" id="passwordChange" onclick="enablePasswordChangeFields();" cssClass="checkbox"/></td> 276 <td><label for="passwordChange"><fmt:message key="usersettings.changepassword"/></label></td> 277 </tr> 278 </table> 279 280 <table id="passwordChangeTable" style="display:none"> 281 <tr> 282 <td style="width:120;"><fmt:message key="usersettings.newpassword"/></td> 283 <td><form:password path="password" id="path" size="32"/></td> 284 <td class="warning"><form:errors path="password"/></td> 285 </tr> 286 <tr> 287 <td style="width:120;"><fmt:message key="usersettings.confirmpassword"/></td> 288 <td><form:password path="confirmPassword" id="confirmPassword" size="32"/></td> 289 <td/> 290 </tr> 291 </table> 292 293 </c:otherwise> 294 </c:choose> 295 296 <c:if test="${not command.newUser and not command.admin}"> 297 <table class="indent"> 298 <tr> 299 <td><form:checkbox path="delete" id="delete" cssClass="checkbox"/></td> 300 <td><label for="delete"><fmt:message key="usersettings.delete"/></label></td> 301 </tr> 302 </table> 303 </c:if> 304 305 <input type="submit" value="<fmt:message key="common.save"/>" style="margin-top:1.5em;margin-right:0.3em"> 306 <input type="button" value="<fmt:message key="common.cancel"/>" onclick="location.href='nowPlaying.view'" style="margin-top:1.5em"> 307</form:form> 308 309 </c:if> 310 311<c:if test="${command.reloadNeeded}"> 312 <script language="javascript" type="text/javascript"> 313 parent.frames.main.location.href="userSettings.view?"; 314 </script> 315</c:if> 316 317<!-- CONTENT --> 318</div> 319 320</body> 321 322<c:if test="${customScrollbar}"> 323<script type="text/javascript"> 324 325 (function($){ 326 $(window).load(function(){ 327 328 $("#content_main").mCustomScrollbar({ 329 axis:"y", 330 scrollInertia:450, /*scrolling inertia: integer (milliseconds)*/ 331 mouseWheel:true, /*mousewheel support: boolean*/ 332 mouseWheelPixels:"auto", /*mousewheel pixels amount: integer, "auto"*/ 333 autoDraggerLength:true, /*auto-adjust scrollbar dragger length: boolean*/ 334 autoHideScrollbar:false, /*auto-hide scrollbar when idle*/ 335 scrollButtons:{ enable:true, /*scroll buttons support: boolean*/ 336 scrollType:"continuous", /*scroll buttons scrolling type: "continuous", "pixels"*/ 337 scrollSpeed:"auto", /*scroll buttons continuous scrolling speed: integer, "auto"*/ 338 scrollAmount:40 /*scroll buttons pixels scroll amount: integer (pixels)*/}, 339 theme:"${customScrollbarTheme}", 340 scrollbarPosition:"inside" 341 }); 342 }); 343 })(jQuery); 344 345$("#content_main").resize(function(e){ 346 $("#content_main").mCustomScrollbar("update"); 347}); 348</script> 349</c:if> 350 351</html> 352