Просмотр исходного кода

HUE-643 moved UserAdmin object creation outside modal, HUE-634 remove unused files from UserAdmin

Enrico Berti 13 лет назад
Родитель
Сommit
c58d859595

+ 1 - 1
apps/jobsub/src/jobsub/templates/list_designs.mako

@@ -198,7 +198,7 @@ ${layout.menubar(section='designs')}
 				null,
 				null,
 				{ "sType": "date" },
-				null
+				{ "bSortable": false }
 			],
 			"aaSorting": [[ 4, "desc" ]]
         });

+ 48 - 15
apps/useradmin/src/useradmin/templates/edit_group.mako

@@ -14,27 +14,60 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 <%!
-from desktop.views import commonheader_iframe, commonfooter_iframe
+from desktop.views import commonheader, commonfooter
+from desktop.lib.django_util import extract_field_data
 import urllib
 %>
-${commonheader_iframe()}
-	<form id="editForm" action="${urllib.quote(action)}" method="POST">
+
+<%namespace name="layout" file="layout.mako" />
+
+${commonheader("Hue Users", "useradmin", "100px")}
+${layout.menubar(section='groups')}
+
+<%def name="render_field(field)">
+  %if not field.is_hidden:
+    <% group_class = len(field.errors) and "error" or "" %>
+    <div class="control-group ${group_class}">
+      <label class="control-label" for="id_${field.html_name}">${field.label}</label>
+      <div class="controls">
+		${unicode(field) | n}
+        % if len(field.errors):
+          <span class="help-inline">${unicode(field.errors) | n}</span>
+        % endif
+      </div>
+    </div>
+  %endif
+</%def>
+
+
+<div class="container-fluid">
+	% if name:
+		<h1>Hue Groups - Edit group: ${name}</h1>
+	% else:
+		% if ldap:
+			<h1>Hue Groups - Add/sync LDAP group</h1>
+		% else:
+			<h1>Hue Groups - Create group</h1>
+		% endif
+	% endif
+
+	<form id="editForm" action="${urllib.quote(action)}" method="POST" class="form form-horizontal">
 		<fieldset>
-        <%def name="render_field(field)">
-			<div class="clearfix">
-				${field.label_tag() | n}
-				<div class="input">
-					${unicode(field) | n}
-					% if len(field.errors):
-						${unicode(field.errors) | n}
-					% endif
-				</div>
-			</div>
-		</%def>
 		% for field in form:
 			${render_field(field)}
 		% endfor
         </fieldset>
+		<div class="form-actions">
+			% if name:
+				<input type="submit" class="btn btn-large btn-primary" value="Update group"/>
+			% else:
+				% if ldap:
+					<input type="submit" class="btn btn-large btn-primary" value="Add/Sync group"/>
+				% else:
+					<input type="submit" class="btn btn-large btn-primary" value="Add group"/>
+				% endif
+			% endif
+		</div>
 	</form>
 
 	<script type="text/javascript" charset="utf-8">
@@ -42,4 +75,4 @@ ${commonheader_iframe()}
 			$("#id_members").jHueSelector();
 		});
 	</script>
-${commonfooter_iframe()}
+${commonfooter()}

+ 50 - 19
apps/useradmin/src/useradmin/templates/edit_user.mako

@@ -14,31 +14,62 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 <%!
-from desktop.views import commonheader_iframe, commonfooter_iframe
+from desktop.views import commonheader, commonfooter
+from desktop.lib.django_util import extract_field_data
 import urllib %>
+<%namespace name="layout" file="layout.mako" />
 
