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