diff --git a/endpoints/api.py b/endpoints/api.py index 5f929aca2..361803a6a 100644 --- a/endpoints/api.py +++ b/endpoints/api.py @@ -427,6 +427,7 @@ def get_organization_members(orgname): for member in members: if not member.user.username in members_dict: members_dict[member.user.username] = {'username': member.user.username, + 'is_robot': member.user.robot, 'teams': []} members_dict[member.user.username]['teams'].append(member.team.name) diff --git a/static/css/quay.css b/static/css/quay.css index b63bbea29..237b66dc8 100644 --- a/static/css/quay.css +++ b/static/css/quay.css @@ -21,6 +21,25 @@ html, body { border-bottom: 1px dashed #aaa; } +.entity-reference .prefix { + color: #aaa; +} + +.entity-reference-element i.fa-user { + margin-left: 2px; + margin-right: 7px; +} + +.entity-reference-element i.fa-wrench { + margin-left: 1px; + margin-right: 5px; +} + +.entity-reference-element i.fa-group { + margin-right: 4px; +} + + .docker-auth-dialog .token-dialog-body .well { margin-bottom: 0px; } @@ -1175,20 +1194,6 @@ p.editable:hover i { padding-top: 20px; } -.repo-admin .user i.fa-user { - margin-left: 2px; - margin-right: 7px; -} - -.repo-admin .user i.fa-wrench { - margin-left: 1px; - margin-right: 5px; -} - -.repo-admin .team i.fa-group { - margin-right: 4px; -} - .repo-admin .entity { font-size: 1.2em; min-width: 300px; diff --git a/static/directives/entity-reference.html b/static/directives/entity-reference.html new file mode 100644 index 000000000..9b82b457e --- /dev/null +++ b/static/directives/entity-reference.html @@ -0,0 +1,7 @@ + + + + + {{team}} + {{getPrefix(name)}}{{getShortenedName(name)}} + diff --git a/static/js/app.js b/static/js/app.js index 7ba5b909e..031e42dcf 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -460,6 +460,37 @@ quayApp = angular.module('quay', ['ngRoute', 'restangular', 'angularMoment', 'an }); +quayApp.directive('entityReference', function () { + var directiveDefinitionObject = { + priority: 0, + templateUrl: '/static/directives/entity-reference.html', + replace: false, + transclude: false, + restrict: 'C', + scope: { + 'name': '=name', + 'orgname': '=orgname', + 'team': '=team', + 'isrobot': '=isrobot' + }, + controller: function($scope, $element) { + $scope.getPrefix = function(name) { + if (!name) { return ''; } + var plus = name.indexOf('+'); + return name.substr(0, plus + 1); + }; + + $scope.getShortenedName = function(name) { + if (!name) { return ''; } + var plus = name.indexOf('+'); + return name.substr(plus + 1); + }; + } + }; + return directiveDefinitionObject; +}); + + quayApp.directive('markdownView', function () { var directiveDefinitionObject = { priority: 0, diff --git a/static/js/controllers.js b/static/js/controllers.js index c3edc3733..fd182058a 100644 --- a/static/js/controllers.js +++ b/static/js/controllers.js @@ -427,16 +427,6 @@ function RepoAdminCtrl($scope, Restangular, $routeParams, $rootScope) { $scope.permissions = {'team': [], 'user': []}; - $scope.getPrefix = function(name) { - var plus = name.indexOf('+'); - return name.substr(0, plus + 1); - }; - - $scope.getShortenedName = function(name) { - var plus = name.indexOf('+'); - return name.substr(plus + 1); - }; - $scope.grantRole = function() { $('#confirmaddoutsideModal').modal('hide'); var entity = $scope.currentAddEntity; diff --git a/static/partials/org-admin.html b/static/partials/org-admin.html index 6b110099e..fab7c1156 100644 --- a/static/partials/org-admin.html +++ b/static/partials/org-admin.html @@ -113,14 +113,13 @@ - +
UserUser/Robot Account Teams
- - {{ memberInfo.username }} + diff --git a/static/partials/repo-admin.html b/static/partials/repo-admin.html index df7ff652c..7b5b0f588 100644 --- a/static/partials/repo-admin.html +++ b/static/partials/repo-admin.html @@ -52,8 +52,7 @@
- - {{name}} + @@ -69,9 +68,7 @@
- - - {{getPrefix(name)}}{{getShortenedName(name)}} + diff --git a/static/partials/team-view.html b/static/partials/team-view.html index fcb275c9a..9e97d21f5 100644 --- a/static/partials/team-view.html +++ b/static/partials/team-view.html @@ -20,9 +20,7 @@
- - - {{ member.username }} +