-${commonheader_iframe()}
-<form id="editForm" action="${urllib.quote(action)}" method="POST">
-	<fieldset>
-    <%def name="render_field(field)">
-		<div class="clearfix">
-			${field.label_tag() | n}
-			<div class="input">
-				${unicode(field) | n}
-				% if len(field.errors):
-					${unicode(field.errors) | n}
+${commonheader("Hue Users", "useradmin", "100px")}
+${layout.menubar(section='users')}
+
+<%def name="render_field(field)">
+  %if not field.is_hidden:
+    <% group_class = len(field.errors) and "error" or "" %>
+    <div class="control-group ${group_class}">
+      <label class="control-label" for="id_${field.html_name}">${field.label}</label>
+      <div class="controls">
+		${unicode(field) | n}
+        % if len(field.errors):
+          <span class="help-inline">${unicode(field.errors) | n}</span>
+        % endif
+      </div>
+    </div>
+  %endif
+</%def>
+
+<div class="container-fluid">
+	% if username:
+		<h1>Hue Users - Edit user: ${username}</h1>
+	% else:
+		% if ldap:
+			<h1>Hue Users - Add/sync LDAP user</h1>
+		% else:
+			<h1>Hue Users - Create user</h1>
+		% endif
+	% endif
+
+	<form id="editForm" action="${urllib.quote(action)}" method="POST" class="form form-horizontal">
+		<fieldset>
+			% for field in form:
+				${render_field(field)}
+			% endfor
+		</fieldset>
+		<div class="form-actions">
+			% if username:
+				<input type="submit" class="btn btn-large btn-primary" value="Update user"/>
+			% else:
+				% if ldap:
+					<input type="submit" class="btn btn-large btn-primary" value="Add/Sync user"/>
+				% else:
+					<input type="submit" class="btn btn-large btn-primary" value="Add user"/>
 				% endif
-			</div>
+			% endif
 		</div>
-	</%def>
-	% for field in form:
-		${render_field(field)}
-	% endfor
-    </fieldset>
-</form>
+	</form>
+</div>
 <script type="text/javascript" charset="utf-8">
 	$(document).ready(function(){
 		$("#id_groups").jHueSelector();
 	});
 </script>
-${commonfooter_iframe()}
+${commonfooter()}

+ 0 - 27
apps/useradmin/src/useradmin/templates/edit_user_confirmation.mako

@@ -1,27 +0,0 @@
-## Licensed to Cloudera, Inc. under one
-## or more contributor license agreements.  See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership.  Cloudera, Inc. licenses this file
-## to you under the Apache License, Version 2.0 (the
-## "License"); you may not use this file except in compliance
-## with the License.  You may obtain a copy of the License at
-##
-##     http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-<%!
-from desktop.views import commonheader_iframe, commonfooter_iframe
-import urllib
-%>
-${commonheader_iframe()}
-
-<script type="text/javascript" charset="utf-8">
-	$(document).ready(function(){
-		window.parent.location.href = "/useradmin/users";
-	});
-</script>
-${commonfooter_iframe()}

+ 5 - 73
apps/useradmin/src/useradmin/templates/list_groups.mako

@@ -30,8 +30,8 @@ ${layout.menubar(section='groups')}
     <div class="well hueWell">
         <div class="pull-right btn-group">
             %if user.is_superuser == True:
-            <a id="addGroupBtn" href="#" class="btn">Add group</a>
-            <a id="addLdapGroupBtn" href="#" class="btn">Add/Sync LDAP group</a>
+            <a id="addGroupBtn" href="${url('useradmin.views.edit_group')}" class="btn">Add group</a>
+            <a id="addLdapGroupBtn" href="${url('useradmin.views.add_ldap_group')}" class="btn">Add/Sync LDAP group</a>
             %endif
         </div>
         <form class="form-search">
@@ -56,8 +56,8 @@ ${layout.menubar(section='groups')}
             <td>${', '.join([group_user.username for group_user in group.user_set.all()])}</td>
             <td>${', '.join([perm.app + "." + perm.action for perm in group_permissions(group)])}</td>
             %if user.is_superuser == True:
-            <td>
-              <a title="Edit ${group.name}" class="btn small editGroupBtn" data-url="${ url('useradmin.views.edit_group', name=urllib.quote(group.name)) }" data-name="${group.name}">Edit</a>
+            <td class="right">
+              <a title="Edit ${group.name}" class="btn small editGroupBtn" href="${ url('useradmin.views.edit_group', name=urllib.quote(group.name)) }">Edit</a>
               <a title="Delete ${group.name}" class="btn small confirmationModal" alt="Are you sure you want to delete ${group.name}?" href="javascript:void(0)" data-confirmation-url="${ url('useradmin.views.delete_group', name=urllib.quote_plus(group.name)) }">Delete</a>
             </td>
             %endif
