From d02364a8338a141a0da5b6e7f4349fdf20eab70e Mon Sep 17 00:00:00 2001 From: mabashian Date: Mon, 28 Oct 2019 14:50:48 -0400 Subject: [PATCH 1/4] Configures access tabs for job template, project, inventory and smart inventory details views. --- awx/ui_next/src/api/models/Inventories.js | 6 ++++ awx/ui_next/src/api/models/JobTemplates.js | 5 ++++ awx/ui_next/src/api/models/Projects.js | 5 ++++ .../DeleteRoleConfirmationModal.jsx | 8 ++--- .../DeleteRoleConfirmationModal.test.jsx | 0 .../ResourceAccessList.jsx} | 27 +++++++---------- .../ResourceAccessList.test.jsx} | 30 +++++++++---------- .../ResourceAccessListItem.jsx} | 4 +-- .../ResourceAccessListItem.test.jsx} | 8 ++--- .../DeleteRoleConfirmationModal.test.jsx.snap | 4 +-- .../ResourceAccessListItem.test.jsx.snap} | 22 +++++++------- .../components/ResourceAccessList/index.js | 5 ++++ .../src/screens/Inventory/Inventory.jsx | 11 +++++-- .../InventoryAccess/InventoryAccess.jsx | 10 ------- .../Inventory/InventoryAccess/index.js | 1 - .../src/screens/Inventory/SmartInventory.jsx | 9 ++++-- .../SmartInventoryAccess.jsx | 10 ------- .../Inventory/SmartInventoryAccess/index.js | 1 - .../src/screens/Organization/Organization.jsx | 7 +++-- .../Organization/OrganizationAccess/index.js | 5 ---- awx/ui_next/src/screens/Project/Project.jsx | 9 ++++-- .../Project/ProjectAccess/ProjectAccess.jsx | 10 ------- .../screens/Project/ProjectAccess/index.js | 1 - awx/ui_next/src/screens/Template/Template.jsx | 15 +++++++++- 24 files changed, 109 insertions(+), 104 deletions(-) rename awx/ui_next/src/{screens/Organization/OrganizationAccess => components/ResourceAccessList}/DeleteRoleConfirmationModal.jsx (88%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess => components/ResourceAccessList}/DeleteRoleConfirmationModal.test.jsx (100%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess/OrganizationAccess.jsx => components/ResourceAccessList/ResourceAccessList.jsx} (89%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx => components/ResourceAccessList/ResourceAccessList.test.jsx} (84%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx => components/ResourceAccessList/ResourceAccessListItem.jsx} (97%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx => components/ResourceAccessList/ResourceAccessListItem.test.jsx} (78%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess => components/ResourceAccessList}/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap (98%) rename awx/ui_next/src/{screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccessItem.test.jsx.snap => components/ResourceAccessList/__snapshots__/ResourceAccessListItem.test.jsx.snap} (98%) create mode 100644 awx/ui_next/src/components/ResourceAccessList/index.js delete mode 100644 awx/ui_next/src/screens/Inventory/InventoryAccess/InventoryAccess.jsx delete mode 100644 awx/ui_next/src/screens/Inventory/InventoryAccess/index.js delete mode 100644 awx/ui_next/src/screens/Inventory/SmartInventoryAccess/SmartInventoryAccess.jsx delete mode 100644 awx/ui_next/src/screens/Inventory/SmartInventoryAccess/index.js delete mode 100644 awx/ui_next/src/screens/Organization/OrganizationAccess/index.js delete mode 100644 awx/ui_next/src/screens/Project/ProjectAccess/ProjectAccess.jsx delete mode 100644 awx/ui_next/src/screens/Project/ProjectAccess/index.js diff --git a/awx/ui_next/src/api/models/Inventories.js b/awx/ui_next/src/api/models/Inventories.js index 9c9f86754a..cdd30d4e6f 100644 --- a/awx/ui_next/src/api/models/Inventories.js +++ b/awx/ui_next/src/api/models/Inventories.js @@ -4,6 +4,12 @@ class Inventories extends Base { constructor(http) { super(http); this.baseUrl = '/api/v2/inventories/'; + + this.readAccessList = this.readAccessList.bind(this); + } + + readAccessList(id, params) { + return this.http.get(`${this.baseUrl}${id}/access_list/`, { params }); } } diff --git a/awx/ui_next/src/api/models/JobTemplates.js b/awx/ui_next/src/api/models/JobTemplates.js index 1587f6c86b..cec450ce0d 100644 --- a/awx/ui_next/src/api/models/JobTemplates.js +++ b/awx/ui_next/src/api/models/JobTemplates.js @@ -12,6 +12,7 @@ class JobTemplates extends InstanceGroupsMixin(NotificationsMixin(Base)) { this.associateLabel = this.associateLabel.bind(this); this.disassociateLabel = this.disassociateLabel.bind(this); this.readCredentials = this.readCredentials.bind(this); + this.readAccessList = this.readAccessList.bind(this); this.generateLabel = this.generateLabel.bind(this); } @@ -57,6 +58,10 @@ class JobTemplates extends InstanceGroupsMixin(NotificationsMixin(Base)) { disassociate: true, }); } + + readAccessList(id, params) { + return this.http.get(`${this.baseUrl}${id}/access_list/`, { params }); + } } export default JobTemplates; diff --git a/awx/ui_next/src/api/models/Projects.js b/awx/ui_next/src/api/models/Projects.js index 3af665f2cb..742150e5aa 100644 --- a/awx/ui_next/src/api/models/Projects.js +++ b/awx/ui_next/src/api/models/Projects.js @@ -7,11 +7,16 @@ class Projects extends LaunchUpdateMixin(NotificationsMixin(Base)) { super(http); this.baseUrl = '/api/v2/projects/'; + this.readAccessList = this.readAccessList.bind(this); this.readPlaybooks = this.readPlaybooks.bind(this); this.readSync = this.readSync.bind(this); this.sync = this.sync.bind(this); } + readAccessList(id, params) { + return this.http.get(`${this.baseUrl}${id}/access_list/`, { params }); + } + readPlaybooks(id) { return this.http.get(`${this.baseUrl}${id}/playbooks/`); } diff --git a/awx/ui_next/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx b/awx/ui_next/src/components/ResourceAccessList/DeleteRoleConfirmationModal.jsx similarity index 88% rename from awx/ui_next/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx rename to awx/ui_next/src/components/ResourceAccessList/DeleteRoleConfirmationModal.jsx index 4c5aaaa69a..11b5e4a21f 100644 --- a/awx/ui_next/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx +++ b/awx/ui_next/src/components/ResourceAccessList/DeleteRoleConfirmationModal.jsx @@ -39,7 +39,7 @@ class DeleteRoleConfirmationModal extends React.Component {