diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b2eebf71a0..2384441812 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,4 @@
-# Ansible AWX/Tower V2
+# Ansible AWX UI With PatternFly
Hi there! We're excited to have you as a contributor.
diff --git a/__tests__/App.test.jsx b/__tests__/App.test.jsx
index bf3393aa31..fb6af10158 100644
--- a/__tests__/App.test.jsx
+++ b/__tests__/App.test.jsx
@@ -74,7 +74,7 @@ describe('', () => {
// check about modal content
const content = await waitForElement(wrapper, aboutModalContent);
expect(content.find('dd').text()).toContain(ansible_version);
- expect(content.find('pre').text()).toContain(`< Tower ${version} >`);
+ expect(content.find('pre').text()).toContain(`< AWX ${version} >`);
// close about modal
wrapper.find(aboutModalClose).simulate('click');
diff --git a/__tests__/components/TowerLogo.test.jsx b/__tests__/components/BrandLogo.test.jsx
similarity index 63%
rename from __tests__/components/TowerLogo.test.jsx
rename to __tests__/components/BrandLogo.test.jsx
index fde568320d..a4cf9e845e 100644
--- a/__tests__/components/TowerLogo.test.jsx
+++ b/__tests__/components/BrandLogo.test.jsx
@@ -1,24 +1,24 @@
import React from 'react';
import { mountWithContexts } from '../enzymeHelpers';
-import TowerLogo from '../../src/components/TowerLogo';
+import BrandLogo from '../../src/components/BrandLogo';
let logoWrapper;
-let towerLogoElem;
+let brandLogoElem;
let svgElem;
const findChildren = () => {
- towerLogoElem = logoWrapper.find('TowerLogo');
+ brandLogoElem = logoWrapper.find('BrandLogo');
svgElem = logoWrapper.find('svg');
};
-describe('', () => {
+describe('', () => {
test('initially renders without crashing', () => {
logoWrapper = mountWithContexts(
-
+
);
findChildren();
expect(logoWrapper.length).toBe(1);
- expect(towerLogoElem.length).toBe(1);
+ expect(brandLogoElem.length).toBe(1);
expect(svgElem.length).toBe(1);
});
});
diff --git a/__tests__/pages/Login.test.jsx b/__tests__/pages/Login.test.jsx
index 51b79e742f..6489869b77 100644
--- a/__tests__/pages/Login.test.jsx
+++ b/__tests__/pages/Login.test.jsx
@@ -63,8 +63,8 @@ describe('', () => {
mountLogin();
findChildren();
expect(loginHeaderLogo.length).toBe(1);
- expect(loginHeaderLogo.props().src).toBe('tower-logo-header.svg');
- expect(loginHeaderLogo.props().alt).toBe('Ansible Tower');
+ expect(loginHeaderLogo.props().src).toBe('brand-logo.svg');
+ expect(loginHeaderLogo.props().alt).toBe('AWX');
});
test('state maps to un/pw input value props', () => {
diff --git a/build/locales/en/messages.js b/build/locales/en/messages.js
index 47ec354bb5..61cb8198b8 100644
--- a/build/locales/en/messages.js
+++ b/build/locales/en/messages.js
@@ -1 +1 @@
-/* eslint-disable */module.exports={languageData:{"plurals":function(n,ord){var s=String(n).split("."),v0=!s[1],t0=Number(s[0])==n,n10=t0&&s[0].slice(-1),n100=t0&&s[0].slice(-2);if(ord)return n10==1&&n100!=11?"one":n10==2&&n100!=12?"two":n10==3&&n100!=13?"few":"other";return n==1&&v0?"one":"other"}},messages:{"> add":"> add","> edit":"> edit","About":"About","AboutModal Logo":"AboutModal Logo","Access":"Access","Add":"Add","Administration":"Administration","Admins":"Admins","Ansible Version":"Ansible Version","Applications":"Applications","Authentication":"Authentication","Authentication Settings":"Authentication Settings","Brand Image":"Brand Image","Collapse":"Collapse","Copyright 2018 Red Hat, Inc.":"Copyright 2018 Red Hat, Inc.","Created":"Created","Credential Types":"Credential Types","Credentials":"Credentials","Dashboard":"Dashboard","Delete":"Delete","Edit":"Edit","Expand":"Expand","First":"First","Help":"Help","Instance Groups":"Instance Groups","Integrations":"Integrations","Invalid username or password. Please try again.":"Invalid username or password. Please try again.","Inventories":"Inventories","Inventory Scripts":"Inventory Scripts","Jobs":"Jobs","Jobs Settings":"Jobs Settings","Last":"Last","License":"License","Logout":"Logout","Management Jobs":"Management Jobs","Modified":"Modified","My View":"My View","Name":"Name","Next":"Next","Notification Templates":"Notification Templates","Notifications":"Notifications","Organization Add":"Organization Add","Organization detail tabs":"Organization detail tabs","Organizations":"Organizations","Organizations List":"Organizations List","Page <0/> of {pageCount}":function(a){return["Page <0/> of ",a("pageCount")]},"Page Number":"Page Number","Password":"Password","Per Page":"Per Page","Portal Mode":"Portal Mode","Previous":"Previous","Primary Navigation":"Primary Navigation","Projects":"Projects","Resources":"Resources","Schedules":"Schedules","Search":"Search","Search text input":"Search text input","Select all":"Select all","Settings":"Settings","Sort":"Sort","System":"System","System Settings":"System Settings","Teams":"Teams","Templates":"Templates","Tower Brand Image":"Tower Brand Image","User Details":"User Details","User Interface":"User Interface","User Interface Settings":"User Interface Settings","Username":"Username","Users":"Users","Views":"Views","Welcome to Ansible Tower! Please Sign In.":"Welcome to Ansible Tower! Please Sign In.","add {currentTab}":function(a){return["add ",a("currentTab")]},"adding {currentTab}":function(a){return["adding ",a("currentTab")]},"confirm removal of {currentTab}/cancel and go back to {currentTab} view.":function(a){return["confirm removal of ",a("currentTab"),"/cancel and go back to ",a("currentTab")," view."]},"delete {currentTab}":function(a){return["delete ",a("currentTab")]},"deleting {currentTab} association with orgs":function(a){return["deleting ",a("currentTab")," association with orgs"]},"edit view":"edit view","save/cancel and go back to view":"save/cancel and go back to view","save/cancel and go back to {currentTab} view":function(a){return["save/cancel and go back to ",a("currentTab")," view"]},"select organization {itemId}":function(a){return["select organization ",a("itemId")]},"{0}":function(a){return[a("0")]},"{currentTab} detail view":function(a){return[a("currentTab")," detail view"]},"{itemMin} - {itemMax} of {count}":function(a){return[a("itemMin")," - ",a("itemMax")," of ",a("count")]}}};
\ No newline at end of file
+/* eslint-disable */module.exports={languageData:{"plurals":function(n,ord){var s=String(n).split("."),v0=!s[1],t0=Number(s[0])==n,n10=t0&&s[0].slice(-1),n100=t0&&s[0].slice(-2);if(ord)return n10==1&&n100!=11?"one":n10==2&&n100!=12?"two":n10==3&&n100!=13?"few":"other";return n==1&&v0?"one":"other"}},messages:{"404":"404","> add":"> add","> edit":"> edit","AWX Logo":"AWX Logo","About":"About","AboutModal Logo":"AboutModal Logo","Access":"Access","Add":"Add","Add Roles":"Add Roles","Add Team Roles":"Add Team Roles","Add User Roles":"Add User Roles","Administration":"Administration","Admins":"Admins","Ansible Environment":"Ansible Environment","Ansible Version":"Ansible Version","Applications":"Applications","Apply roles":"Apply roles","Are you sure you want to delete:":"Are you sure you want to delete:","Are you sure you want to remove {0} access from {1}? Doing so affects all members of the team.":function(a){return["Are you sure you want to remove ",a("0")," access from ",a("1"),"? Doing so affects all members of the team."]},"Are you sure you want to remove {0} access from {username}?":function(a){return["Are you sure you want to remove ",a("0")," access from ",a("username"),"?"]},"Authentication":"Authentication","Authentication Settings":"Authentication Settings","Brand Image":"Brand Image","Cancel":"Cancel","Cannot find organization with ID":"Cannot find organization with ID","Cannot find resource.":"Cannot find resource.","Cannot find route {0}.":function(a){return["Cannot find route ",a("0"),"."]},"Close":"Close","Collapse":"Collapse","Copyright 2018 Red Hat, Inc.":"Copyright 2018 Red Hat, Inc.","Copyright 2019 Red Hat, Inc.":"Copyright 2019 Red Hat, Inc.","Create New Organization":"Create New Organization","Created":"Created","Credential Types":"Credential Types","Credentials":"Credentials","Current page":"Current page","Dashboard":"Dashboard","Delete":"Delete","Delete {0}":function(a){return["Delete ",a("0")]},"Delete {itemName}":function(a){return["Delete ",a("itemName")]},"Description":"Description","Details":"Details","Edit":"Edit","Edit Details":"Edit Details","Expand":"Expand","Failure":"Failure","First":"First","Go to first page":"Go to first page","Go to last page":"Go to last page","Go to next page":"Go to next page","Go to previous page":"Go to previous page","Help":"Help","If you {0} want to remove access for this particular user, please remove them from the team.":function(a){return["If you ",a("0")," want to remove access for this particular user, please remove them from the team."]},"Info":"Info","Instance Groups":"Instance Groups","Integrations":"Integrations","Invalid username or password. Please try again.":"Invalid username or password. Please try again.","Inventories":"Inventories","Inventory Scripts":"Inventory Scripts","Items Per Page":"Items Per Page","Items per page":"Items per page","Items {itemMin} \u2013 {itemMax} of {count}":function(a){return["Items ",a("itemMin")," \u2013 ",a("itemMax")," of ",a("count")]},"Jobs":"Jobs","Jobs Settings":"Jobs Settings","Last":"Last","Last Modified":"Last Modified","Last Name":"Last Name","License":"License","Loading...":"Loading...","Logout":"Logout","Management Jobs":"Management Jobs","Members":"Members","Modified":"Modified","My View":"My View","Name":"Name","Next":"Next","No {0} Found":function(a){return["No ",a("0")," Found"]},"Notification Templates":"Notification Templates","Notifications":"Notifications","Organization Add":"Organization Add","Organization detail tabs":"Organization detail tabs","Organizations":"Organizations","Organizations List":"Organizations List","Page":"Page","Page <0/> of {pageCount}":function(a){return["Page <0/> of ",a("pageCount")]},"Page Number":"Page Number","Pagination":"Pagination","Password":"Password","Per Page":"Per Page","Please add {0} to populate this list":function(a){return["Please add ",a("0")," to populate this list"]},"Please add {0} {itemName} to populate this list":function(a){return["Please add ",a("0")," ",a("itemName")," to populate this list"]},"Portal Mode":"Portal Mode","Previous":"Previous","Primary Navigation":"Primary Navigation","Projects":"Projects","Remove {0} Access":function(a){return["Remove ",a("0")," Access"]},"Resources":"Resources","Save":"Save","Schedules":"Schedules","Search":"Search","Search text input":"Search text input","Select":"Select","Select Input":"Select Input","Select Users Or Teams":"Select Users Or Teams","Select a row to delete":"Select a row to delete","Select all":"Select all","Select items from list":"Select items from list","Select the Instance Groups for this Organization to run on.":"Select the Instance Groups for this Organization to run on.","Select {header}":function(a){return["Select ",a("header")]},"Selected":"Selected","Settings":"Settings","Sort":"Sort","Successful":"Successful","System":"System","System Settings":"System Settings","Team":"Team","Team Roles":"Team Roles","Teams":"Teams","Templates":"Templates","This field must not be blank":"This field must not be blank","This field must not exceed {max} characters":function(a){return["This field must not exceed ",a("max")," characters"]},"Toggle notification failure":"Toggle notification failure","Toggle notification success":"Toggle notification success","Use Default {label}":function(a){return["Use Default ",a("label")]},"User":"User","User Details":"User Details","User Interface":"User Interface","User Interface Settings":"User Interface Settings","User Roles":"User Roles","Username":"Username","Users":"Users","Views":"Views","Welcome to Ansible {brandName}! Please Sign In.":function(a){return["Welcome to Ansible ",a("brandName"),"! Please Sign In."]},"You do not have permission to delete the following {0}: {itemsUnableToDelete}":function(a){return["You do not have permission to delete the following ",a("0"),": ",a("itemsUnableToDelete")]},"You have been logged out.":"You have been logged out.","add {currentTab}":function(a){return["add ",a("currentTab")]},"adding {currentTab}":function(a){return["adding ",a("currentTab")]},"cancel delete":"cancel delete","confirm delete":"confirm delete","confirm removal of {currentTab}/cancel and go back to {currentTab} view.":function(a){return["confirm removal of ",a("currentTab"),"/cancel and go back to ",a("currentTab")," view."]},"delete {currentTab}":function(a){return["delete ",a("currentTab")]},"deleting {currentTab} association with orgs":function(a){return["deleting ",a("currentTab")," association with orgs"]},"edit view":"edit view","items":"items","of {pageCount}":function(a){return["of ",a("pageCount")]},"pages":"pages","per page":"per page","save/cancel and go back to view":"save/cancel and go back to view","save/cancel and go back to {currentTab} view":function(a){return["save/cancel and go back to ",a("currentTab")," view"]},"select organization {itemId}":function(a){return["select organization ",a("itemId")]},"{0}":function(a){return[a("0")]},"{0} List":function(a){return[a("0")," List"]},"{currentTab} detail view":function(a){return[a("currentTab")," detail view"]},"{itemMin} - {itemMax} of {count}":function(a){return[a("itemMin")," - ",a("itemMax")," of ",a("count")]}}};
\ No newline at end of file
diff --git a/build/locales/en/messages.po b/build/locales/en/messages.po
index 070d3b5067..36f394e076 100644
--- a/build/locales/en/messages.po
+++ b/build/locales/en/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
-#: src/contexts/Network.jsx:56
+#: src/contexts/Network.jsx:52
msgid "404"
msgstr ""
@@ -25,38 +25,43 @@ msgstr ""
#~ msgid "> edit"
#~ msgstr ""
+#: src/components/BrandLogo/BrandLogo.jsx:71
+msgid "AWX Logo"
+msgstr ""
+
#: src/components/PageHeaderToolbar.jsx:88
msgid "About"
msgstr ""
#: src/components/About.jsx:59
-msgid "AboutModal Logo"
-msgstr ""
+#~ msgid "AboutModal Logo"
+#~ msgstr ""
-#: src/index.jsx:140
+#: src/index.jsx:148
#: src/pages/Organizations/Organizations.jsx:43
-#: src/pages/Organizations/screens/Organization/Organization.jsx:131
+#: src/pages/Organizations/screens/Organization/Organization.jsx:124
msgid "Access"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarAddButton.jsx:33
-#: src/components/PaginatedDataList/ToolbarAddButton.jsx:44
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:25
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:32
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:42
msgid "Add"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:153
+#: src/components/AddRole/AddResourceRole.jsx:147
msgid "Add Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:150
+#: src/components/AddRole/AddResourceRole.jsx:144
msgid "Add Team Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:147
+#: src/components/AddRole/AddResourceRole.jsx:141
msgid "Add User Roles"
msgstr ""
-#: src/index.jsx:161
+#: src/index.jsx:169
msgid "Administration"
msgstr ""
@@ -66,11 +71,11 @@ msgstr ""
#: src/pages/Organizations/components/OrganizationForm.jsx:123
#: src/pages/Organizations/components/OrganizationForm.jsx:128
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:142
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:79
msgid "Ansible Environment"
msgstr ""
-#: src/components/About.jsx:75
+#: src/components/About.jsx:73
msgid "Ansible Version"
msgstr ""
@@ -78,11 +83,11 @@ msgstr ""
msgid "Applications"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:209
+#: src/components/AddRole/AddResourceRole.jsx:203
msgid "Apply roles"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:165
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:155
msgid "Are you sure you want to delete:"
msgstr ""
@@ -94,7 +99,7 @@ msgstr ""
msgid "Are you sure you want to remove {0} access from {username}?"
msgstr ""
-#: src/index.jsx:196
+#: src/index.jsx:204
msgid "Authentication"
msgstr ""
@@ -106,10 +111,10 @@ msgstr ""
msgid "Brand Image"
msgstr ""
-#: src/components/FormActionGroup/FormActionGroup.jsx:30
-#: src/components/FormActionGroup/FormActionGroup.jsx:30
-#: src/components/Lookup/Lookup.jsx:169
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:161
+#: src/components/FormActionGroup/FormActionGroup.jsx:27
+#: src/components/FormActionGroup/FormActionGroup.jsx:27
+#: src/components/Lookup/Lookup.jsx:162
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:151
#: src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx:45
msgid "Cancel"
msgstr ""
@@ -118,7 +123,7 @@ msgstr ""
msgid "Cannot find organization with ID"
msgstr ""
-#: src/contexts/Network.jsx:57
+#: src/contexts/Network.jsx:53
msgid "Cannot find resource."
msgstr ""
@@ -126,11 +131,11 @@ msgstr ""
msgid "Cannot find route {0}."
msgstr ""
-#: src/App.jsx:94
-#: src/components/CardCloseButton.jsx:14
-#: src/components/CardCloseButton.jsx:15
-#: src/components/CardCloseButton.jsx:27
-#: src/components/Lookup/Lookup.jsx:169
+#: src/App.jsx:109
+#: src/components/CardCloseButton.jsx:22
+#: src/components/CardCloseButton.jsx:23
+#: src/components/CardCloseButton.jsx:34
+#: src/components/Lookup/Lookup.jsx:162
#: src/pages/Organizations/screens/OrganizationAdd.jsx:67
msgid "Close"
msgstr ""
@@ -140,7 +145,11 @@ msgid "Collapse"
msgstr ""
#: src/components/About.jsx:55
-msgid "Copyright 2018 Red Hat, Inc."
+#~ msgid "Copyright 2018 Red Hat, Inc."
+#~ msgstr ""
+
+#: src/components/About.jsx:55
+msgid "Copyright 2019 Red Hat, Inc."
msgstr ""
#: src/pages/Organizations/Organizations.jsx:39
@@ -148,53 +157,57 @@ msgstr ""
msgid "Create New Organization"
msgstr ""
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:58
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:146
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:50
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:83
#: src/pages/Organizations/screens/OrganizationsList.jsx:164
msgid "Created"
msgstr ""
-#: src/index.jsx:165
+#: src/index.jsx:173
#: src/pages/CredentialTypes.jsx:19
msgid "Credential Types"
msgstr ""
-#: src/index.jsx:118
+#: src/index.jsx:126
#: src/pages/Credentials.jsx:19
msgid "Credentials"
msgstr ""
-#: src/index.jsx:87
+#: src/components/Pagination/Pagination.jsx:29
+msgid "Current page"
+msgstr ""
+
+#: src/index.jsx:95
#: src/pages/Dashboard.jsx:19
msgid "Dashboard"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:109
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:130
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:153
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:95
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:119
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:143
#: src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx:42
msgid "Delete"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:142
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:132
msgid "Delete {0}"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:141
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:131
msgid "Delete {itemName}"
msgstr ""
#: src/pages/Organizations/components/OrganizationForm.jsx:113
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:138
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:75
msgid "Description"
msgstr ""
#: src/pages/Organizations/Organizations.jsx:42
-#: src/pages/Organizations/screens/Organization/Organization.jsx:130
+#: src/pages/Organizations/screens/Organization/Organization.jsx:123
msgid "Details"
msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:171
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:110
msgid "Edit"
msgstr ""
@@ -207,12 +220,27 @@ msgid "Expand"
msgstr ""
#: src/components/NotificationsList/NotificationListItem.jsx:82
-#: src/components/NotificationsList/NotificationListItem.jsx:97
msgid "Failure"
msgstr ""
#: src/components/Pagination/Pagination.jsx:170
-msgid "First"
+#~ msgid "First"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:24
+msgid "Go to first page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:26
+msgid "Go to last page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:27
+msgid "Go to next page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:25
+msgid "Go to previous page"
msgstr ""
#: src/components/PageHeaderToolbar.jsx:80
@@ -227,42 +255,46 @@ msgstr ""
msgid "Info"
msgstr ""
-#: src/index.jsx:180
+#: src/index.jsx:188
#: src/pages/InstanceGroups.jsx:19
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:32
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:50
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:159
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:24
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:42
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:93
msgid "Instance Groups"
msgstr ""
-#: src/index.jsx:185
+#: src/index.jsx:193
msgid "Integrations"
msgstr ""
-#: src/pages/Login.jsx:84
+#: src/pages/Login.jsx:94
msgid "Invalid username or password. Please try again."
msgstr ""
-#: src/index.jsx:128
+#: src/index.jsx:136
#: src/pages/Inventories.jsx:19
msgid "Inventories"
msgstr ""
-#: src/index.jsx:133
+#: src/index.jsx:141
#: src/pages/InventoryScripts.jsx:19
msgid "Inventory Scripts"
msgstr ""
#: src/components/Pagination/Pagination.jsx:142
-msgid "Items Per Page"
+#~ msgid "Items Per Page"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:22
+msgid "Items per page"
msgstr ""
#: src/components/Pagination/Pagination.jsx:162
-msgid "Items {itemMin} – {itemMax} of {count}"
-msgstr ""
+#~ msgid "Items {itemMin} – {itemMax} of {count}"
+#~ msgstr ""
-#: src/index.jsx:92
-#: src/index.jsx:201
+#: src/index.jsx:100
+#: src/index.jsx:209
#: src/pages/Jobs.jsx:19
msgid "Jobs"
msgstr ""
@@ -272,23 +304,23 @@ msgid "Jobs Settings"
msgstr ""
#: src/components/Pagination/Pagination.jsx:213
-msgid "Last"
-msgstr ""
+#~ msgid "Last"
+#~ msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:150
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:87
msgid "Last Modified"
msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:173
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:175
msgid "Last Name"
msgstr ""
-#: src/index.jsx:216
+#: src/index.jsx:224
#: src/pages/License.jsx:19
msgid "License"
msgstr ""
-#: src/components/AddRole/SelectResourceStep.jsx:96
+#: src/components/AddRole/SelectResourceStep.jsx:89
msgid "Loading..."
msgstr ""
@@ -296,7 +328,7 @@ msgstr ""
msgid "Logout"
msgstr ""
-#: src/index.jsx:175
+#: src/index.jsx:183
#: src/pages/ManagementJobs.jsx:19
msgid "Management Jobs"
msgstr ""
@@ -305,33 +337,32 @@ msgstr ""
msgid "Members"
msgstr ""
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:57
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:49
#: src/pages/Organizations/screens/OrganizationsList.jsx:163
msgid "Modified"
msgstr ""
-#: src/index.jsx:102
+#: src/index.jsx:110
#: src/pages/Portal.jsx:19
msgid "My View"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:140
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:116
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:56
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:109
+#: src/components/AddRole/AddResourceRole.jsx:134
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:99
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:48
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:100
#: src/pages/Organizations/components/OrganizationForm.jsx:105
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:171
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:134
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:173
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:71
#: src/pages/Organizations/screens/OrganizationsList.jsx:162
msgid "Name"
msgstr ""
#: src/components/Pagination/Pagination.jsx:204
-msgid "Next"
-msgstr ""
+#~ msgid "Next"
+#~ msgstr ""
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:133
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:196
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:119
msgid "No {0} Found"
msgstr ""
@@ -339,9 +370,9 @@ msgstr ""
msgid "Notification Templates"
msgstr ""
-#: src/index.jsx:170
+#: src/index.jsx:178
#: src/pages/Organizations/Organizations.jsx:45
-#: src/pages/Organizations/screens/Organization/Organization.jsx:137
+#: src/pages/Organizations/screens/Organization/Organization.jsx:130
msgid "Notifications"
msgstr ""
@@ -349,11 +380,11 @@ msgstr ""
#~ msgid "Organization Add"
#~ msgstr ""
-#: src/pages/Organizations/screens/Organization/Organization.jsx:153
+#: src/pages/Organizations/screens/Organization/Organization.jsx:144
msgid "Organization detail tabs"
msgstr ""
-#: src/index.jsx:144
+#: src/index.jsx:152
#: src/pages/Organizations/Organizations.jsx:38
#: src/pages/Organizations/Organizations.jsx:24
msgid "Organizations"
@@ -364,18 +395,22 @@ msgstr ""
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:190
-msgid "Page"
-msgstr ""
+#~ msgid "Page"
+#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:189
#~ msgid "Page <0/> of {pageCount}"
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:193
-msgid "Page Number"
+#~ msgid "Page Number"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:30
+msgid "Pagination"
msgstr ""
-#: src/pages/Login.jsx:82
+#: src/pages/Login.jsx:92
msgid "Password"
msgstr ""
@@ -383,24 +418,28 @@ msgstr ""
#~ msgid "Per Page"
#~ msgstr ""
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:122
+msgid "Please add {0} to populate this list"
+msgstr ""
+
#: src/components/PaginatedDataList/PaginatedDataList.jsx:136
#: src/components/PaginatedDataList/PaginatedDataList.jsx:199
-msgid "Please add {0} {itemName} to populate this list"
-msgstr ""
+#~ msgid "Please add {0} {itemName} to populate this list"
+#~ msgstr ""
#: src/App.jsx:203
#~ msgid "Portal Mode"
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:179
-msgid "Previous"
-msgstr ""
+#~ msgid "Previous"
+#~ msgstr ""
-#: src/index.jsx:80
+#: src/index.jsx:88
msgid "Primary Navigation"
msgstr ""
-#: src/index.jsx:123
+#: src/index.jsx:131
#: src/pages/Projects.jsx:19
msgid "Projects"
msgstr ""
@@ -409,18 +448,18 @@ msgstr ""
msgid "Remove {0} Access"
msgstr ""
-#: src/index.jsx:109
+#: src/index.jsx:117
msgid "Resources"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:220
-#: src/components/FormActionGroup/FormActionGroup.jsx:27
-#: src/components/FormActionGroup/FormActionGroup.jsx:27
-#: src/components/Lookup/Lookup.jsx:168
+#: src/components/AddRole/AddResourceRole.jsx:214
+#: src/components/FormActionGroup/FormActionGroup.jsx:24
+#: src/components/FormActionGroup/FormActionGroup.jsx:24
+#: src/components/Lookup/Lookup.jsx:161
msgid "Save"
msgstr ""
-#: src/index.jsx:97
+#: src/index.jsx:105
#: src/pages/Schedules.jsx:19
msgid "Schedules"
msgstr ""
@@ -433,23 +472,27 @@ msgstr ""
msgid "Search text input"
msgstr ""
+#: src/components/Pagination/Pagination.jsx:28
+msgid "Select"
+msgstr ""
+
#: src/components/AnsibleSelect/AnsibleSelect.jsx:28
msgid "Select Input"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:159
+#: src/components/AddRole/AddResourceRole.jsx:153
msgid "Select Users Or Teams"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:111
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:97
msgid "Select a row to delete"
msgstr ""
-#: src/components/DataListToolbar/DataListToolbar.jsx:102
+#: src/components/DataListToolbar/DataListToolbar.jsx:108
msgid "Select all"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:178
+#: src/components/AddRole/AddResourceRole.jsx:172
msgid "Select items from list"
msgstr ""
@@ -457,19 +500,19 @@ msgstr ""
msgid "Select the Instance Groups for this Organization to run on."
msgstr ""
-#: src/components/Lookup/Lookup.jsx:164
+#: src/components/Lookup/Lookup.jsx:157
msgid "Select {header}"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:187
-#: src/components/AddRole/AddResourceRole.jsx:198
-#: src/components/AddRole/AddResourceRole.jsx:215
+#: src/components/AddRole/AddResourceRole.jsx:181
+#: src/components/AddRole/AddResourceRole.jsx:192
+#: src/components/AddRole/AddResourceRole.jsx:209
#: src/components/AddRole/SelectRoleStep.jsx:29
-#: src/components/Lookup/Lookup.jsx:193
+#: src/components/Lookup/Lookup.jsx:187
msgid "Selected"
msgstr ""
-#: src/index.jsx:192
+#: src/index.jsx:200
msgid "Settings"
msgstr ""
@@ -481,7 +524,7 @@ msgstr ""
msgid "Successful"
msgstr ""
-#: src/index.jsx:206
+#: src/index.jsx:214
msgid "System"
msgstr ""
@@ -493,20 +536,20 @@ msgstr ""
msgid "Team"
msgstr ""
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:144
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:122
msgid "Team Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:169
-#: src/index.jsx:154
+#: src/components/AddRole/AddResourceRole.jsx:163
+#: src/index.jsx:162
#: src/pages/Organizations/Organizations.jsx:44
#: src/pages/Organizations/components/OrganizationListItem.jsx:99
-#: src/pages/Organizations/screens/Organization/Organization.jsx:132
+#: src/pages/Organizations/screens/Organization/Organization.jsx:125
#: src/pages/Teams.jsx:19
msgid "Teams"
msgstr ""
-#: src/index.jsx:113
+#: src/index.jsx:121
#: src/pages/Templates.jsx:19
msgid "Templates"
msgstr ""
@@ -520,7 +563,6 @@ msgid "This field must not exceed {max} characters"
msgstr ""
#: src/components/NotificationsList/NotificationListItem.jsx:90
-#: src/components/NotificationsList/NotificationListItem.jsx:105
msgid "Toggle notification failure"
msgstr ""
@@ -528,10 +570,6 @@ msgstr ""
msgid "Toggle notification success"
msgstr ""
-#: src/components/TowerLogo/TowerLogo.jsx:48
-msgid "Tower Brand Image"
-msgstr ""
-
#: src/components/AnsibleSelect/AnsibleSelect.jsx:35
msgid "Use Default {label}"
msgstr ""
@@ -544,7 +582,7 @@ msgstr ""
msgid "User Details"
msgstr ""
-#: src/index.jsx:211
+#: src/index.jsx:219
msgid "User Interface"
msgstr ""
@@ -552,35 +590,35 @@ msgstr ""
msgid "User Interface Settings"
msgstr ""
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:122
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:112
msgid "User Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:136
-#: src/pages/Login.jsx:81
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:172
+#: src/components/AddRole/AddResourceRole.jsx:130
+#: src/pages/Login.jsx:91
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:174
msgid "Username"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:164
-#: src/index.jsx:149
+#: src/components/AddRole/AddResourceRole.jsx:158
+#: src/index.jsx:157
#: src/pages/Users.jsx:19
msgid "Users"
msgstr ""
-#: src/index.jsx:83
+#: src/index.jsx:91
msgid "Views"
msgstr ""
-#: src/pages/Login.jsx:76
-msgid "Welcome to Ansible Tower! Please Sign In."
+#: src/pages/Login.jsx:86
+msgid "Welcome to Ansible {brandName}! Please Sign In."
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:104
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:90
msgid "You do not have permission to delete the following {0}: {itemsUnableToDelete}"
msgstr ""
-#: src/contexts/Network.jsx:44
+#: src/contexts/Network.jsx:40
msgid "You have been logged out."
msgstr ""
@@ -592,11 +630,11 @@ msgstr ""
#~ msgid "adding {currentTab}"
#~ msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:158
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:148
msgid "cancel delete"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:150
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:140
msgid "confirm delete"
msgstr ""
@@ -616,12 +654,21 @@ msgstr ""
#~ msgid "edit view"
#~ msgstr ""
-#: src/components/Lookup/Lookup.jsx:135
+#: src/components/Lookup/Lookup.jsx:128
+#: src/components/Pagination/Pagination.jsx:20
msgid "items"
msgstr ""
#: src/components/Pagination/Pagination.jsx:198
-msgid "of {pageCount}"
+#~ msgid "of {pageCount}"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:21
+msgid "pages"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:23
+msgid "per page"
msgstr ""
#: src/pages/Organizations/components/OrganizationEdit.jsx:22
@@ -640,8 +687,7 @@ msgstr ""
#~ msgid "{0}"
#~ msgstr ""
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:153
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:215
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:135
msgid "{0} List"
msgstr ""
diff --git a/build/locales/ja/messages.js b/build/locales/ja/messages.js
index 6dcc02caef..b3b6c304be 100644
--- a/build/locales/ja/messages.js
+++ b/build/locales/ja/messages.js
@@ -1 +1 @@
-/* eslint-disable */module.exports={languageData:{"plurals":function(n,ord){if(ord)return"other";return"other"}},messages:{"> add":"> add","> edit":"> edit","About":"About","AboutModal Logo":"AboutModal Logo","Access":"Access","Add":"Add","Administration":"Administration","Admins":"Admins","Ansible Version":"Ansible Version","Applications":"Applications","Authentication":"Authentication","Authentication Settings":"Authentication Settings","Brand Image":"Brand Image","Collapse":"Collapse","Copyright 2018 Red Hat, Inc.":"Copyright 2018 Red Hat, Inc.","Created":"Created","Credential Types":"Credential Types","Credentials":"Credentials","Dashboard":"Dashboard","Delete":"Delete","Edit":"Edit","Expand":"Expand","First":"First","Help":"Help","Instance Groups":"Instance Groups","Integrations":"Integrations","Invalid username or password. Please try again.":"Invalid username or password. Please try again.","Inventories":"Inventories","Inventory Scripts":"Inventory Scripts","Jobs":"Jobs","Jobs Settings":"Jobs Settings","Last":"Last","License":"License","Logout":"Logout","Management Jobs":"Management Jobs","Modified":"Modified","My View":"My View","Name":"Name","Next":"Next","Notification Templates":"Notification Templates","Notifications":"Notifications","Organization Add":"Organization Add","Organization detail tabs":"Organization detail tabs","Organizations":"Organizations","Organizations List":"Organizations List","Page <0/> of {pageCount}":function(a){return["Page <0/> of ",a("pageCount")]},"Page Number":"Page Number","Password":"Password","Per Page":"Per Page","Portal Mode":"Portal Mode","Previous":"Previous","Primary Navigation":"Primary Navigation","Projects":"Projects","Resources":"Resources","Schedules":"Schedules","Search":"Search","Search text input":"Search text input","Select all":"Select all","Settings":"Settings","Sort":"Sort","System":"System","System Settings":"System Settings","Teams":"Teams","Templates":"Templates","Tower Brand Image":"Tower Brand Image","User Details":"User Details","User Interface":"User Interface","User Interface Settings":"User Interface Settings","Username":"Username","Users":"Users","Views":"Views","Welcome to Ansible Tower! Please Sign In.":"Welcome to Ansible Tower! Please Sign In.","add {currentTab}":function(a){return["add ",a("currentTab")]},"adding {currentTab}":function(a){return["adding ",a("currentTab")]},"confirm removal of {currentTab}/cancel and go back to {currentTab} view.":function(a){return["confirm removal of ",a("currentTab"),"/cancel and go back to ",a("currentTab")," view."]},"delete {currentTab}":function(a){return["delete ",a("currentTab")]},"deleting {currentTab} association with orgs":function(a){return["deleting ",a("currentTab")," association with orgs"]},"edit view":"edit view","save/cancel and go back to view":"save/cancel and go back to view","save/cancel and go back to {currentTab} view":function(a){return["save/cancel and go back to ",a("currentTab")," view"]},"select organization {itemId}":function(a){return["select organization ",a("itemId")]},"{0}":function(a){return[a("0")]},"{currentTab} detail view":function(a){return[a("currentTab")," detail view"]},"{itemMin} - {itemMax} of {count}":function(a){return[a("itemMin")," - ",a("itemMax")," of ",a("count")]}}};
\ No newline at end of file
+/* eslint-disable */module.exports={languageData:{"plurals":function(n,ord){if(ord)return"other";return"other"}},messages:{"404":"404","> add":"> add","> edit":"> edit","AWX Logo":"AWX Logo","About":"About","AboutModal Logo":"AboutModal Logo","Access":"Access","Add":"Add","Add Roles":"Add Roles","Add Team Roles":"Add Team Roles","Add User Roles":"Add User Roles","Administration":"Administration","Admins":"Admins","Ansible Environment":"Ansible Environment","Ansible Version":"Ansible Version","Applications":"Applications","Apply roles":"Apply roles","Are you sure you want to delete:":"Are you sure you want to delete:","Are you sure you want to remove {0} access from {1}? Doing so affects all members of the team.":function(a){return["Are you sure you want to remove ",a("0")," access from ",a("1"),"? Doing so affects all members of the team."]},"Are you sure you want to remove {0} access from {username}?":function(a){return["Are you sure you want to remove ",a("0")," access from ",a("username"),"?"]},"Authentication":"Authentication","Authentication Settings":"Authentication Settings","Brand Image":"Brand Image","Cancel":"Cancel","Cannot find organization with ID":"Cannot find organization with ID","Cannot find resource.":"Cannot find resource.","Cannot find route {0}.":function(a){return["Cannot find route ",a("0"),"."]},"Close":"Close","Collapse":"Collapse","Copyright 2018 Red Hat, Inc.":"Copyright 2018 Red Hat, Inc.","Copyright 2019 Red Hat, Inc.":"Copyright 2019 Red Hat, Inc.","Create New Organization":"Create New Organization","Created":"Created","Credential Types":"Credential Types","Credentials":"Credentials","Current page":"Current page","Dashboard":"Dashboard","Delete":"Delete","Delete {0}":function(a){return["Delete ",a("0")]},"Delete {itemName}":function(a){return["Delete ",a("itemName")]},"Description":"Description","Details":"Details","Edit":"Edit","Edit Details":"Edit Details","Expand":"Expand","Failure":"Failure","First":"First","Go to first page":"Go to first page","Go to last page":"Go to last page","Go to next page":"Go to next page","Go to previous page":"Go to previous page","Help":"Help","If you {0} want to remove access for this particular user, please remove them from the team.":function(a){return["If you ",a("0")," want to remove access for this particular user, please remove them from the team."]},"Info":"Info","Instance Groups":"Instance Groups","Integrations":"Integrations","Invalid username or password. Please try again.":"Invalid username or password. Please try again.","Inventories":"Inventories","Inventory Scripts":"Inventory Scripts","Items Per Page":"Items Per Page","Items per page":"Items per page","Items {itemMin} \u2013 {itemMax} of {count}":function(a){return["Items ",a("itemMin")," \u2013 ",a("itemMax")," of ",a("count")]},"Jobs":"Jobs","Jobs Settings":"Jobs Settings","Last":"Last","Last Modified":"Last Modified","Last Name":"Last Name","License":"License","Loading...":"Loading...","Logout":"Logout","Management Jobs":"Management Jobs","Members":"Members","Modified":"Modified","My View":"My View","Name":"Name","Next":"Next","No {0} Found":function(a){return["No ",a("0")," Found"]},"Notification Templates":"Notification Templates","Notifications":"Notifications","Organization Add":"Organization Add","Organization detail tabs":"Organization detail tabs","Organizations":"Organizations","Organizations List":"Organizations List","Page":"Page","Page <0/> of {pageCount}":function(a){return["Page <0/> of ",a("pageCount")]},"Page Number":"Page Number","Pagination":"Pagination","Password":"Password","Per Page":"Per Page","Please add {0} to populate this list":function(a){return["Please add ",a("0")," to populate this list"]},"Please add {0} {itemName} to populate this list":function(a){return["Please add ",a("0")," ",a("itemName")," to populate this list"]},"Portal Mode":"Portal Mode","Previous":"Previous","Primary Navigation":"Primary Navigation","Projects":"Projects","Remove {0} Access":function(a){return["Remove ",a("0")," Access"]},"Resources":"Resources","Save":"Save","Schedules":"Schedules","Search":"Search","Search text input":"Search text input","Select":"Select","Select Input":"Select Input","Select Users Or Teams":"Select Users Or Teams","Select a row to delete":"Select a row to delete","Select all":"Select all","Select items from list":"Select items from list","Select the Instance Groups for this Organization to run on.":"Select the Instance Groups for this Organization to run on.","Select {header}":function(a){return["Select ",a("header")]},"Selected":"Selected","Settings":"Settings","Sort":"Sort","Successful":"Successful","System":"System","System Settings":"System Settings","Team":"Team","Team Roles":"Team Roles","Teams":"Teams","Templates":"Templates","This field must not be blank":"This field must not be blank","This field must not exceed {max} characters":function(a){return["This field must not exceed ",a("max")," characters"]},"Toggle notification failure":"Toggle notification failure","Toggle notification success":"Toggle notification success","Use Default {label}":function(a){return["Use Default ",a("label")]},"User":"User","User Details":"User Details","User Interface":"User Interface","User Interface Settings":"User Interface Settings","User Roles":"User Roles","Username":"Username","Users":"Users","Views":"Views","Welcome to Ansible {brandName}! Please Sign In.":function(a){return["Welcome to Ansible ",a("brandName"),"! Please Sign In."]},"You do not have permission to delete the following {0}: {itemsUnableToDelete}":function(a){return["You do not have permission to delete the following ",a("0"),": ",a("itemsUnableToDelete")]},"You have been logged out.":"You have been logged out.","add {currentTab}":function(a){return["add ",a("currentTab")]},"adding {currentTab}":function(a){return["adding ",a("currentTab")]},"cancel delete":"cancel delete","confirm delete":"confirm delete","confirm removal of {currentTab}/cancel and go back to {currentTab} view.":function(a){return["confirm removal of ",a("currentTab"),"/cancel and go back to ",a("currentTab")," view."]},"delete {currentTab}":function(a){return["delete ",a("currentTab")]},"deleting {currentTab} association with orgs":function(a){return["deleting ",a("currentTab")," association with orgs"]},"edit view":"edit view","items":"items","of {pageCount}":function(a){return["of ",a("pageCount")]},"pages":"pages","per page":"per page","save/cancel and go back to view":"save/cancel and go back to view","save/cancel and go back to {currentTab} view":function(a){return["save/cancel and go back to ",a("currentTab")," view"]},"select organization {itemId}":function(a){return["select organization ",a("itemId")]},"{0}":function(a){return[a("0")]},"{0} List":function(a){return[a("0")," List"]},"{currentTab} detail view":function(a){return[a("currentTab")," detail view"]},"{itemMin} - {itemMax} of {count}":function(a){return[a("itemMin")," - ",a("itemMax")," of ",a("count")]}}};
\ No newline at end of file
diff --git a/build/locales/ja/messages.po b/build/locales/ja/messages.po
index 741d9e4070..e98eac3858 100644
--- a/build/locales/ja/messages.po
+++ b/build/locales/ja/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
-#: src/contexts/Network.jsx:56
+#: src/contexts/Network.jsx:52
msgid "404"
msgstr ""
@@ -25,38 +25,43 @@ msgstr ""
#~ msgid "> edit"
#~ msgstr ""
+#: src/components/BrandLogo/BrandLogo.jsx:71
+msgid "AWX Logo"
+msgstr ""
+
#: src/components/PageHeaderToolbar.jsx:88
msgid "About"
msgstr ""
#: src/components/About.jsx:59
-msgid "AboutModal Logo"
-msgstr ""
+#~ msgid "AboutModal Logo"
+#~ msgstr ""
-#: src/index.jsx:140
+#: src/index.jsx:148
#: src/pages/Organizations/Organizations.jsx:43
-#: src/pages/Organizations/screens/Organization/Organization.jsx:131
+#: src/pages/Organizations/screens/Organization/Organization.jsx:124
msgid "Access"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarAddButton.jsx:33
-#: src/components/PaginatedDataList/ToolbarAddButton.jsx:44
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:25
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:32
+#: src/components/PaginatedDataList/ToolbarAddButton.jsx:42
msgid "Add"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:153
+#: src/components/AddRole/AddResourceRole.jsx:147
msgid "Add Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:150
+#: src/components/AddRole/AddResourceRole.jsx:144
msgid "Add Team Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:147
+#: src/components/AddRole/AddResourceRole.jsx:141
msgid "Add User Roles"
msgstr ""
-#: src/index.jsx:161
+#: src/index.jsx:169
msgid "Administration"
msgstr ""
@@ -66,11 +71,11 @@ msgstr ""
#: src/pages/Organizations/components/OrganizationForm.jsx:123
#: src/pages/Organizations/components/OrganizationForm.jsx:128
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:142
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:79
msgid "Ansible Environment"
msgstr ""
-#: src/components/About.jsx:75
+#: src/components/About.jsx:73
msgid "Ansible Version"
msgstr ""
@@ -78,11 +83,11 @@ msgstr ""
msgid "Applications"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:209
+#: src/components/AddRole/AddResourceRole.jsx:203
msgid "Apply roles"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:165
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:155
msgid "Are you sure you want to delete:"
msgstr ""
@@ -94,7 +99,7 @@ msgstr ""
msgid "Are you sure you want to remove {0} access from {username}?"
msgstr ""
-#: src/index.jsx:196
+#: src/index.jsx:204
msgid "Authentication"
msgstr ""
@@ -106,10 +111,10 @@ msgstr ""
msgid "Brand Image"
msgstr ""
-#: src/components/FormActionGroup/FormActionGroup.jsx:30
-#: src/components/FormActionGroup/FormActionGroup.jsx:30
-#: src/components/Lookup/Lookup.jsx:169
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:161
+#: src/components/FormActionGroup/FormActionGroup.jsx:27
+#: src/components/FormActionGroup/FormActionGroup.jsx:27
+#: src/components/Lookup/Lookup.jsx:162
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:151
#: src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx:45
msgid "Cancel"
msgstr ""
@@ -118,7 +123,7 @@ msgstr ""
msgid "Cannot find organization with ID"
msgstr ""
-#: src/contexts/Network.jsx:57
+#: src/contexts/Network.jsx:53
msgid "Cannot find resource."
msgstr ""
@@ -126,11 +131,11 @@ msgstr ""
msgid "Cannot find route {0}."
msgstr ""
-#: src/App.jsx:94
-#: src/components/CardCloseButton.jsx:14
-#: src/components/CardCloseButton.jsx:15
-#: src/components/CardCloseButton.jsx:27
-#: src/components/Lookup/Lookup.jsx:169
+#: src/App.jsx:109
+#: src/components/CardCloseButton.jsx:22
+#: src/components/CardCloseButton.jsx:23
+#: src/components/CardCloseButton.jsx:34
+#: src/components/Lookup/Lookup.jsx:162
#: src/pages/Organizations/screens/OrganizationAdd.jsx:67
msgid "Close"
msgstr ""
@@ -140,7 +145,11 @@ msgid "Collapse"
msgstr ""
#: src/components/About.jsx:55
-msgid "Copyright 2018 Red Hat, Inc."
+#~ msgid "Copyright 2018 Red Hat, Inc."
+#~ msgstr ""
+
+#: src/components/About.jsx:55
+msgid "Copyright 2019 Red Hat, Inc."
msgstr ""
#: src/pages/Organizations/Organizations.jsx:39
@@ -148,53 +157,57 @@ msgstr ""
msgid "Create New Organization"
msgstr ""
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:58
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:146
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:50
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:83
#: src/pages/Organizations/screens/OrganizationsList.jsx:164
msgid "Created"
msgstr ""
-#: src/index.jsx:165
+#: src/index.jsx:173
#: src/pages/CredentialTypes.jsx:19
msgid "Credential Types"
msgstr ""
-#: src/index.jsx:118
+#: src/index.jsx:126
#: src/pages/Credentials.jsx:19
msgid "Credentials"
msgstr ""
-#: src/index.jsx:87
+#: src/components/Pagination/Pagination.jsx:29
+msgid "Current page"
+msgstr ""
+
+#: src/index.jsx:95
#: src/pages/Dashboard.jsx:19
msgid "Dashboard"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:109
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:130
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:153
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:95
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:119
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:143
#: src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx:42
msgid "Delete"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:142
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:132
msgid "Delete {0}"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:141
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:131
msgid "Delete {itemName}"
msgstr ""
#: src/pages/Organizations/components/OrganizationForm.jsx:113
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:138
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:75
msgid "Description"
msgstr ""
#: src/pages/Organizations/Organizations.jsx:42
-#: src/pages/Organizations/screens/Organization/Organization.jsx:130
+#: src/pages/Organizations/screens/Organization/Organization.jsx:123
msgid "Details"
msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:171
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:110
msgid "Edit"
msgstr ""
@@ -207,12 +220,27 @@ msgid "Expand"
msgstr ""
#: src/components/NotificationsList/NotificationListItem.jsx:82
-#: src/components/NotificationsList/NotificationListItem.jsx:97
msgid "Failure"
msgstr ""
#: src/components/Pagination/Pagination.jsx:170
-msgid "First"
+#~ msgid "First"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:24
+msgid "Go to first page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:26
+msgid "Go to last page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:27
+msgid "Go to next page"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:25
+msgid "Go to previous page"
msgstr ""
#: src/components/PageHeaderToolbar.jsx:80
@@ -227,42 +255,46 @@ msgstr ""
msgid "Info"
msgstr ""
-#: src/index.jsx:180
+#: src/index.jsx:188
#: src/pages/InstanceGroups.jsx:19
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:32
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:50
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:159
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:24
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:42
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:93
msgid "Instance Groups"
msgstr ""
-#: src/index.jsx:185
+#: src/index.jsx:193
msgid "Integrations"
msgstr ""
-#: src/pages/Login.jsx:84
+#: src/pages/Login.jsx:94
msgid "Invalid username or password. Please try again."
msgstr ""
-#: src/index.jsx:128
+#: src/index.jsx:136
#: src/pages/Inventories.jsx:19
msgid "Inventories"
msgstr ""
-#: src/index.jsx:133
+#: src/index.jsx:141
#: src/pages/InventoryScripts.jsx:19
msgid "Inventory Scripts"
msgstr ""
#: src/components/Pagination/Pagination.jsx:142
-msgid "Items Per Page"
+#~ msgid "Items Per Page"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:22
+msgid "Items per page"
msgstr ""
#: src/components/Pagination/Pagination.jsx:162
-msgid "Items {itemMin} – {itemMax} of {count}"
-msgstr ""
+#~ msgid "Items {itemMin} – {itemMax} of {count}"
+#~ msgstr ""
-#: src/index.jsx:92
-#: src/index.jsx:201
+#: src/index.jsx:100
+#: src/index.jsx:209
#: src/pages/Jobs.jsx:19
msgid "Jobs"
msgstr ""
@@ -272,23 +304,23 @@ msgid "Jobs Settings"
msgstr ""
#: src/components/Pagination/Pagination.jsx:213
-msgid "Last"
-msgstr ""
+#~ msgid "Last"
+#~ msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:150
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:87
msgid "Last Modified"
msgstr ""
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:173
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:175
msgid "Last Name"
msgstr ""
-#: src/index.jsx:216
+#: src/index.jsx:224
#: src/pages/License.jsx:19
msgid "License"
msgstr ""
-#: src/components/AddRole/SelectResourceStep.jsx:96
+#: src/components/AddRole/SelectResourceStep.jsx:89
msgid "Loading..."
msgstr ""
@@ -296,7 +328,7 @@ msgstr ""
msgid "Logout"
msgstr ""
-#: src/index.jsx:175
+#: src/index.jsx:183
#: src/pages/ManagementJobs.jsx:19
msgid "Management Jobs"
msgstr ""
@@ -305,33 +337,32 @@ msgstr ""
msgid "Members"
msgstr ""
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:57
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:49
#: src/pages/Organizations/screens/OrganizationsList.jsx:163
msgid "Modified"
msgstr ""
-#: src/index.jsx:102
+#: src/index.jsx:110
#: src/pages/Portal.jsx:19
msgid "My View"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:140
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:116
-#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:56
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:109
+#: src/components/AddRole/AddResourceRole.jsx:134
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:99
+#: src/pages/Organizations/components/InstanceGroupsLookup.jsx:48
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:100
#: src/pages/Organizations/components/OrganizationForm.jsx:105
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:171
-#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:134
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:173
+#: src/pages/Organizations/screens/Organization/OrganizationDetail.jsx:71
#: src/pages/Organizations/screens/OrganizationsList.jsx:162
msgid "Name"
msgstr ""
#: src/components/Pagination/Pagination.jsx:204
-msgid "Next"
-msgstr ""
+#~ msgid "Next"
+#~ msgstr ""
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:133
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:196
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:119
msgid "No {0} Found"
msgstr ""
@@ -339,9 +370,9 @@ msgstr ""
msgid "Notification Templates"
msgstr ""
-#: src/index.jsx:170
+#: src/index.jsx:178
#: src/pages/Organizations/Organizations.jsx:45
-#: src/pages/Organizations/screens/Organization/Organization.jsx:137
+#: src/pages/Organizations/screens/Organization/Organization.jsx:130
msgid "Notifications"
msgstr ""
@@ -349,11 +380,11 @@ msgstr ""
#~ msgid "Organization Add"
#~ msgstr ""
-#: src/pages/Organizations/screens/Organization/Organization.jsx:153
+#: src/pages/Organizations/screens/Organization/Organization.jsx:144
msgid "Organization detail tabs"
msgstr ""
-#: src/index.jsx:144
+#: src/index.jsx:152
#: src/pages/Organizations/Organizations.jsx:38
#: src/pages/Organizations/Organizations.jsx:24
msgid "Organizations"
@@ -364,18 +395,22 @@ msgstr ""
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:190
-msgid "Page"
-msgstr ""
+#~ msgid "Page"
+#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:189
#~ msgid "Page <0/> of {pageCount}"
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:193
-msgid "Page Number"
+#~ msgid "Page Number"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:30
+msgid "Pagination"
msgstr ""
-#: src/pages/Login.jsx:82
+#: src/pages/Login.jsx:92
msgid "Password"
msgstr ""
@@ -383,24 +418,28 @@ msgstr ""
#~ msgid "Per Page"
#~ msgstr ""
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:122
+msgid "Please add {0} to populate this list"
+msgstr ""
+
#: src/components/PaginatedDataList/PaginatedDataList.jsx:136
#: src/components/PaginatedDataList/PaginatedDataList.jsx:199
-msgid "Please add {0} {itemName} to populate this list"
-msgstr ""
+#~ msgid "Please add {0} {itemName} to populate this list"
+#~ msgstr ""
#: src/App.jsx:203
#~ msgid "Portal Mode"
#~ msgstr ""
#: src/components/Pagination/Pagination.jsx:179
-msgid "Previous"
-msgstr ""
+#~ msgid "Previous"
+#~ msgstr ""
-#: src/index.jsx:80
+#: src/index.jsx:88
msgid "Primary Navigation"
msgstr ""
-#: src/index.jsx:123
+#: src/index.jsx:131
#: src/pages/Projects.jsx:19
msgid "Projects"
msgstr ""
@@ -409,18 +448,18 @@ msgstr ""
msgid "Remove {0} Access"
msgstr ""
-#: src/index.jsx:109
+#: src/index.jsx:117
msgid "Resources"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:220
-#: src/components/FormActionGroup/FormActionGroup.jsx:27
-#: src/components/FormActionGroup/FormActionGroup.jsx:27
-#: src/components/Lookup/Lookup.jsx:168
+#: src/components/AddRole/AddResourceRole.jsx:214
+#: src/components/FormActionGroup/FormActionGroup.jsx:24
+#: src/components/FormActionGroup/FormActionGroup.jsx:24
+#: src/components/Lookup/Lookup.jsx:161
msgid "Save"
msgstr ""
-#: src/index.jsx:97
+#: src/index.jsx:105
#: src/pages/Schedules.jsx:19
msgid "Schedules"
msgstr ""
@@ -433,23 +472,27 @@ msgstr ""
msgid "Search text input"
msgstr ""
+#: src/components/Pagination/Pagination.jsx:28
+msgid "Select"
+msgstr ""
+
#: src/components/AnsibleSelect/AnsibleSelect.jsx:28
msgid "Select Input"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:159
+#: src/components/AddRole/AddResourceRole.jsx:153
msgid "Select Users Or Teams"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:111
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:97
msgid "Select a row to delete"
msgstr ""
-#: src/components/DataListToolbar/DataListToolbar.jsx:102
+#: src/components/DataListToolbar/DataListToolbar.jsx:108
msgid "Select all"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:178
+#: src/components/AddRole/AddResourceRole.jsx:172
msgid "Select items from list"
msgstr ""
@@ -457,19 +500,19 @@ msgstr ""
msgid "Select the Instance Groups for this Organization to run on."
msgstr ""
-#: src/components/Lookup/Lookup.jsx:164
+#: src/components/Lookup/Lookup.jsx:157
msgid "Select {header}"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:187
-#: src/components/AddRole/AddResourceRole.jsx:198
-#: src/components/AddRole/AddResourceRole.jsx:215
+#: src/components/AddRole/AddResourceRole.jsx:181
+#: src/components/AddRole/AddResourceRole.jsx:192
+#: src/components/AddRole/AddResourceRole.jsx:209
#: src/components/AddRole/SelectRoleStep.jsx:29
-#: src/components/Lookup/Lookup.jsx:193
+#: src/components/Lookup/Lookup.jsx:187
msgid "Selected"
msgstr ""
-#: src/index.jsx:192
+#: src/index.jsx:200
msgid "Settings"
msgstr ""
@@ -481,7 +524,7 @@ msgstr ""
msgid "Successful"
msgstr ""
-#: src/index.jsx:206
+#: src/index.jsx:214
msgid "System"
msgstr ""
@@ -493,20 +536,20 @@ msgstr ""
msgid "Team"
msgstr ""
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:144
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:122
msgid "Team Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:169
-#: src/index.jsx:154
+#: src/components/AddRole/AddResourceRole.jsx:163
+#: src/index.jsx:162
#: src/pages/Organizations/Organizations.jsx:44
#: src/pages/Organizations/components/OrganizationListItem.jsx:99
-#: src/pages/Organizations/screens/Organization/Organization.jsx:132
+#: src/pages/Organizations/screens/Organization/Organization.jsx:125
#: src/pages/Teams.jsx:19
msgid "Teams"
msgstr ""
-#: src/index.jsx:113
+#: src/index.jsx:121
#: src/pages/Templates.jsx:19
msgid "Templates"
msgstr ""
@@ -520,7 +563,6 @@ msgid "This field must not exceed {max} characters"
msgstr ""
#: src/components/NotificationsList/NotificationListItem.jsx:90
-#: src/components/NotificationsList/NotificationListItem.jsx:105
msgid "Toggle notification failure"
msgstr ""
@@ -528,10 +570,6 @@ msgstr ""
msgid "Toggle notification success"
msgstr ""
-#: src/components/TowerLogo/TowerLogo.jsx:48
-msgid "Tower Brand Image"
-msgstr ""
-
#: src/components/AnsibleSelect/AnsibleSelect.jsx:35
msgid "Use Default {label}"
msgstr ""
@@ -544,7 +582,7 @@ msgstr ""
msgid "User Details"
msgstr ""
-#: src/index.jsx:211
+#: src/index.jsx:219
msgid "User Interface"
msgstr ""
@@ -552,35 +590,35 @@ msgstr ""
msgid "User Interface Settings"
msgstr ""
-#: src/pages/Organizations/components/OrganizationAccessItem.jsx:122
+#: src/pages/Organizations/components/OrganizationAccessItem.jsx:112
msgid "User Roles"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:136
-#: src/pages/Login.jsx:81
-#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:172
+#: src/components/AddRole/AddResourceRole.jsx:130
+#: src/pages/Login.jsx:91
+#: src/pages/Organizations/screens/Organization/OrganizationAccess.jsx:174
msgid "Username"
msgstr ""
-#: src/components/AddRole/AddResourceRole.jsx:164
-#: src/index.jsx:149
+#: src/components/AddRole/AddResourceRole.jsx:158
+#: src/index.jsx:157
#: src/pages/Users.jsx:19
msgid "Users"
msgstr ""
-#: src/index.jsx:83
+#: src/index.jsx:91
msgid "Views"
msgstr ""
-#: src/pages/Login.jsx:76
-msgid "Welcome to Ansible Tower! Please Sign In."
+#: src/pages/Login.jsx:86
+msgid "Welcome to Ansible {brandName}! Please Sign In."
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:104
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:90
msgid "You do not have permission to delete the following {0}: {itemsUnableToDelete}"
msgstr ""
-#: src/contexts/Network.jsx:44
+#: src/contexts/Network.jsx:40
msgid "You have been logged out."
msgstr ""
@@ -592,11 +630,11 @@ msgstr ""
#~ msgid "adding {currentTab}"
#~ msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:158
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:148
msgid "cancel delete"
msgstr ""
-#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:150
+#: src/components/PaginatedDataList/ToolbarDeleteButton.jsx:140
msgid "confirm delete"
msgstr ""
@@ -616,12 +654,21 @@ msgstr ""
#~ msgid "edit view"
#~ msgstr ""
-#: src/components/Lookup/Lookup.jsx:135
+#: src/components/Lookup/Lookup.jsx:128
+#: src/components/Pagination/Pagination.jsx:20
msgid "items"
msgstr ""
#: src/components/Pagination/Pagination.jsx:198
-msgid "of {pageCount}"
+#~ msgid "of {pageCount}"
+#~ msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:21
+msgid "pages"
+msgstr ""
+
+#: src/components/Pagination/Pagination.jsx:23
+msgid "per page"
msgstr ""
#: src/pages/Organizations/components/OrganizationEdit.jsx:22
@@ -640,8 +687,7 @@ msgstr ""
#~ msgid "{0}"
#~ msgstr ""
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:153
-#: src/components/PaginatedDataList/PaginatedDataList.jsx:215
+#: src/components/PaginatedDataList/PaginatedDataList.jsx:135
msgid "{0} List"
msgstr ""
diff --git a/dist/index.html b/dist/index.html
index 4f295066f2..10a4088e01 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -1,8 +1,5 @@
-
- AWX
-
diff --git a/images/brand-logo.svg b/images/brand-logo.svg
new file mode 100644
index 0000000000..6d80915fb6
--- /dev/null
+++ b/images/brand-logo.svg
@@ -0,0 +1,232 @@
+
+
+
diff --git a/images/tower-logo-header-hover.svg b/images/tower-logo-header-hover.svg
deleted file mode 100644
index 864f6f5230..0000000000
--- a/images/tower-logo-header-hover.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
diff --git a/images/tower-logo-header.svg b/images/tower-logo-header.svg
deleted file mode 100644
index 4d31e643c1..0000000000
--- a/images/tower-logo-header.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
diff --git a/images/tower-logo-login.svg b/images/tower-logo-login.svg
deleted file mode 100644
index cde71349a3..0000000000
--- a/images/tower-logo-login.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-
diff --git a/images/tower-logo-white.svg b/images/tower-logo-white.svg
deleted file mode 100644
index 4b0b17ddea..0000000000
--- a/images/tower-logo-white.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/App.jsx b/src/App.jsx
index 0d63d35ad0..75afb25e96 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -20,7 +20,7 @@ import { RootAPI } from './api';
import AlertModal from './components/AlertModal';
import About from './components/About';
import NavExpandableGroup from './components/NavExpandableGroup';
-import TowerLogo from './components/TowerLogo';
+import BrandLogo from './components/BrandLogo';
import PageHeaderToolbar from './components/PageHeaderToolbar';
const PageHeader = styled(PFPageHeader)`
@@ -32,7 +32,7 @@ const PageHeader = styled(PFPageHeader)`
}
& svg {
- width: 125px;
+ height: 76px;
}
}
`;
@@ -119,7 +119,7 @@ class App extends Component {
}
+ logo={}
logoProps={{ href: '/' }}
toolbar={(
{ speechBubble }
diff --git a/src/components/BrandLogo/BrandLogo.jsx b/src/components/BrandLogo/BrandLogo.jsx
new file mode 100644
index 0000000000..08bdc8c5a3
--- /dev/null
+++ b/src/components/BrandLogo/BrandLogo.jsx
@@ -0,0 +1,386 @@
+import React, { Component } from 'react';
+import { withI18n } from '@lingui/react';
+import { t } from '@lingui/macro';
+
+import styled from 'styled-components';
+
+const ST0 = styled.g`
+ display:none;
+`;
+
+const ST1 = styled.path`
+ display:inline;
+ fill:#ED1C24;
+`;
+
+const ST2 = styled.path`
+ fill:#42210B;
+`;
+
+const ST3 = styled.path`
+ fill:#FFFFFF;
+`;
+
+const ST4 = styled.path`
+ fill:#C69C6D;
+ stroke:#8C6239;
+ stroke-width:5;
+ stroke-miterlimit:10;
+`;
+
+const ST5 = styled.path`
+ fill:#FFFFFF;
+ stroke:#42210B;
+ stroke-width:3;
+ stroke-miterlimit:10;
+`;
+
+const ST6 = styled.ellipse`
+ fill:#ED1C24;
+ stroke:#8C6239;
+ stroke-width:5;
+ stroke-miterlimit:10;
+`;
+
+const ST7 = styled.path`
+ fill:#A67C52;
+`;
+
+const ST8 = styled.path`
+ fill: #ED1C24;
+`;
+
+const ST9 = styled.ellipse`
+ fill:#42210B;
+`;
+
+class BrandLogo extends Component {
+ render () {
+ const { i18n } = this.props;
+ return (
+
+ );
+ }
+}
+
+export default withI18n()(BrandLogo);
diff --git a/src/components/BrandLogo/index.js b/src/components/BrandLogo/index.js
new file mode 100644
index 0000000000..d81125fb7f
--- /dev/null
+++ b/src/components/BrandLogo/index.js
@@ -0,0 +1,3 @@
+import BrandLogo from './BrandLogo';
+
+export default BrandLogo;
diff --git a/src/components/TowerLogo/TowerLogo.jsx b/src/components/TowerLogo/TowerLogo.jsx
deleted file mode 100644
index 10444f462b..0000000000
--- a/src/components/TowerLogo/TowerLogo.jsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import React, { Component } from 'react';
-import { withI18n } from '@lingui/react';
-import { t } from '@lingui/macro';
-
-class TowerLogo extends Component {
- render () {
- const { i18n } = this.props;
- return (
-
- );
- }
-}
-
-export default withI18n()(TowerLogo);
diff --git a/src/components/TowerLogo/index.js b/src/components/TowerLogo/index.js
deleted file mode 100644
index b1ed1985d8..0000000000
--- a/src/components/TowerLogo/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import TowerLogo from './TowerLogo';
-
-export default TowerLogo;
diff --git a/src/index.jsx b/src/index.jsx
index 4c31cb10b5..b0640ea67e 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -15,6 +15,8 @@ import './app.scss';
import { Config } from './contexts/Config';
+import { BrandName } from './variables';
+
import Background from './components/Background';
import NotifyAndRedirect from './components/NotifyAndRedirect';
@@ -48,6 +50,7 @@ import Users from './pages/Users';
// eslint-disable-next-line import/prefer-default-export
export function main (render) {
const el = document.getElementById('app');
+ document.title = `Ansible ${BrandName}`;
return render(
diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx
index b2c5f0bc57..39a12c1969 100644
--- a/src/pages/Login.jsx
+++ b/src/pages/Login.jsx
@@ -2,16 +2,24 @@ import React, { Component } from 'react';
import { Redirect, withRouter } from 'react-router-dom';
import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
+import styled from 'styled-components';
import {
LoginForm,
- LoginPage,
+ LoginPage as PFLoginPage,
} from '@patternfly/react-core';
import { withRootDialog } from '../contexts/RootDialog';
import { withNetwork } from '../contexts/Network';
import { RootAPI } from '../api';
+import { BrandName } from '../variables';
-import towerLogo from '../../images/tower-logo-header.svg';
+import logoImg from '../../images/brand-logo.svg';
+
+const LoginPage = styled(PFLoginPage)`
+ & .pf-c-brand {
+ max-height: 285px;
+ }
+`;
class AWXLogin extends Component {
constructor (props) {
@@ -64,7 +72,11 @@ class AWXLogin extends Component {
render () {
const { username, password, isInputValid, isAuthenticated } = this.state;
const { alt, loginInfo, logo, bodyText: errorMessage, i18n } = this.props;
- const logoSrc = logo ? `data:image/jpeg;${logo}` : towerLogo;
+ const logoSrc = logo ? `data:image/jpeg;${logo}` : logoImg;
+ // Setting BrandName to a variable here is necessary to get the jest tests
+ // passing. Attempting to use BrandName in the template literal results
+ // in failing tests.
+ const brandName = BrandName;
if (isAuthenticated) {
return ();
@@ -73,8 +85,8 @@ class AWXLogin extends Component {
return (