@@ -81,45 +81,6 @@ ${layout.menubar(section='groups')}
     </form>
 </div>
 
-<div id="addGroup" class="modal hide fade groupModal">
-    <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>Add group</h3>
-    </div>
-    <div id="addGroupBody" class="modal-body">
-        <iframe id="addGroupFrame" frameBorder="0"></iframe>
-    </div>
-    <div class="modal-footer">
-        <button id="addGroupSaveBtn" class="btn primary">Save</button>
-    </div>
-</div>
-
-<div id="addLdapGroup" class="modal hide fade groupModal">
-    <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>Add or Sync a LDAP group</h3>
-    </div>
-    <div id="addLdapGroupBody" class="modal-body">
-        <iframe id="addLdapGroupFrame" frameBorder="0"></iframe>
-    </div>
-    <div class="modal-footer">
-        <button id="addLdapGroupSaveBtn" class="btn primary">Save</button>
-    </div>
-</div>
-
-<div id="editGroup" class="modal hide fade groupModal">
-    <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>Edit group <span class="groupName"></span></h3>
-    </div>
-    <div id="editGroupBody" class="modal-body">
-        <iframe id="editGroupFrame" frameBorder="0"></iframe>
-    </div>
-    <div class="modal-footer">
-        <button id="editGroupSaveBtn" class="btn primary">Save</button>
-    </div>
-</div>
-
 </div>
 
     <script type="text/javascript" charset="utf-8">
@@ -134,7 +95,7 @@ ${layout.menubar(section='groups')}
                     { "sWidth": "20%" },
                     null,
                     %if user.is_superuser == True:
-                    { "sWidth": "120px" },
+                    { "sWidth": "120px", "bSortable": false },
                     %endif
                  ]
             });
@@ -165,35 +126,6 @@ ${layout.menubar(section='groups')}
 
             });
 
-            $("#addGroupBtn").click(function(){
-                $("#addGroupFrame").css("height","400px").attr("src","${url('useradmin.views.edit_group')}");
-                $("#addGroup").modal("show");
-            });
-
-            $("#addGroupSaveBtn").click(function(){
-                $("#addGroupFrame").contents().find('form').submit();
-            });
-
-            $("#addLdapGroupBtn").click(function(){
-                $("#addLdapGroupFrame").css("height","200px").attr("src","${url('useradmin.views.add_ldap_group')}");
-                $("#addLdapGroup").modal("show");
-            });
-
-            $("#addLdapGroupSaveBtn").click(function(){
-                $("#addLdapGroupFrame").contents().find('form').submit();
-            });
-
-            $(".editGroupBtn").click(function(){
-                $("#editGroup").find(".groupName").text($(this).data("name"));
-                $("#editGroupFrame").css("height","400px").attr("src", $(this).data("url"));
-                $("#editGroup").modal("show");
-            });
-
-            $("#editGroupSaveBtn").click(function(){
-                $("#editGroupFrame").contents().find('form').submit();
-            });
-
-
         });
     </script>
 

+ 8 - 2
apps/useradmin/src/useradmin/templates/list_permissions.mako

@@ -51,7 +51,7 @@ ${layout.menubar(section='permissions')}
             <td>${perm.description}</td>
             <td>${', '.join([group.name for group in Group.objects.filter(grouppermission__hue_permission=perm).order_by('name')])}</td>
 			%if user.is_superuser == True:
-            <td>
+            <td class="right">
               <a title="Edit permission" class="btn small editPermissionBtn" data-url="${ url('useradmin.views.edit_permission', app=urllib.quote(perm.app), priv=urllib.quote(perm.action)) }" data-name="${perm.app}">Edit</a>
             </td>
 			%endif
