From a49263ba415b599b7a9f81231cb0030c7fc8b48a Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 5 Oct 2015 12:07:17 -0400 Subject: [PATCH 0001/2189] Add libxmlsec1-dev to the docker compose workflow --- tools/docker-compose/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index b00e5fd7da..5859b4c253 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -10,7 +10,7 @@ RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash - RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && apt-key adv --fetch-keys http://www.postgresql.org/media/keys/ACCC4CF8.asc RUN echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list && echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | tee /etc/apt/sources.list.d/postgres-9.4.list RUN apt-get update -RUN apt-get install -y openssh-server ansible mg vim tmux git mercurial subversion python-dev python-psycopg2 make postgresql-client libpq-dev nodejs python-psutil libxml2-dev libxslt-dev lib32z1-dev libsasl2-dev libldap2-dev libffi-dev libzmq-dev proot python-pip && rm -rf /var/lib/apt/lists/* +RUN apt-get install -y openssh-server ansible mg vim tmux git mercurial subversion python-dev python-psycopg2 make postgresql-client libpq-dev nodejs python-psutil libxml2-dev libxslt-dev lib32z1-dev libsasl2-dev libldap2-dev libffi-dev libzmq-dev proot python-pip libxmlsec1-dev && rm -rf /var/lib/apt/lists/* RUN /usr/bin/ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa RUN mkdir -p /etc/tower RUN mkdir -p /data/db From 4c632d5f598403a2100257d1dc1170eb78089434 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 5 Oct 2015 13:21:38 -0400 Subject: [PATCH 0002/2189] Add swig to dependencies for compose --- tools/docker-compose/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index 5859b4c253..4b36542cfd 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -10,7 +10,7 @@ RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash - RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && apt-key adv --fetch-keys http://www.postgresql.org/media/keys/ACCC4CF8.asc RUN echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list && echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | tee /etc/apt/sources.list.d/postgres-9.4.list RUN apt-get update -RUN apt-get install -y openssh-server ansible mg vim tmux git mercurial subversion python-dev python-psycopg2 make postgresql-client libpq-dev nodejs python-psutil libxml2-dev libxslt-dev lib32z1-dev libsasl2-dev libldap2-dev libffi-dev libzmq-dev proot python-pip libxmlsec1-dev && rm -rf /var/lib/apt/lists/* +RUN apt-get install -y openssh-server ansible mg vim tmux git mercurial subversion python-dev python-psycopg2 make postgresql-client libpq-dev nodejs python-psutil libxml2-dev libxslt-dev lib32z1-dev libsasl2-dev libldap2-dev libffi-dev libzmq-dev proot python-pip libxmlsec1-dev swig && rm -rf /var/lib/apt/lists/* RUN /usr/bin/ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa RUN mkdir -p /etc/tower RUN mkdir -p /data/db From b937a4729b2635c73714689b441176c4cac814e8 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 5 Oct 2015 13:55:59 -0400 Subject: [PATCH 0003/2189] Also remove .deps_built with make clean --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 923ad894e6..a767eefd05 100644 --- a/Makefile +++ b/Makefile @@ -201,6 +201,7 @@ clean-bundle: # Remove temporary build files, compiled Python files. clean: clean-rpm clean-deb clean-grunt clean-ui clean-tar clean-packer clean-bundle rm -rf awx/lib/site-packages + rm- rf awx/lib/.deps_built rm -rf dist/* rm -rf tmp/* rm -rf build $(NAME)-$(VERSION) *.egg-info From 51b534ae2ecbd44704a646f797b15e5846787d6f Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Mon, 5 Oct 2015 13:58:55 -0400 Subject: [PATCH 0004/2189] correct egg names for pip dependency resolution --- requirements/requirements.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 451ff951d7..01e256cceb 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,5 +1,5 @@ amqp==1.4.5 -git+https://github.com/chrismeyersfsu/ansiconv.git@tower_1.0.0#egg=ansiconv-tower_1.0.0 +git+https://github.com/chrismeyersfsu/ansiconv.git@tower_1.0.0#egg=ansiconv anyjson==0.3.3 apache-libcloud==0.15.1 argparse==1.2.1 @@ -28,13 +28,13 @@ enum34==1.0.4 #functools32==3.2.3-2 gevent==1.0.2 gevent-websocket==0.9.3 -git+https://github.com/chrismeyersfsu/django-jsonfield.git@tower_0.9.12#egg=jsonfield-tower_0.9.12 -git+https://github.com/chrismeyersfsu/django-qsstats-magic.git@tower_0.7.2#egg=qsstats-tower_0.7.2 -git+https://github.com/chrismeyersfsu/django-rest-framework-mongoengine.git@0c79515257a33a0ce61500b65fa497398628a03d#egg=rest_framework_mongoengine-1.5.4 -git+https://github.com/chrismeyersfsu/gevent-socketio.git@tower_0.3.6#egg=socketio-tower_0.3.6 -git+https://github.com/chrismeyersfsu/python-ipy.git@master#egg=ipy -git+https://github.com/chrismeyersfsu/python-keystoneclient.git@1.3.0#egg=keystoneclient-1.3.0 -git+https://github.com/chrismeyersfsu/shade.git@tower_0.5.0#egg=shade-tower_0.5.0 +git+https://github.com/chrismeyersfsu/django-jsonfield.git@tower_0.9.12#egg=django-jsonfield +git+https://github.com/chrismeyersfsu/django-qsstats-magic.git@tower_0.7.2#egg=django-qsstats-magic +git+https://github.com/chrismeyersfsu/django-rest-framework-mongoengine.git@0c79515257a33a0ce61500b65fa497398628a03d#egg=django-rest-framework-mongoengine +git+https://github.com/chrismeyersfsu/gevent-socketio.git@tower_0.3.6#egg=gevent-socketio +git+https://github.com/chrismeyersfsu/python-ipy.git@master#egg=IPy +git+https://github.com/chrismeyersfsu/python-keystoneclient.git@1.3.0#egg=python-keystoneclient +git+https://github.com/chrismeyersfsu/shade.git@tower_0.5.0#egg=shade git+https://github.com/chrismeyersfsu/sitecustomize.git#egg=sitecustomize greenlet==0.4.7 httplib2==0.9 From 2c873e0d1d2f4af830a802179e9701aa8a2c1a33 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 5 Oct 2015 14:00:11 -0400 Subject: [PATCH 0005/2189] Fix up docker compose local settings --- awx/settings/local_settings.py.docker_compose | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/awx/settings/local_settings.py.docker_compose b/awx/settings/local_settings.py.docker_compose index cb17fa3b42..2f5a370cc8 100644 --- a/awx/settings/local_settings.py.docker_compose +++ b/awx/settings/local_settings.py.docker_compose @@ -136,12 +136,11 @@ EMAIL_SUBJECT_PREFIX = '[AWX] ' # Enable logging to syslog. Setting level to ERROR captures 500 errors, # WARNING also logs 4xx responses. + LOGGING['handlers']['syslog'] = { 'level': 'WARNING', - 'filters': [], - 'class': 'logging.handlers.SysLogHandler', - 'address': '/dev/log', - 'facility': 'local0', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.NullHandler', 'formatter': 'simple', } From 6353277a16fd8e16d626ebe40c20aacd5dcf7f4a Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 5 Oct 2015 14:02:38 -0400 Subject: [PATCH 0006/2189] Include new social auth settings in compose --- awx/settings/local_settings.py.docker_compose | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/awx/settings/local_settings.py.docker_compose b/awx/settings/local_settings.py.docker_compose index 2f5a370cc8..37d69b7e09 100644 --- a/awx/settings/local_settings.py.docker_compose +++ b/awx/settings/local_settings.py.docker_compose @@ -472,6 +472,61 @@ TEST_AUTH_LDAP_TEAM_MAP_2_RESULT = { 'Everyone Team': {'users': True}, } +############################################################################### +# RADIUS AUTH SETTINGS +############################################################################### + +RADIUS_SERVER = '' +RADIUS_PORT = 1812 +RADIUS_SECRET = '' + +############################################################################### +# SOCIAL AUTH SETTINGS +############################################################################### + +SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '' +SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '' +#SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ['profile'] +#SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS = ['example.com'] +#SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = {'hd': 'example.com'} + +SOCIAL_AUTH_GITHUB_KEY = '' +SOCIAL_AUTH_GITHUB_SECRET = '' + +SOCIAL_AUTH_GITHUB_ORG_KEY = '' +SOCIAL_AUTH_GITHUB_ORG_SECRET = '' +SOCIAL_AUTH_GITHUB_ORG_NAME = '' + +SOCIAL_AUTH_GITHUB_TEAM_KEY = '' +SOCIAL_AUTH_GITHUB_TEAM_SECRET = '' +SOCIAL_AUTH_GITHUB_TEAM_ID = '' + +SOCIAL_AUTH_SAML_SP_ENTITY_ID = '' +SOCIAL_AUTH_SAML_SP_PUBLIC_CERT = '' +SOCIAL_AUTH_SAML_SP_PRIVATE_KEY = '' +SOCIAL_AUTH_SAML_ORG_INFO = { + 'en-US': { + 'name': 'example', + 'displayname': 'Example', + 'url': 'http://www.example.com', + }, +} +SOCIAL_AUTH_SAML_TECHNICAL_CONTACT = { + 'givenName': 'Some User', + 'emailAddress': 'suser@example.com', +} +SOCIAL_AUTH_SAML_SUPPORT_CONTACT = { + 'givenName': 'Some User', + 'emailAddress': 'suser@example.com', +} +SOCIAL_AUTH_SAML_ENABLED_IDPS = { + #'myidp': { + # 'entity_id': 'https://idp.example.com', + # 'url': 'https://myidp.example.com/sso', + # 'x509cert': '', + #}, +} + ############################################################################### # INVENTORY IMPORT TEST SETTINGS ############################################################################### From 9fe710d01a96a27b5ed6abff77a5a1eca8ad3d93 Mon Sep 17 00:00:00 2001 From: jlmitch5 Date: Mon, 5 Oct 2015 15:24:43 -0400 Subject: [PATCH 0007/2189] fixed tmp dir deletion in make clean --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a767eefd05..a6bffca063 100644 --- a/Makefile +++ b/Makefile @@ -203,7 +203,8 @@ clean: clean-rpm clean-deb clean-grunt clean-ui clean-tar clean-packer clean-bun rm -rf awx/lib/site-packages rm- rf awx/lib/.deps_built rm -rf dist/* - rm -rf tmp/* + rm -rf tmp + mkdir tmp rm -rf build $(NAME)-$(VERSION) *.egg-info find . -type f -regex ".*\.py[co]$$" -delete From c55741f6c6773bda83c298af4732320fbc2cac29 Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Tue, 6 Oct 2015 10:30:48 -0400 Subject: [PATCH 0008/2189] Bump version number for devel to 3.0 --- awx/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/__init__.py b/awx/__init__.py index 2663c7827b..701b44347e 100644 --- a/awx/__init__.py +++ b/awx/__init__.py @@ -6,7 +6,7 @@ import sys import warnings import site -__version__ = '2.4.0' +__version__ = '3.0.0' __all__ = ['__version__'] From 21ff08e4a510baea3b6ba06efff2d3afe2be88c1 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 6 Oct 2015 11:24:38 -0400 Subject: [PATCH 0009/2189] fixed ui implementation of get adhoc permission label --- awx/ui/client/src/permissions/shared/get-choices.factory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/awx/ui/client/src/permissions/shared/get-choices.factory.js b/awx/ui/client/src/permissions/shared/get-choices.factory.js index 57e14433f4..8ad55907a5 100644 --- a/awx/ui/client/src/permissions/shared/get-choices.factory.js +++ b/awx/ui/client/src/permissions/shared/get-choices.factory.js @@ -24,10 +24,10 @@ .then(function (data) { data = data.data; var choices = data.actions.GET.permission_type.choices; - + // manually add the adhoc label to the choices object choices.push(["adhoc", - data.actions.GET.run_ad_hoc_commands.label]); + data.actions.GET.run_ad_hoc_commands.help_text]); return choices; }) From 63fbfbe11f00b3f342b0165abff5f74cf20e6962 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Tue, 6 Oct 2015 10:37:13 -0400 Subject: [PATCH 0010/2189] expose session settings to user --- awx/settings/defaults.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index 431dbe7990..046e6e0570 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -238,7 +238,7 @@ RADIUS_SECRET = '' # Seconds before auth tokens expire. AUTH_TOKEN_EXPIRATION = 1800 -# Maximum number of per-user valid, concurrent session. +# Maximum number of per-user valid, concurrent tokens. # -1 is unlimited AUTH_TOKEN_PER_USER = -1 From 55e6206d7438d9ac9c954638667e499b85b7f610 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Tue, 6 Oct 2015 12:10:51 -0400 Subject: [PATCH 0011/2189] rejecting promise on requestError REST interceptor --- .../client/src/login/loginModal/loginModal.controller.js | 8 ++++---- awx/ui/client/src/rest/interceptors.service.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/awx/ui/client/src/login/loginModal/loginModal.controller.js b/awx/ui/client/src/login/loginModal/loginModal.controller.js index 5aeb6a2eb3..52296a4c62 100644 --- a/awx/ui/client/src/login/loginModal/loginModal.controller.js +++ b/awx/ui/client/src/login/loginModal/loginModal.controller.js @@ -184,14 +184,14 @@ export default ['$log', '$cookieStore', '$compile', '$window', '$rootScope', '$l } else { Wait('start'); Authorization.retrieveToken(username, password) - .success(function (data) { + .then(function (data) { $('#login-modal').modal('hide'); Authorization.setToken(data.token, data.expires); $rootScope.sessionTimer = Timer.init(); scope.$emit('AuthorizationGetUser'); - }) - .error(function (data) { - var hdr, msg, key; + }, + function (data) { + var key; Wait('stop'); if (data.non_field_errors && data.non_field_errors.length === 0) { // show field specific errors returned by the API diff --git a/awx/ui/client/src/rest/interceptors.service.js b/awx/ui/client/src/rest/interceptors.service.js index 1a5d4f13a5..2564df40cd 100644 --- a/awx/ui/client/src/rest/interceptors.service.js +++ b/awx/ui/client/src/rest/interceptors.service.js @@ -11,8 +11,8 @@ *************************************************/ export default - [ '$rootScope', - function ($rootScope) { + [ '$rootScope', '$q', + function ($rootScope, $q) { return { response: function(config) { if(config.headers('auth-token-timeout') !== null){ @@ -23,9 +23,9 @@ responseError: function(rejection){ if( !_.isEmpty(rejection.data.detail) && rejection.data.detail === "Maximum per-user sessions reached"){ $rootScope.sessionTimer.expireSession('session_limit'); - return rejection; + return $q.reject(rejection); } - return rejection; + return $q.reject(rejection); } }; }]; From 97f7e56635691dc9a20471530d4fcefe97a68ecd Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 6 Oct 2015 15:31:11 -0400 Subject: [PATCH 0012/2189] add token to href of downloadable standard out --- awx/ui/client/src/helpers/LogViewer.js | 4 ++-- awx/ui/client/src/partials/job_stdout.html | 2 +- awx/ui/client/src/partials/job_stdout_adhoc.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/awx/ui/client/src/helpers/LogViewer.js b/awx/ui/client/src/helpers/LogViewer.js index bc2f7e6835..90e9a3f407 100644 --- a/awx/ui/client/src/helpers/LogViewer.js +++ b/awx/ui/client/src/helpers/LogViewer.js @@ -359,13 +359,13 @@ export default }; }]) - .factory('AddPreFormattedText', [function() { + .factory('AddPreFormattedText', ['$rootScope', function($rootScope) { return function(params) { var id = params.id, val = params.val, html = ""; if (params.standardOut) { - html += 'Download'; + html += 'Download'; html += "
" + val + "
\n"; } else { html += "
" + val + "
\n"; diff --git a/awx/ui/client/src/partials/job_stdout.html b/awx/ui/client/src/partials/job_stdout.html index 8c113d908c..9ec92b6706 100644 --- a/awx/ui/client/src/partials/job_stdout.html +++ b/awx/ui/client/src/partials/job_stdout.html @@ -22,7 +22,7 @@

