2013-11-22 23:20:51 +00:00
< div class = "robots-manager-element" >
2015-07-13 12:34:46 +00:00
< div class = "feedback-bar" feedback = "feedback" > < / div >
2015-03-31 22:50:43 +00:00
< div class = "cor-loader" ng-show = "loading" > < / div >
2013-11-22 23:20:51 +00:00
2015-02-18 00:37:37 +00:00
< div ng-show = "!loading" >
2015-04-17 20:43:53 +00:00
< div class = "manager-header" header-title = "Robot Accounts" >
2016-05-12 21:59:49 +00:00
< button class = "btn btn-primary" ng-click = "askCreateRobot()" ng-show = "isEnabled" >
< i class = "fa fa-plus" style = "margin-right: 4px;" > < / i > Create Robot Account
< / button >
2013-11-22 23:20:51 +00:00
< / div >
2015-04-17 20:43:53 +00:00
< div class = "section-description-header" >
2015-03-31 22:50:43 +00:00
Robot Accounts are named tokens that can be granted permissions on multiple repositories
under this < span ng-if = "organization" > organization< / span > < span ng-if = "!organization" > user namespace< / span > . They are typically used in environments where credentials will
be shared, such as deployment systems.
< / div >
2016-11-18 17:38:08 +00:00
< div class = "filter-box" collection = "robots" filter-model = "options.filter" filter-name = "Robot Accounts" > < / div >
2015-04-09 19:03:07 +00:00
2015-03-31 22:50:43 +00:00
< div class = "empty" ng-if = "!robots.length" >
< div class = "empty-primary-msg" > No robot accounts defined.< / div >
< div class = "empty-secondary-msg" >
Click the "Create Robot Account" button above to create a robot account.
< / div >
< / div >
2016-11-18 17:38:08 +00:00
< div class = "empty" ng-if = "robots.length && !orderedRobots.entries.length" >
2015-04-09 19:03:07 +00:00
< div class = "empty-primary-msg" > No robot accounts found matching filter.< / div >
< div class = "empty-secondary-msg" >
Please change your filter to display robot accounts.
< / div >
< / div >
2016-11-18 17:38:08 +00:00
< table class = "cor-table" ng-if = "orderedRobots.entries.length" >
2013-11-22 23:20:51 +00:00
< thead >
2016-11-18 17:38:08 +00:00
< td ng-class = "TableService.tablePredicateClass('name', options.predicate, options.reverse)" >
< a ng-click = "TableService.orderBy('name', options)" > Robot Account Name< / a >
< / td >
2018-03-09 21:28:52 +00:00
< td > Description< / td >
2016-11-18 17:38:08 +00:00
< td ng-if = "organization" ng-class = "TableService.tablePredicateClass('teams_string', options.predicate, options.reverse)" >
< a ng-click = "TableService.orderBy('teams_string', options)" > Teams< / a >
< / td >
2016-08-22 18:42:35 +00:00
< td > Repositories< / td >
2018-03-09 18:55:19 +00:00
< td ng-class = "TableService.tablePredicateClass('created_datetime', options.predicate, options.reverse)" >
< a ng-click = "TableService.orderBy('created_datetime', options)" > Created< / a >
< / td >
2015-03-31 22:50:43 +00:00
< td class = "options-col" > < / td >
2013-11-22 23:20:51 +00:00
< / thead >
2014-11-24 21:07:38 +00:00
2016-11-18 17:38:08 +00:00
< tr ng-repeat = "robotInfo in orderedRobots.visibleEntries" bindonce >
2016-08-22 18:42:35 +00:00
< td class = "robot" >
< i class = "fa ci-robot hidden-xs" > < / i >
< a ng-click = "showRobot(robotInfo)" >
< span class = "prefix" bo-text = "getPrefix(robotInfo.name) + '+'" > < / span > < span bo-text = "getShortenedName(robotInfo.name)" > < / span >
< / a >
< / td >
2018-03-09 21:28:52 +00:00
< td >
< span class = "empty" bo-if = "!robotInfo.description" > (None)< / span >
< span bo-if = "robotInfo.description" > {{ ::robotInfo.description }}< / span >
< / td >
2016-08-22 18:42:35 +00:00
< td bo-if = "organization" >
< span class = "empty" bo-if = "robotInfo.teams.length == 0" >
No teams
< / span >
< span class = "empty" bo-if = "robotInfo.teams.length > 0" >
< span ng-repeat = "team in robotInfo.teams"
data-title="Team {{ team.name }}" bs-tooltip>
< span class = "anchor" is-only-text = "!organization.is_admin" href = "/organization/{{ organization.name }}/teams/{{ team.name }}" >
< span class = "avatar" size = "24" data = "team.avatar" > < / span >
2015-04-01 17:56:30 +00:00
< / span >
2016-08-22 18:42:35 +00:00
< / span >
< / span >
< / td >
< td >
< span class = "empty" ng-if = "robotInfo.repositories.length == 0" >
< a is-only-text = "!organization.is_admin" ng-click = "setPermissions(robotInfo)" >
2016-06-21 22:16:23 +00:00
No repositories
2016-08-22 18:42:35 +00:00
< / a >
< / span >
2016-06-21 22:16:23 +00:00
2016-08-22 18:42:35 +00:00
< span class = "member-perm-summary" ng-if = "robotInfo.repositories.length > 0" >
< a is-only-text = "!organization.is_admin" ng-click = "setPermissions(robotInfo)" >
{{ robotInfo.repositories.length }}
< span ng-if = "robotInfo.repositories.length == 1" > repository< / span >
< span ng-if = "robotInfo.repositories.length > 1" > repositories< / span >
< / a >
< / span >
< / td >
2018-03-09 18:55:19 +00:00
< td >
< time-ago datetime = "robotInfo.created" > < / time-ago >
< / td >
2016-08-22 18:42:35 +00:00
< td class = "options-col" >
< span class = "cor-options-menu" >
< span class = "cor-option" option-click = "showRobot(robotInfo)" >
< i class = "fa fa-key" > < / i > View Credentials
2015-03-31 22:50:43 +00:00
< / span >
2016-08-22 18:42:35 +00:00
< span class = "cor-option" option-click = "setPermissions(robotInfo)" >
< i class = "fa fa-hdd-o" > < / i > Set Repository Permissions
2015-03-31 22:50:43 +00:00
< / span >
2016-08-22 18:42:35 +00:00
< span class = "cor-option" option-click = "askDeleteRobot(robotInfo)" >
< i class = "fa fa-times" > < / i > Delete Robot {{ robotInfo.name }}
< / span >
< / span >
< / td >
< / tr >
2013-11-22 23:20:51 +00:00
< / table >
2016-11-18 17:38:08 +00:00
< div ng-if = "orderedRobots.hasHiddenEntries" >
< div class = "cor-loader-inline" > < / div >
< / div >
2013-11-23 01:14:44 +00:00
< / div >
2013-11-22 23:20:51 +00:00
2016-08-22 18:42:35 +00:00
<!-- Set repo permissions dialog -->
< div class = "set-repo-permissions-dialog" info = "setRepoPermissionsInfo"
permissions-set="handlePermissionsSet(info, repositories)">< / div >
2016-05-12 21:59:49 +00:00
< div class = "create-robot-dialog" info = "createRobotInfo" robot-created = "robotCreated()" > < / div >
2016-04-29 23:37:35 +00:00
< div class = "robot-credentials-dialog" info = "robotDisplayInfo" > < / div >
2013-11-22 23:20:51 +00:00
< / div >