@@ -82,7 +82,13 @@ ${layout.menubar(section='permissions')}
 				"bPaginate": false,
 			    "bLengthChange": false,
 				"bInfo": false,
-				"bFilter": false
+				"bFilter": false,
+				"aoColumns": [
+					null,
+					null,
+					null,
+					{ "bSortable": false }
+                 ]
 			});
 			$(".dataTables_wrapper").css("min-height","0");
 			$(".dataTables_filter").hide();

+ 6 - 74
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -30,8 +30,8 @@ ${layout.menubar(section='users')}
     <div class="well hueWell">
         <div class="btn-group pull-right">
             %if user.is_superuser == True:
-            <a id="addUserBtn" href="#" class="btn">Add user</a>
-            <a id="addLdapUserBtn" href="#" class="btn">Add/sync LDAP user</a>
+            <a id="addUserBtn" href="${ url('useradmin.views.edit_user') }" class="btn">Add user</a>
+            <a id="addLdapUserBtn" href="${ url('useradmin.views.add_ldap_user') }" class="btn">Add/sync LDAP user</a>
             <a id="syncLdapBtn" href="#" class="btn">Sync LDAP users/groups</a>
             %endif
         </div>
@@ -62,11 +62,11 @@ ${layout.menubar(section='users')}
                 <td>${date(listed_user.last_login)} ${time(listed_user.last_login).replace("p.m.","PM").replace("a.m.","AM")}</td>
                 <td class="right">
                 %if user.is_superuser == True:
-                    <a title="Edit ${listed_user.username}" class="btn small editUserBtn" data-url="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }" data-name="${listed_user.username}">Edit</a>
+                    <a title="Edit ${listed_user.username}" class="btn small" href="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }">Edit</a>
                     <a title="Delete ${listed_user.username}" class="btn small confirmationModal" alt="Are you sure you want to delete ${listed_user.username}?" href="javascript:void(0)" data-confirmation-url="${ url('useradmin.views.delete_user', username=urllib.quote_plus(listed_user.username)) }">Delete</a>
                 %else:
                     %if user.username == listed_user.username:
-                        <a title="Edit ${listed_user.username}" class="btn small editUserBtn" data-url="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }" data-name="${listed_user.username}">Edit</a>
+                        <a title="Edit ${listed_user.username}" class="btn small" href="${ url('useradmin.views.edit_user', username=urllib.quote(listed_user.username)) }">Edit</a>
                     %else:
                         &nbsp;
                     %endif
@@ -77,32 +77,6 @@ ${layout.menubar(section='users')}
         </tbody>
     </table>
 
-    <div id="addUser" class="modal hide fade userModal">
-        <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times;</a>
-            <h3>Add user</h3>
-        </div>
-        <div id="addUserBody" class="modal-body">
-            <iframe id="addUserFrame" class="scroll" frameBorder="0"></iframe>
-        </div>
-        <div class="modal-footer">
-            <button id="addUserSaveBtn" class="btn primary">Save</button>
-        </div>
-    </div>
-
-    <div id="addLdapUser" class="modal hide fade userModal">
-        <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times;</a>
-            <h3>Add or Sync a LDAP user</h3>
-        </div>
-        <div id="addLdapUserBody" class="modal-body">
-            <iframe id="addLdapUserFrame" class="scroll" frameBorder="0"></iframe>
-        </div>
-        <div class="modal-footer">
-            <button id="addLdapUserSaveBtn" class="btn primary">Save</button>
-        </div>
-    </div>
-
     <div id="syncLdap" class="modal hide fade userModal">
         <div class="modal-header">
             <a href="#" class="close" data-dismiss="modal">&times;</a>
@@ -116,19 +90,6 @@ ${layout.menubar(section='users')}
         </div>
     </div>
 
-    <div id="editUser" class="modal hide fade userModal">
-        <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times;</a>
-            <h3>Edit user <span class="username"></span></h3>
-        </div>
-        <div id="editUserBody" class="modal-body">
-            <iframe id="editUserFrame" class="scroll" frameBorder="0"></iframe>
-        </div>
-        <div class="modal-footer">
-            <button id="editUserSaveBtn" class="btn primary">Save</button>
-        </div>
-    </div>
-
     <div id="deleteUser" class="modal hide fade userModal">
         <form id="deleteUserForm" action="" method="POST">
         <div class="modal-header">