Standard Output - + Download

diff --git a/awx/ui/client/src/partials/job_stdout_adhoc.html b/awx/ui/client/src/partials/job_stdout_adhoc.html index 3dcac4097e..52b51565d7 100644 --- a/awx/ui/client/src/partials/job_stdout_adhoc.html +++ b/awx/ui/client/src/partials/job_stdout_adhoc.html @@ -160,7 +160,7 @@

Standard Output - Download + Download

From 116b0849a7448a5d237293d7c097a9f1d5aaa5eb Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Tue, 6 Oct 2015 17:42:17 -0400 Subject: [PATCH 0013/2189] updated $http call to angular 1.4 implementation --- .../client/src/login/loginModal/loginModal.controller.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/awx/ui/client/src/login/loginModal/loginModal.controller.js b/awx/ui/client/src/login/loginModal/loginModal.controller.js index 52296a4c62..a3386ee3ad 100644 --- a/awx/ui/client/src/login/loginModal/loginModal.controller.js +++ b/awx/ui/client/src/login/loginModal/loginModal.controller.js @@ -186,17 +186,17 @@ export default ['$log', '$cookieStore', '$compile', '$window', '$rootScope', '$l Authorization.retrieveToken(username, password) .then(function (data) { $('#login-modal').modal('hide'); - Authorization.setToken(data.token, data.expires); + Authorization.setToken(data.data.token, data.data.expires); $rootScope.sessionTimer = Timer.init(); scope.$emit('AuthorizationGetUser'); }, function (data) { var key; Wait('stop'); - if (data.non_field_errors && data.non_field_errors.length === 0) { + if (data.data.non_field_errors && data.data.non_field_errors.length === 0) { // show field specific errors returned by the API - for (key in data) { - scope[key + 'Error'] = data[key][0]; + for (key in data.data) { + scope[key + 'Error'] = data.data[key][0]; } } else { scope.reset(); From e71189466c75b823105d26ca4172dd4f67920b44 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Tue, 6 Oct 2015 20:24:30 -0400 Subject: [PATCH 0014/2189] pin django debug toolbar for django dep reason * fix IPy dep * new django debug toolbar released today, broke things. Pin to our old version of django to ensure success. --- requirements/requirements.txt | 2 +- requirements/requirements_dev.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index fe3459cfc8..6c73afe30f 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -35,7 +35,7 @@ git+https://github.com/chrismeyersfsu/django-jsonfield.git@tower_0.9.12#egg=djan git+https://github.com/chrismeyersfsu/django-qsstats-magic.git@tower_0.7.2#egg=django-qsstats-magic git+https://github.com/chrismeyersfsu/django-rest-framework-mongoengine.git@0c79515257a33a0ce61500b65fa497398628a03d#egg=django-rest-framework-mongoengine git+https://github.com/chrismeyersfsu/gevent-socketio.git@tower_0.3.6#egg=gevent-socketio -git+https://github.com/chrismeyersfsu/python-ipy.git@master#egg=IPy +git+https://github.com/chrismeyersfsu/python-ipy.git@fix-127_localhost#egg=IPy git+https://github.com/chrismeyersfsu/python-keystoneclient.git@1.3.0#egg=python-keystoneclient git+https://github.com/chrismeyersfsu/shade.git@tower_0.5.0#egg=shade git+https://github.com/chrismeyersfsu/sitecustomize.git#egg=sitecustomize diff --git a/requirements/requirements_dev.txt b/requirements/requirements_dev.txt index 9c0d7f83ae..a2ff6cf11a 100644 --- a/requirements/requirements_dev.txt +++ b/requirements/requirements_dev.txt @@ -1,6 +1,6 @@ -r requirements.txt django-devserver -django-debug-toolbar +django-debug-toolbar==1.3.2 unittest2 pep8 flake8 From 96e282dbaf4350a7b269d5c9b6e5985e5fd2e8c7 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Wed, 7 Oct 2015 09:19:22 -0400 Subject: [PATCH 0015/2189] add basic auth enabled / disabled setting --- awx/settings/defaults.py | 4 ++++ awx/settings/postprocess.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index 046e6e0570..9684479542 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -242,6 +242,10 @@ AUTH_TOKEN_EXPIRATION = 1800 # -1 is unlimited AUTH_TOKEN_PER_USER = -1 +# Enable / Disable HTTP Basic Authentication used in the API browser +# Note: Session limits are not enforced when using HTTP Basic Authentication. +AUTH_BASIC_ENABLED = True + # If set, serve only minified JS for UI. USE_MINIFIED_JS = False diff --git a/awx/settings/postprocess.py b/awx/settings/postprocess.py index bed4d6299a..a3db97724d 100644 --- a/awx/settings/postprocess.py +++ b/awx/settings/postprocess.py @@ -29,3 +29,7 @@ if not all([SOCIAL_AUTH_SAML_SP_ENTITY_ID, SOCIAL_AUTH_SAML_SP_PUBLIC_CERT, SOCIAL_AUTH_SAML_TECHNICAL_CONTACT, SOCIAL_AUTH_SAML_SUPPORT_CONTACT, SOCIAL_AUTH_SAML_ENABLED_IDPS]): AUTHENTICATION_BACKENDS = [x for x in AUTHENTICATION_BACKENDS if x != 'social.backends.saml.SAMLAuth'] + +if not AUTH_BASIC_ENABLED: + REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = [x for x in REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] if x != 'rest_framework.authentication.BasicAuthentication'] + From 0c6bb50dd4774cd6b8a949b9951c5621873be1fe Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Wed, 4 Nov 2015 14:24:09 -0800 Subject: [PATCH 0016/2189] Tower 3.0 footer footer with copyright and logo --- awx/ui/client/src/footer/footer.block.less | 37 ++++++++++++++++++++++ awx/ui/templates/ui/index.html | 9 +++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 awx/ui/client/src/footer/footer.block.less diff --git a/awx/ui/client/src/footer/footer.block.less b/awx/ui/client/src/footer/footer.block.less new file mode 100644 index 0000000000..b1f65d44b8 --- /dev/null +++ b/awx/ui/client/src/footer/footer.block.less @@ -0,0 +1,37 @@ +/** @define DashboardCounts */ + +.Footer { + height: 40px; + background-color: #d7d7d7; + color: #848992; + width: 100%; + z-index: 1040; + position: fixed; + right: 0; + left: 0; + bottom: 0; +} + +.Footer-logo { + float: left; + height: 40px; + width: 250px; +} + +.Footer-logoImage { + height: 40px; + width: 250px; +} + +.Footer-copyright{ + float: right; + font-size: 12px; + margin-right: 20px; + margin-top: 10px; +} +.Footer-link:hover{ + color: #ffffff; +} +.Footer-link{ + color: #848992; +} diff --git a/awx/ui/templates/ui/index.html b/awx/ui/templates/ui/index.html index 82ec76318a..8154266d46 100644 --- a/awx/ui/templates/ui/index.html +++ b/awx/ui/templates/ui/index.html @@ -247,7 +247,14 @@
--> - + - From 7d208b7d6f0c7c859273488fc24088d0b524c15e Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Fri, 6 Nov 2015 10:53:20 -0500 Subject: [PATCH 0021/2189] updates based on jtabor's review --- awx/ui/client/src/main-menu/main-menu.directive.js | 8 ++++---- awx/ui/client/src/main-menu/main-menu.partial.html | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/awx/ui/client/src/main-menu/main-menu.directive.js b/awx/ui/client/src/main-menu/main-menu.directive.js index ec00f31729..5f45fc7a18 100644 --- a/awx/ui/client/src/main-menu/main-menu.directive.js +++ b/awx/ui/client/src/main-menu/main-menu.directive.js @@ -13,14 +13,14 @@ export default } else { return false; } - } + }; // check to see if the current route is the currently // logged in user scope.isCurrentRouteUser = function() { if ($rootScope && $rootScope.current_user) { if ($location.url().split('/')[1] === 'users') { - if ($location.url().split('/')[2] === ($rootScope.current_user.id + "")) { + if ($location.url().split('/')[2] === ($rootScope.current_user.id + "")) { return true; } else { return false; @@ -31,7 +31,7 @@ export default } else { return false; } - } + }; // set up the user tooltip $rootScope.$on('current_user', function(user) { @@ -58,7 +58,7 @@ export default } else { scope.isHiddenOnMobile = true; } - } + }; // if the user clicks outside of the mobile menu, // close it if it's open $("body").on('click', function(e) { diff --git a/awx/ui/client/src/main-menu/main-menu.partial.html b/awx/ui/client/src/main-menu/main-menu.partial.html index c3e636a059..f085378fb7 100644 --- a/awx/ui/client/src/main-menu/main-menu.partial.html +++ b/awx/ui/client/src/main-menu/main-menu.partial.html @@ -119,10 +119,10 @@ data-trigger="hover" data-container="body"> + alt="Logged in as {{ $root.current_user.username}}"> - {{::$root.current_user.username}} + {{ $root.current_user.username}} Date: Fri, 6 Nov 2015 13:25:23 -0500 Subject: [PATCH 0022/2189] move hover style under selected so it is not overridden --- awx/ui/client/src/main-menu/main-menu.block.less | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/awx/ui/client/src/main-menu/main-menu.block.less b/awx/ui/client/src/main-menu/main-menu.block.less index e255ff818f..e7363659f8 100644 --- a/awx/ui/client/src/main-menu/main-menu.block.less +++ b/awx/ui/client/src/main-menu/main-menu.block.less @@ -241,16 +241,16 @@ color: #fff; } +.MainMenu-item.is-currentRoute { + background-color: #509ad3; +} + .MainMenu-toggle:hover, .MainMenu-item:hover, .MainMenu-logo:hover { background-color: #5bbdbf; } -.MainMenu-item.is-currentRoute { - background-color: #509ad3; -} - // item on .MainMenu-logo, .MainMenu-item, From 1662b8bff76738c3bbfe2ce2a9116df1d136716f Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Fri, 6 Nov 2015 13:26:03 -0500 Subject: [PATCH 0023/2189] update ids based on conversation with jlaska --- .../src/main-menu/main-menu.partial.html | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/awx/ui/client/src/main-menu/main-menu.partial.html b/awx/ui/client/src/main-menu/main-menu.partial.html index f085378fb7..6969e8951d 100644 --- a/awx/ui/client/src/main-menu/main-menu.partial.html +++ b/awx/ui/client/src/main-menu/main-menu.partial.html @@ -1,6 +1,6 @@ -