Yoshie Muranaka | 8c80dbd | 2019-08-08 10:58:04 -0500 | [diff] [blame] | 1 | window.angular && (function(angular) { |
| 2 | 'use strict'; |
| 3 | |
| 4 | /** |
| 5 | * Role table |
| 6 | * Table of privilege role descriptions |
| 7 | */ |
| 8 | angular.module('app.users').directive('roleTable', [ |
| 9 | '$sce', |
| 10 | function($sce) { |
| 11 | return { |
| 12 | restrict: 'E', |
| 13 | template: require('./role-table.html'), |
| 14 | controllerAs: 'roleTableCtrl', |
| 15 | controller: function() { |
| 16 | // TODO: This is a workaround to render the checkmark svg icon |
| 17 | // Would eventually like to enhance <bmc-table> component to |
| 18 | // compile custom directives as table items |
| 19 | const svg = require('../../assets/icons/icon-check.svg'); |
| 20 | const check = |
| 21 | $sce.trustAsHtml(`<span class="icon__check-mark">${svg}<span>`); |
| 22 | |
Yoshie Muranaka | b1f6424 | 2019-09-04 11:40:51 -0700 | [diff] [blame^] | 23 | this.tableHeader = [ |
| 24 | {label: ''}, {label: 'Admin'}, {label: 'Operator'}, {label: 'User'}, |
| 25 | {label: 'Callback'} |
| 26 | ]; |
Yoshie Muranaka | 8c80dbd | 2019-08-08 10:58:04 -0500 | [diff] [blame] | 27 | |
| 28 | // TODO: When API changed from D-Bus to Redfish, 'Operator' role |
| 29 | // should have 'Configure components managed by this service' |
| 30 | // privilege checked |
Yoshie Muranaka | c799714 | 2019-09-03 07:31:45 -0700 | [diff] [blame] | 31 | // TODO: When 'Operator' and 'User' roles have ability to change |
| 32 | // own account's passwords, should have 'Update password for |
| 33 | // current user account' privilege checked |
Yoshie Muranaka | b1f6424 | 2019-09-04 11:40:51 -0700 | [diff] [blame^] | 34 | this.tableData = [ |
Yoshie Muranaka | 8c80dbd | 2019-08-08 10:58:04 -0500 | [diff] [blame] | 35 | { |
| 36 | uiData: [ |
| 37 | 'Configure components managed by this service', check, '', '', |
| 38 | '' |
| 39 | ] |
| 40 | }, |
| 41 | {uiData: ['Configure manager resources', check, '', '', '']}, |
| 42 | { |
| 43 | uiData: [ |
Yoshie Muranaka | c799714 | 2019-09-03 07:31:45 -0700 | [diff] [blame] | 44 | 'Update password for current user account', check, '', '', '' |
Yoshie Muranaka | 8c80dbd | 2019-08-08 10:58:04 -0500 | [diff] [blame] | 45 | ] |
| 46 | }, |
| 47 | {uiData: ['Configure users and their accounts', check, '', '', '']}, |
| 48 | { |
| 49 | uiData: [ |
| 50 | 'Log in to the service and read resources', check, check, check, |
| 51 | '' |
| 52 | ] |
| 53 | }, |
| 54 | {uiData: ['IPMI access point', check, check, check, check]}, |
| 55 | {uiData: ['Redfish access point', check, check, check, '']}, |
| 56 | {uiData: ['SSH access point', check, check, check, '']}, |
| 57 | {uiData: ['WebUI access point', check, check, check, '']}, |
| 58 | ]; |
| 59 | |
| 60 | this.isCollapsed = true; |
| 61 | this.onClick = () => { |
| 62 | this.isCollapsed = !this.isCollapsed; |
| 63 | }; |
| 64 | } |
| 65 | }; |
| 66 | } |
| 67 | ]); |
| 68 | })(window.angular); |