@@ -158,8 +119,8 @@ ${layout.menubar(section='users')}
                         null,
                         null,
                         null,
-                        null,
-                        { "sType": "date" }
+						{ "sType": "date" },
+                        { "bSortable": false }
                     ]
             });
             $(".dataTables_wrapper").css("min-height","0");
@@ -185,24 +146,6 @@ ${layout.menubar(section='users')}
 
             });
 
-            $("#addUserBtn").click(function(){
-                $("#addUserFrame").css("height","300px").attr("src","${ url('useradmin.views.edit_user') }");
-                $("#addUser").modal("show");
-            });
-
-            $("#addUserSaveBtn").click(function(){
-                $("#addUserFrame").contents().find('form').submit();
-            });
-
-            $("#addLdapUserBtn").click(function(){
-                $("#addLdapUserFrame").css("height","150px").attr("src","${ url('useradmin.views.add_ldap_user') }");
-                $("#addLdapUser").modal("show");
-            });
-
-            $("#addLdapUserSaveBtn").click(function(){
-                $("#addLdapUserFrame").contents().find('form').submit();
-            });
-
             $("#syncLdapBtn").click(function(){
                 $("#syncLdapFrame").css("height","150px").attr("src","${ url('useradmin.views.sync_ldap_users_groups') }");
                 $("#syncLdap").modal("show");
@@ -212,17 +155,6 @@ ${layout.menubar(section='users')}
                 $("#syncLdapFrame").contents().find('form').submit();
             });
 
-            $(".editUserBtn").click(function(){
-                $("#editUser").find(".username").text($(this).data("name"));
-                $("#editUserFrame").css("height","300px").attr("src", $(this).data("url"));
-                $("#editUser").modal("show");
-            });
-
-            $("#editUserSaveBtn").click(function(){
-                $("#editUserFrame").contents().find('form').submit();
-            });
-
-
         });
     </script>
 

+ 7 - 9
apps/useradmin/src/useradmin/views.py

@@ -217,8 +217,7 @@ def edit_user(request, username=None):
           __users_lock.release()
 
       request.path = urlresolvers.reverse(list_users)
-      return render('edit_user_confirmation.mako', request,
-	    dict(form=form, action=request.path, username=username))
+      return render("list_users.mako", request, dict(users=User.objects.all()))
   else:
     form = form_class(instance=instance)
   return render('edit_user.mako', request,
@@ -248,8 +247,7 @@ def edit_group(request, name=None):
     if form.is_valid():
       form.save()
       request.flash.put('Group information updated')
-      return render('edit_group_confirmation.mako', request,
-	    dict(form=form, action=request.path, name=name))
+      return render("list_groups.mako", request, dict(groups=Group.objects.all()))
 
   else:
     form = GroupEditForm(instance=instance)
@@ -338,10 +336,10 @@ def add_ldap_user(request):
         errors.append('Could not get LDAP details for user %s' % (username,))
       else:
         request.path = urlresolvers.reverse(list_users)
-        return render('edit_user_confirmation.mako', request, dict(form=form, action=request.path))
+        return render("list_users.mako", request, dict(users=User.objects.all()))
   else:
     form = AddLdapUserForm()
-  return render('edit_user.mako', request, dict(form=form, action=request.path))
+  return render('edit_user.mako', request, dict(form=form, action=request.path, ldap=True))
 
 class AddLdapGroupForm(forms.Form):
   name = forms.RegexField(
@@ -401,10 +399,10 @@ def add_ldap_group(request):
         errors.append('Could not get LDAP details for group %s' % (groupname,))
       else:
         request.path = urlresolvers.reverse(list_groups)
-        return render('edit_group_confirmation.mako', request, dict(form=form, action=request.path))
+        return render("list_groups.mako", request, dict(groups=Group.objects.all()))
   else:
     form = AddLdapGroupForm()
-  return render('edit_group.mako', request, dict(form=form, action=request.path))
+  return render('edit_group.mako', request, dict(form=form, action=request.path, ldap=True))
 
 def sync_ldap_users_groups(request):
   """
@@ -419,7 +417,7 @@ def sync_ldap_users_groups(request):
 
   if request.method == 'POST':
     sync_ldap_users_and_groups()
-    return render('edit_user_confirmation.mako', request, {})
+    return render("list_users.mako", request, dict(users=User.objects.all()))
   else:
     return render('sync_ldap_users_groups.mako', request, dict(action=request.path))
 

BIN
apps/useradmin/static/art/line_icons.png


+ 0 - 33
apps/useradmin/static/bootstrap.js

@@ -1,33 +0,0 @@
-// Licensed to Cloudera, Inc. under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  Cloudera, Inc. licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-Hue.Desktop.register({
-	UserAdmin: {
-		name: 'User Admin',
-		libs: '/useradmin/static/js/libs.json',
-		require: ['useradmin/Hue.UserAdmin'],
-		launch: function(path, options) {
-			return new Hue.UserAdmin(path || '/useradmin/', options);
-		},
-		css: '/useradmin/static/css/useradmin.css',
-		menu: {
-			id: 'hue-useradmin-menu',
-			img: {
-				src: '/useradmin/static/art/useradmin-logo.png'
-			}
-		},
-    help: '/help/useradmin'
-	}
-});

+ 0 - 83
apps/useradmin/static/css/useradmin.css

@@ -1,83 +0,0 @@
-// css Added here for convenience before merge -- FIXME
-
-.hidden {
-    display: none;
-}
-
-// end of convenience section
-
-.useradmin .jframe-window-toolbar {
-	position: absolute;
-}
-.useradmin_logo {
-	position: absolute;
-	top: 24px;
-	left: 14px;
-}
-.useradmin_userlist table {
-	border-bottom: 1px solid #B2B2B2;
-}
-.useradmin_userlist td a {
-	text-indent: -500px;
-	display: block;
-	float: left;
-	height: 18px;
-	width: 18px;
-	overflow: hidden;
-	margin-left: 6px;
-}
-.useradmin_userlist td a.edit {
-	background: url('../art/line_icons.png') no-repeat 0 -23px;
-}
-.useradmin_userlist td a.delete {
-	background: url('../art/line_icons.png') no-repeat 0 -70px;
-}
-.useradmin_userlist a.useradmin_add_user {
-	float: right;
-	display: block;
-	width: 60px;
-	border: 1px solid #666;
-	padding: 4px;
-	color: #666;
-	background: #ccc url('../art/line_icons.png') no-repeat 4px -88px;
-	-moz-border-radius: 6px;
-	-webkit-border-radius: 6px;
-	-moz-box-shadow: 0 1px 2px #999;
-	-webkit-box-shadow: 0 1px 2px #999;
-	margin: 8px;
-	padding-left: 26px;
-}
-#useradmin_userlist a.useradmin_add_user:hover {
-	text-decoration: none;
-	background: #ddd url('../art/line_icons.png') no-repeat 4px -88px;
-	color: #333;
-	border: 1px solid #333;
-}
-#useradmin_edituser .view {
-	background: #eee;
-}
-.useradmin_edituser dt {
-	float: left;
-	min-width: 150px;
-	line-height: 18px;
-	clear: both;
-}
-.useradmin_edituser dd {
-	margin-bottom: 6px;
-	width: 312px;
-	float: left;
-}
-.useradmin_edituser dd input[type=text], .useradmin_edituser dd input[type=password], .useradmin_edituser dd textarea, .useradmin_edituser dd select {
-	width: 300px;
-}
-div.jframe_contents.useradmin_edituser h1 {
-	background: #ccc;
-	padding: 8px;
-}
-.useradmin_edituser form {
-	width: 490px;
-	margin: 0px auto;
-}
-.useradmin_edituser dd.save {
-	text-align: right;
-}

+ 0 - 56
apps/useradmin/static/js/Source/UserAdmin/Hue.UserAdmin.js

@@ -1,56 +0,0 @@
-// Licensed to Cloudera, Inc. under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  Cloudera, Inc. licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-/*
----
-description: User Admin
-provides: [Hue.UserAdmin]
-requires: [JFrame/JFrame.Browser]
-script: Hue.UserAdmin.js
-
-...
-*/
-
-UI.Sheet.define('window.art.browser.useradmin', {
-	'header-height': 70,
-	'header-overflow': 'visible',
-	'min-width': 700
-});
-
-ART.Sheet.define('window.useradmin history.browser', {
-	'top':32,
-	'padding': '0 8px 0 60px'
-});
-
-ART.Sheet.define('window.useradmin history input', {
-	'left': 66
-});
-
-ART.Sheet.define('window.useradmin history input.disabled', {
-	'left': 66
-});
-
-
-Hue.UserAdmin = new Class({
-
-	Extends: Hue.JBrowser,
-
-	options: {
-		className: 'art browser logo_header useradmin',
-		jframeOptions: {
-			clickRelays: 'a, .relays'
-		}
-	}
-});

+ 0 - 5
apps/useradmin/static/js/package.yml

@@ -1,5 +0,0 @@
-copyright: Apache License v2.0
-version: 0.9
-description: User Admin
-name: useradmin
-sources: [Source/UserAdmin/Hue.UserAdmin.js]

+ 24 - 5
desktop/core/static/css/jhue.css

@@ -3,7 +3,9 @@
     background-image: -moz-linear-gradient(center top , #F5F5F5 0%, #EEEEEE 100%);
     background-repeat: repeat-x;
     border: 1px solid #E5E5E5;
-    border-radius: 4px 4px 4px 4px;
+    border-radius: 4px;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
     height: 36px;
     width: 100%;
 }
@@ -12,7 +14,9 @@
 }
 .subnav .nav > li > a {
     border-left: 1px solid #F5F5F5;
-    border-radius: 0 0 0 0;
+    border-radius: 0;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
     border-right: 1px solid #E5E5E5;
     margin: 0;
     padding-bottom: 11px;
@@ -32,6 +36,8 @@
 .subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover {
     border-left: 0 none;
     border-radius: 4px 0 0 4px;
+    -webkit-border-radius: 4px 0 0 4px;
+    -moz-border-radius: 4px 0 0 4px;
     padding-left: 12px;
 }
 .subnav .nav > li:last-child > a {
@@ -39,10 +45,14 @@
 }
 .subnav .dropdown-menu {
     border-radius: 0 0 4px 4px;
+    -webkit-border-radius: 0 0 4px 4px;
+    -moz-border-radius: 0 0 4px 4px;
 }
 .subnav-fixed {
     border-color: #D5D5D5;
-    border-radius: 0 0 0 0;
+    border-radius: 0;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
     border-width: 0 0 1px;
     box-shadow: 0 1px 0 #FFFFFF inset, 0 1px 5px rgba(0, 0, 0, 0.1);
     left: 0;
@@ -56,7 +66,9 @@
     padding: 0 1px;
 }
 .subnav .nav > li:first-child > a, .subnav .nav > li:first-child > a:hover {
-    border-radius: 0 0 0 0;
+    border-radius: 0;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
 }
 
 .navbar-inner {
@@ -845,8 +857,9 @@ div.box {
 	padding-left:4px;
 }
 .jHueSelector label input[type=checkbox] {
-	margin-right:3px;
     display: inline;
+    margin-top:-2px;
+    margin-right:6px;
 }
 
 .jHueSelectorHeader input[type=text] {
@@ -854,6 +867,12 @@ div.box {
     margin-left:180px;
 	width:100px;
 	height:11px;
+    border: 1px solid #CCCCCC;
+    border-radius: 5.5px;
+    -webkit-border-radius: 5.5px;
+    -moz-border-radius: 5.5px;
+    color: #555555;
+    font-size: 10px;
 }
 
 .jHueSelectorBody {