[python-django-horizon] Finalize rebase to 2015.1.0b2

Matthias Runge mrunge at fedoraproject.org
Fri Feb 20 13:10:29 UTC 2015


commit 6a2bcf23c448dce1d598509e97a4984fa063e640
Author: Matthias Runge <mrunge at redhat.com>
Date:   Fri Feb 20 11:27:56 2015 +0100

    Finalize rebase to 2015.1.0b2
    
    Change-Id: Ic27d33cc30fd161b1339ef6bd544dea005346770

 .gitignore                                         |    1 +
 0001-disable-debug-move-web-root.patch             |   52 +-
 ...file-location-to-tmp-and-also-add-localho.patch |   32 -
 ... => 0002-remove-runtime-dep-to-python-pbr.patch |    2 +-
 ...-Add-a-customization-module-based-on-RHOS.patch |   30 +-
 ...atch => 0004-RCUE-navbar-and-login-screen.patch |   33 +-
 ...olicy-files-and-checks-to-etc-openstack-d.patch |   25 -
 ...dd-Change-password-link-to-the-RCUE-theme.patch |    2 +-
 0005-move-SECRET_KEY-secret_key_store-to-tmp.patch |   29 -
 ...rcue.patch => 0006-.less-replaced-in-rcue.patch |    2 +-
 0007-fix-flake8-issues.patch                       |   31 -
 ...h => 0007-re-add-lesscpy-to-compile-.less.patch |    8 +-
 ...gration-of-LESS-to-SCSS-and-various-fixes.patch |    2 +-
 ...redundant-Settings-button-on-downstream-t.patch |    2 +-
 0010-Add-dropdown-actions-to-detail-page.patch     |   42 +
 ...Add-dropdown-actions-to-all-details-pages.patch |  163 +++
 ...d-support-for-row-actions-to-detail-pages.patch |  172 ++++
 ...sing-translation-for-the-downstream-theme.patch |    2 +-
 0014-Change-page-header-heading-to-H1.patch        |  143 ---
 ...s-https-bugzilla.redhat.com-show_bug.cgi-.patch |    2 +-
 0015-Add-dropdown-actions-to-detail-page.patch     |  204 ----
 ...ge-branding.patch => 0015-Change-branding.patch |    2 +-
 ...Add-dropdown-actions-to-all-details-pages.patch | 1038 --------------------
 ...-translation-for-the-downstream-theme-zh_.patch |    2 +-
 ...d-support-for-row-actions-to-detail-pages.patch |  205 ----
 0018-Clean-up-test-output.patch                    |  116 ---
 ...-login-page-contains-DOS-attack-mechanism.patch |   60 --
 python-django-horizon.spec                         |   61 +-
 sources                                            |    2 +-
 29 files changed, 507 insertions(+), 1958 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 37c2e4f..e4351ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@
 /horizon-2014.2.rc2.tar.gz
 /horizon-2014.2.tar.gz
 /horizon-2014.2.1.tar.gz
+/horizon-2015.1.0b2.tar.gz
diff --git a/0001-disable-debug-move-web-root.patch b/0001-disable-debug-move-web-root.patch
index a7635e2..0be9606 100644
--- a/0001-disable-debug-move-web-root.patch
+++ b/0001-disable-debug-move-web-root.patch
@@ -1,15 +1,16 @@
-From d56690d28f87b894fa97dd948c804e7dd0566c38 Mon Sep 17 00:00:00 2001
+From 730c96c7a21879434f2148635016b672bb821645 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Fri, 5 Apr 2013 10:07:53 +0200
 Subject: [PATCH] disable debug, move web root
 
+move RBAC policy files and checks to /etc/openstack-dashboard
 ---
- openstack_dashboard/local/local_settings.py.example |  2 +-
+ openstack_dashboard/local/local_settings.py.example |  9 +++++----
  openstack_dashboard/settings.py                     | 10 ++++++----
- 2 files changed, 7 insertions(+), 5 deletions(-)
+ 2 files changed, 11 insertions(+), 8 deletions(-)
 
 diff --git a/openstack_dashboard/local/local_settings.py.example b/openstack_dashboard/local/local_settings.py.example
-index 5e988da..78f2858 100644
+index 647732c..276e56b 100644
 --- a/openstack_dashboard/local/local_settings.py.example
 +++ b/openstack_dashboard/local/local_settings.py.example
 @@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _
@@ -21,11 +22,46 @@ index 5e988da..78f2858 100644
  TEMPLATE_DEBUG = DEBUG
  
  # Required for Django 1.5.
+@@ -12,7 +12,7 @@ TEMPLATE_DEBUG = DEBUG
+ # with the list of host/domain names that the application can serve.
+ # For more information see:
+ # https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
+-#ALLOWED_HOSTS = ['horizon.example.com', ]
++ALLOWED_HOSTS = ['horizon.example.com', 'localhost']
+ 
+ # Set SSL proxy settings:
+ # For Django 1.4+ pass this header from the proxy after terminating the SSL,
+@@ -86,7 +86,6 @@ HORIZON_CONFIG = {
+ # including on the login form.
+ # HORIZON_CONFIG["disable_password_reveal"] = False
+ 
+-LOCAL_PATH = os.path.dirname(os.path.abspath(__file__))
+ 
+ # Set custom secret key:
+ # You can either set it to a specific value or you can let horizon generate a
+@@ -98,6 +97,7 @@ LOCAL_PATH = os.path.dirname(os.path.abspath(__file__))
+ # requests routed to the same dashboard instance or you set the same SECRET_KEY
+ # for all of them.
+ from horizon.utils import secret_key
++LOCAL_PATH = '/tmp'
+ SECRET_KEY = secret_key.generate_or_read_from_file(
+     os.path.join(LOCAL_PATH, '.secret_key_store'))
+ 
+@@ -280,7 +280,8 @@ TIME_ZONE = "UTC"
+ # target installation.
+ 
+ # Path to directory containing policy.json files
+-#POLICY_FILES_PATH = os.path.join(ROOT_PATH, "conf")
++# POLICY_FILES_PATH = os.path.join(ROOT_PATH, "conf")
++POLICY_FILES_PATH = '/etc/openstack-dashboard'
+ # Map of local copy of service policy files
+ #POLICY_FILES = {
+ #    'identity': 'keystone_policy.json',
 diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py
-index ad9e691..786978e 100644
+index 100c848..d8e7022 100644
 --- a/openstack_dashboard/settings.py
 +++ b/openstack_dashboard/settings.py
-@@ -48,7 +48,7 @@ warnings.formatwarning = lambda message, category, *args, **kwargs: \
+@@ -31,7 +31,7 @@ warnings.formatwarning = lambda message, category, *args, **kwargs: \
      '%s: %s' % (category.__name__, message)
  
  ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
@@ -34,7 +70,7 @@ index ad9e691..786978e 100644
  
  if ROOT_PATH not in sys.path:
      sys.path.append(ROOT_PATH)
-@@ -58,12 +58,13 @@ TEMPLATE_DEBUG = DEBUG
+@@ -41,12 +41,13 @@ TEMPLATE_DEBUG = DEBUG
  
  SITE_BRANDING = 'OpenStack Dashboard'
  
@@ -51,7 +87,7 @@ index ad9e691..786978e 100644
  
  MEDIA_ROOT = os.path.abspath(os.path.join(ROOT_PATH, '..', 'media'))
  MEDIA_URL = '/media/'
-@@ -211,6 +212,7 @@ COMPRESS_ENABLED = True
+@@ -146,6 +147,7 @@ COMPRESS_ENABLED = True
  COMPRESS_OUTPUT_DIR = 'dashboard'
  COMPRESS_CSS_HASHING_METHOD = 'hash'
  COMPRESS_PARSER = 'compressor.parser.HtmlParser'
diff --git a/0008-remove-runtime-dep-to-python-pbr.patch b/0002-remove-runtime-dep-to-python-pbr.patch
similarity index 93%
rename from 0008-remove-runtime-dep-to-python-pbr.patch
rename to 0002-remove-runtime-dep-to-python-pbr.patch
index 9bd54da..7d0711f 100644
--- a/0008-remove-runtime-dep-to-python-pbr.patch
+++ b/0002-remove-runtime-dep-to-python-pbr.patch
@@ -1,4 +1,4 @@
-From 3a48b02f06c2ecec7671d33271fd05c97b9214eb Mon Sep 17 00:00:00 2001
+From d29e9aa5a5ad9cdfa936db2242c06d3337b845e6 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Fri, 15 Nov 2013 09:42:08 +0100
 Subject: [PATCH] remove runtime dep to python-pbr
diff --git a/0003-Add-a-customization-module-based-on-RHOS.patch b/0003-Add-a-customization-module-based-on-RHOS.patch
index d03a368..a4ccd5a 100644
--- a/0003-Add-a-customization-module-based-on-RHOS.patch
+++ b/0003-Add-a-customization-module-based-on-RHOS.patch
@@ -1,4 +1,4 @@
-From 25980e6d5932ffab51d13734f0bd2112a4adea82 Mon Sep 17 00:00:00 2001
+From 98dc151326b13f1c88c31eb0ab7bde95ecdc2f8a Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Thu, 14 Feb 2013 12:55:54 +0100
 Subject: [PATCH] Add a customization module based on RHOS
@@ -7,7 +7,10 @@ Change-Id: I8622ffc8e31cf553315077070b2a696de1bd5081
 
 Conflicts:
 	openstack_dashboard/settings.py
+
+fix flake8 issues
 ---
+ openstack_dashboard/enabled/_99_customization.py   |  8 ++++
  openstack_dashboard/settings.py                    | 12 ++++-
  openstack_dashboard_theme/__init__.py              |  0
  openstack_dashboard_theme/models.py                |  0
@@ -17,7 +20,8 @@ Conflicts:
  .../templates/auth/login.html                      | 10 ++++
  .../templates/horizon/common/_sidebar.html         | 35 ++++++++++++++
  openstack_dashboard_theme/templates/splash.html    | 17 +++++++
- 9 files changed, 163 insertions(+), 2 deletions(-)
+ 10 files changed, 171 insertions(+), 2 deletions(-)
+ create mode 100644 openstack_dashboard/enabled/_99_customization.py
  create mode 100644 openstack_dashboard_theme/__init__.py
  create mode 100644 openstack_dashboard_theme/models.py
  create mode 100644 openstack_dashboard_theme/static/dashboard/less/rhtheme.less
@@ -27,11 +31,25 @@ Conflicts:
  create mode 100644 openstack_dashboard_theme/templates/horizon/common/_sidebar.html
  create mode 100644 openstack_dashboard_theme/templates/splash.html
 
+diff --git a/openstack_dashboard/enabled/_99_customization.py b/openstack_dashboard/enabled/_99_customization.py
+new file mode 100644
+index 0000000..272bcbe
+--- /dev/null
++++ b/openstack_dashboard/enabled/_99_customization.py
+@@ -0,0 +1,8 @@
++# The name of the dashboard to be added to HORIZON['dashboards']. Required.
++DASHBOARD = 'theme'
++# If set to True, this dashboard will be set as the default dashboard.
++DEFAULT = False
++# A dictionary of exception classes to be added to HORIZON['exceptions'].
++ADD_EXCEPTIONS = {}
++# A list of applications to be added to INSTALLED_APPS.
++ADD_INSTALLED_APPS = ['openstack_dashboard.dashboards.theme']
 diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py
-index 786978e..1fad2e9 100644
+index d8e7022..4fb2e80 100644
 --- a/openstack_dashboard/settings.py
 +++ b/openstack_dashboard/settings.py
-@@ -138,14 +138,13 @@ TEMPLATE_CONTEXT_PROCESSORS = (
+@@ -120,14 +120,13 @@ TEMPLATE_CONTEXT_PROCESSORS = (
  )
  
  TEMPLATE_LOADERS = (
@@ -47,7 +65,7 @@ index 786978e..1fad2e9 100644
  
  STATICFILES_FINDERS = (
      'django.contrib.staticfiles.finders.FileSystemFinder',
-@@ -229,6 +228,15 @@ INSTALLED_APPS = [
+@@ -164,6 +163,15 @@ INSTALLED_APPS = [
      'openstack_auth',
  ]
  
@@ -62,7 +80,7 @@ index 786978e..1fad2e9 100644
 +
  TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
  AUTHENTICATION_BACKENDS = ('openstack_auth.backend.KeystoneBackend',)
- MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage'
+ MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
 diff --git a/openstack_dashboard_theme/__init__.py b/openstack_dashboard_theme/__init__.py
 new file mode 100644
 index 0000000..e69de29
diff --git a/0006-RCUE-navbar-and-login-screen.patch b/0004-RCUE-navbar-and-login-screen.patch
similarity index 99%
rename from 0006-RCUE-navbar-and-login-screen.patch
rename to 0004-RCUE-navbar-and-login-screen.patch
index 28bd9ad..d1ce22c 100644
--- a/0006-RCUE-navbar-and-login-screen.patch
+++ b/0004-RCUE-navbar-and-login-screen.patch
@@ -1,4 +1,4 @@
-From 6a7c712ee8eb259076a01c0213a13880bcf15490 Mon Sep 17 00:00:00 2001
+From fbcd2c7d88cc753facf51abc4dae2a2d279ba115 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Tue, 14 Oct 2014 11:33:00 +0200
 Subject: [PATCH] RCUE navbar and login screen
@@ -89,7 +89,7 @@ Conflicts:
  .../dashboards/theme/theme_index/panel.py          |  28 ++
  .../dashboards/theme/theme_index/urls.py           |   2 +
  .../dashboards/theme/theme_index/views.py          |   0
- openstack_dashboard/enabled/_99_customization.py   |   9 +
+ openstack_dashboard/enabled/_99_customization.py   |   1 +
  openstack_dashboard/settings.py                    |  11 +-
  openstack_dashboard_theme/__init__.py              |   0
  openstack_dashboard_theme/models.py                |   0
@@ -99,7 +99,7 @@ Conflicts:
  .../templates/auth/login.html                      |  10 -
  .../templates/horizon/common/_sidebar.html         |  35 --
  openstack_dashboard_theme/templates/splash.html    |  17 -
- 89 files changed, 3536 insertions(+), 163 deletions(-)
+ 89 files changed, 3528 insertions(+), 163 deletions(-)
  create mode 100644 openstack_dashboard/dashboards/theme/__init__.py
  create mode 100644 openstack_dashboard/dashboards/theme/dashboard.py
  create mode 100644 openstack_dashboard/dashboards/theme/models.py
@@ -179,7 +179,6 @@ Conflicts:
  create mode 100644 openstack_dashboard/dashboards/theme/theme_index/panel.py
  create mode 100644 openstack_dashboard/dashboards/theme/theme_index/urls.py
  create mode 100644 openstack_dashboard/dashboards/theme/theme_index/views.py
- create mode 100644 openstack_dashboard/enabled/_99_customization.py
  delete mode 100644 openstack_dashboard_theme/__init__.py
  delete mode 100644 openstack_dashboard_theme/models.py
  delete mode 100644 openstack_dashboard_theme/static/dashboard/less/rhtheme.less
@@ -19077,25 +19076,19 @@ diff --git a/openstack_dashboard/dashboards/theme/theme_index/views.py b/opensta
 new file mode 100644
 index 0000000..e69de29
 diff --git a/openstack_dashboard/enabled/_99_customization.py b/openstack_dashboard/enabled/_99_customization.py
-new file mode 100644
-index 0000000..f37f848
---- /dev/null
+index 272bcbe..f37f848 100644
+--- a/openstack_dashboard/enabled/_99_customization.py
 +++ b/openstack_dashboard/enabled/_99_customization.py
-@@ -0,0 +1,9 @@
-+# The name of the dashboard to be added to HORIZON['dashboards']. Required.
-+DASHBOARD = 'theme'
-+# If set to True, this dashboard will be set as the default dashboard.
-+DEFAULT = False
-+# A dictionary of exception classes to be added to HORIZON['exceptions'].
-+ADD_EXCEPTIONS = {}
-+# A list of applications to be added to INSTALLED_APPS.
-+ADD_INSTALLED_APPS = ['openstack_dashboard.dashboards.theme']
+@@ -6,3 +6,4 @@ DEFAULT = False
+ ADD_EXCEPTIONS = {}
+ # A list of applications to be added to INSTALLED_APPS.
+ ADD_INSTALLED_APPS = ['openstack_dashboard.dashboards.theme']
 +
 diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py
-index 1fad2e9..0e5084a 100644
+index 4fb2e80..3a613c4 100644
 --- a/openstack_dashboard/settings.py
 +++ b/openstack_dashboard/settings.py
-@@ -144,7 +144,7 @@ TEMPLATE_LOADERS = (
+@@ -126,7 +126,7 @@ TEMPLATE_LOADERS = (
  
  TEMPLATE_DIRS = (
      os.path.join(ROOT_PATH, 'templates'),
@@ -19104,7 +19097,7 @@ index 1fad2e9..0e5084a 100644
  
  STATICFILES_FINDERS = (
      'django.contrib.staticfiles.finders.FileSystemFinder',
-@@ -228,15 +228,6 @@ INSTALLED_APPS = [
+@@ -163,15 +163,6 @@ INSTALLED_APPS = [
      'openstack_auth',
  ]
  
@@ -19119,7 +19112,7 @@ index 1fad2e9..0e5084a 100644
 -
  TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
  AUTHENTICATION_BACKENDS = ('openstack_auth.backend.KeystoneBackend',)
- MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage'
+ MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
 diff --git a/openstack_dashboard_theme/__init__.py b/openstack_dashboard_theme/__init__.py
 deleted file mode 100644
 index e69de29..0000000
diff --git a/0009-Add-Change-password-link-to-the-RCUE-theme.patch b/0005-Add-Change-password-link-to-the-RCUE-theme.patch
similarity index 96%
rename from 0009-Add-Change-password-link-to-the-RCUE-theme.patch
rename to 0005-Add-Change-password-link-to-the-RCUE-theme.patch
index cd03fd3..6511e28 100644
--- a/0009-Add-Change-password-link-to-the-RCUE-theme.patch
+++ b/0005-Add-Change-password-link-to-the-RCUE-theme.patch
@@ -1,4 +1,4 @@
-From 042cd038027f7a125b482aafe0fb25f01f9d1dcb Mon Sep 17 00:00:00 2001
+From 12465da404221e1d0278380b4339efad72f3498f Mon Sep 17 00:00:00 2001
 From: Julie Pichon <jpichon at redhat.com>
 Date: Tue, 20 May 2014 16:22:31 +0100
 Subject: [PATCH] Add "Change password" link to the RCUE theme.
diff --git a/0010-.less-replaced-in-rcue.patch b/0006-.less-replaced-in-rcue.patch
similarity index 96%
rename from 0010-.less-replaced-in-rcue.patch
rename to 0006-.less-replaced-in-rcue.patch
index 8d1e57e..5644fb4 100644
--- a/0010-.less-replaced-in-rcue.patch
+++ b/0006-.less-replaced-in-rcue.patch
@@ -1,4 +1,4 @@
-From 49e7228a1daf7742752ebed56fad8c85d55431ed Mon Sep 17 00:00:00 2001
+From ba8f43ac512e8bf4d3ceb884f3c3b22890874813 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Thu, 31 Jul 2014 11:17:29 +0200
 Subject: [PATCH] .less replaced in rcue
diff --git a/0011-re-add-lesscpy-to-compile-.less.patch b/0007-re-add-lesscpy-to-compile-.less.patch
similarity index 73%
rename from 0011-re-add-lesscpy-to-compile-.less.patch
rename to 0007-re-add-lesscpy-to-compile-.less.patch
index 0c6f76d..72a3b28 100644
--- a/0011-re-add-lesscpy-to-compile-.less.patch
+++ b/0007-re-add-lesscpy-to-compile-.less.patch
@@ -1,4 +1,4 @@
-From 729edbc8bf6e1b9cb906d67f608c700d9c7739da Mon Sep 17 00:00:00 2001
+From a87fa0f75be6f4e7c25e2c7f69efcab9b958a409 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Mon, 6 Oct 2014 12:54:03 +0200
 Subject: [PATCH] re-add lesscpy to compile .less
@@ -8,11 +8,11 @@ Subject: [PATCH] re-add lesscpy to compile .less
  1 file changed, 1 insertion(+)
 
 diff --git a/openstack_dashboard/settings.py b/openstack_dashboard/settings.py
-index 0e5084a..1d79451 100644
+index 3a613c4..89558b6 100644
 --- a/openstack_dashboard/settings.py
 +++ b/openstack_dashboard/settings.py
-@@ -200,6 +200,7 @@ else:
-         xstatic.main.XStatic(xstatic.pkg.jquery_ui).base_dir))
+@@ -135,6 +135,7 @@ STATICFILES_FINDERS = (
+ )
  
  COMPRESS_PRECOMPILERS = (
 +    ('text/less', 'lesscpy {infile}'),
diff --git a/0012-Migration-of-LESS-to-SCSS-and-various-fixes.patch b/0008-Migration-of-LESS-to-SCSS-and-various-fixes.patch
similarity index 99%
rename from 0012-Migration-of-LESS-to-SCSS-and-various-fixes.patch
rename to 0008-Migration-of-LESS-to-SCSS-and-various-fixes.patch
index 7cc8306..e1fee58 100644
--- a/0012-Migration-of-LESS-to-SCSS-and-various-fixes.patch
+++ b/0008-Migration-of-LESS-to-SCSS-and-various-fixes.patch
@@ -1,4 +1,4 @@
-From 41476f96490d61aa7b40a3f4548d17b992d46049 Mon Sep 17 00:00:00 2001
+From 881c852aefa1201752a01a02cad7a12120903c06 Mon Sep 17 00:00:00 2001
 From: Robb Hamilton <rhamilto at localhost.localdomain>
 Date: Mon, 29 Sep 2014 11:32:19 -0400
 Subject: [PATCH] Migration of LESS to SCSS and various fixes
diff --git a/0013-Remove-the-redundant-Settings-button-on-downstream-t.patch b/0009-Remove-the-redundant-Settings-button-on-downstream-t.patch
similarity index 95%
rename from 0013-Remove-the-redundant-Settings-button-on-downstream-t.patch
rename to 0009-Remove-the-redundant-Settings-button-on-downstream-t.patch
index 4b72a68..abab767 100644
--- a/0013-Remove-the-redundant-Settings-button-on-downstream-t.patch
+++ b/0009-Remove-the-redundant-Settings-button-on-downstream-t.patch
@@ -1,4 +1,4 @@
-From 5f5b89d525f4c29738e7a3dc70d06906832aa966 Mon Sep 17 00:00:00 2001
+From 1ec97198a55c5e387512b6d7658b247360994dd1 Mon Sep 17 00:00:00 2001
 From: Julie Pichon <jpichon at redhat.com>
 Date: Wed, 15 Oct 2014 11:06:59 +0100
 Subject: [PATCH] Remove the redundant 'Settings' button on downstream theme
diff --git a/0010-Add-dropdown-actions-to-detail-page.patch b/0010-Add-dropdown-actions-to-detail-page.patch
new file mode 100644
index 0000000..ec7de2a
--- /dev/null
+++ b/0010-Add-dropdown-actions-to-detail-page.patch
@@ -0,0 +1,42 @@
+From b7457e813154bd9de8e274a29ca00e8acdd80291 Mon Sep 17 00:00:00 2001
+From: Ana Krivokapic <akrivoka at redhat.com>
+Date: Tue, 26 Aug 2014 13:19:12 +0200
+Subject: [PATCH] Add dropdown actions to detail page
+
+Add support for performing actions on an object from the object's
+detail page. Actions are displayed in the page header, in a
+dropdown menu. As a POC, this patch enables dropdown actions on a
+detail page of a volume (/project/volumes/volume-id/).
+
+Partially implements: blueprint detail-pages-ia
+
+Change-Id: Ie21c63d86c2806d9689ae7f1a67b67c83710c108
+---
+ .../dashboards/project/volumes/volumes/views.py              | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/openstack_dashboard/dashboards/project/volumes/volumes/views.py b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+index 7ee8647..f32b0dc 100644
+--- a/openstack_dashboard/dashboards/project/volumes/volumes/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+@@ -45,16 +45,12 @@ class DetailView(tabs.TabView):
+     template_name = 'project/volumes/volumes/detail.html'
+ 
+     def get_context_data(self, **kwargs):
+-        context = super(DetailView, self).get_context_data(**kwargs)
+-        volume = self.get_data()
++        datum = self.get_data()
+         table = project_tables.VolumesTable(self.request)
+-        context["volume"] = volume
++        context = super(DetailView, self).get_context_data(**kwargs)
++        context["volume"] = datum
+         context["url"] = self.get_redirect_url()
+-        context["actions"] = table.render_row_actions(volume)
+-        context["page_title"] = _("Volume Details: "
+-                                  "%(volume_name)s") % {'volume_name':
+-                                                        volume.name}
+-
++        context["actions"] = table.render_row_actions(datum)
+         return context
+ 
+     @memoized.memoized_method
diff --git a/0011-Add-dropdown-actions-to-all-details-pages.patch b/0011-Add-dropdown-actions-to-all-details-pages.patch
new file mode 100644
index 0000000..5b76f3e
--- /dev/null
+++ b/0011-Add-dropdown-actions-to-all-details-pages.patch
@@ -0,0 +1,163 @@
+From 9ceb0268b2503e29056fba309fd750edf6d02936 Mon Sep 17 00:00:00 2001
+From: Ana Krivokapic <akrivoka at redhat.com>
+Date: Wed, 3 Sep 2014 12:09:02 +0200
+Subject: [PATCH] Add dropdown actions to all details pages
+
+Partially implements: blueprint detail-pages-ia
+
+Change-Id: Ic09385d19b417b256cbc51d044d66ecbb54c7d52
+
+Conflicts:
+	openstack_dashboard/dashboards/admin/networks/views.py
+---
+ openstack_dashboard/dashboards/admin/networks/tests.py            | 7 +++++++
+ openstack_dashboard/dashboards/project/images/images/views.py     | 3 ---
+ openstack_dashboard/dashboards/project/instances/views.py         | 3 ---
+ openstack_dashboard/dashboards/project/networks/views.py          | 3 ---
+ openstack_dashboard/dashboards/project/stacks/views.py            | 7 ++++---
+ openstack_dashboard/dashboards/project/volumes/backups/views.py   | 4 ----
+ openstack_dashboard/dashboards/project/volumes/snapshots/views.py | 3 ---
+ openstack_dashboard/dashboards/project/volumes/volumes/views.py   | 8 ++++----
+ 8 files changed, 15 insertions(+), 23 deletions(-)
+
+diff --git a/openstack_dashboard/dashboards/admin/networks/tests.py b/openstack_dashboard/dashboards/admin/networks/tests.py
+index e26ad31..de933e7 100644
+--- a/openstack_dashboard/dashboards/admin/networks/tests.py
++++ b/openstack_dashboard/dashboards/admin/networks/tests.py
+@@ -191,12 +191,19 @@ class NetworkTests(test.BaseAdminViewTests):
+         api.neutron.is_extension_supported(IsA(http.HttpRequest),
+                                            'mac-learning')\
+             .AndReturn(mac_learning)
++<<<<<<< HEAD
+         api.neutron.is_extension_supported(
+             IsA(http.HttpRequest),
+             'dhcp_agent_scheduler').AndReturn(True)
+         api.neutron.is_extension_supported(
+             IsA(http.HttpRequest),
+             'dhcp_agent_scheduler').AndReturn(True)
++=======
++        api.neutron.is_extension_supported(IsA(http.HttpRequest),
++                'dhcp_agent_scheduler').AndReturn(True)
++        api.neutron.is_extension_supported(IsA(http.HttpRequest),
++                'dhcp_agent_scheduler').AndReturn(True)
++>>>>>>> dc6b1ce... Add dropdown actions to all details pages
+ 
+         self.mox.ReplayAll()
+ 
+diff --git a/openstack_dashboard/dashboards/project/images/images/views.py b/openstack_dashboard/dashboards/project/images/images/views.py
+index 97475b0..58fd5ae 100644
+--- a/openstack_dashboard/dashboards/project/images/images/views.py
++++ b/openstack_dashboard/dashboards/project/images/images/views.py
+@@ -91,9 +91,6 @@ class DetailView(tabs.TabView):
+         context["image"] = image
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(image)
+-        context["page_title"] = _("Image Details: "
+-                                  "%(image_name)s") % {'image_name':
+-                                                       image.name}
+         return context
+ 
+     @staticmethod
+diff --git a/openstack_dashboard/dashboards/project/instances/views.py b/openstack_dashboard/dashboards/project/instances/views.py
+index 178f9f0..3686ede 100644
+--- a/openstack_dashboard/dashboards/project/instances/views.py
++++ b/openstack_dashboard/dashboards/project/instances/views.py
+@@ -260,9 +260,6 @@ class DetailView(tabs.TabView):
+         table = project_tables.InstancesTable(self.request)
+         context["url"] = reverse(self.redirect_url)
+         context["actions"] = table.render_row_actions(instance)
+-        context["page_title"] = _("Instance Details: "
+-                                  "%(instance_name)s") % {'instance_name':
+-                                                          instance.name}
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/networks/views.py b/openstack_dashboard/dashboards/project/networks/views.py
+index ec2e26a..c9610de 100644
+--- a/openstack_dashboard/dashboards/project/networks/views.py
++++ b/openstack_dashboard/dashboards/project/networks/views.py
+@@ -136,9 +136,6 @@ class DetailView(tables.MultiTableView):
+         table = project_tables.NetworksTable(self.request)
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(network)
+-        context["page_title"] = _("Network Details: "
+-                                  "%(network_name)s") % {'network_name':
+-                                                         network.name}
+         return context
+ 
+     @staticmethod
+diff --git a/openstack_dashboard/dashboards/project/stacks/views.py b/openstack_dashboard/dashboards/project/stacks/views.py
+index 890cc39..b08b172 100644
+--- a/openstack_dashboard/dashboards/project/stacks/views.py
++++ b/openstack_dashboard/dashboards/project/stacks/views.py
+@@ -204,9 +204,6 @@ class DetailView(tabs.TabView):
+         context["stack"] = stack
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(stack)
+-        context["page_title"] = _("Stack Details: "
+-                                  "%(stack_name)s") % {'stack_name':
+-                                                       stack.stack_name}
+         return context
+ 
+     @memoized.memoized_method
+@@ -242,6 +239,10 @@ class DetailView(tabs.TabView):
+     def get_redirect_url():
+         return reverse('horizon:project:stacks:index')
+ 
++    @staticmethod
++    def get_redirect_url():
++        return reverse('horizon:project:stacks:index')
++
+ 
+ class ResourceView(tabs.TabView):
+     tab_group_class = project_tabs.ResourceDetailTabs
+diff --git a/openstack_dashboard/dashboards/project/volumes/backups/views.py b/openstack_dashboard/dashboards/project/volumes/backups/views.py
+index fbbad2c..43e1afd 100644
+--- a/openstack_dashboard/dashboards/project/volumes/backups/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/backups/views.py
+@@ -53,10 +53,6 @@ class BackupDetailView(tabs.TabView):
+         context["backup"] = backup
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(backup)
+-        context["page_title"] = _("Volume Backup Details: "
+-                                  "%(backup_name)s") % {'backup_name':
+-                                                        backup.name}
+-
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/volumes/snapshots/views.py b/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
+index 8fa7e18..2e2227a 100644
+--- a/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
+@@ -69,9 +69,6 @@ class DetailView(tabs.TabView):
+         context["snapshot"] = snapshot
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(snapshot)
+-        context["page_title"] = _("Volume Snapshot Details: "
+-                                  "%(snapshot_name)s") % {'snapshot_name':
+-                                                          snapshot.name}
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/volumes/volumes/views.py b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+index f32b0dc..32b96d3 100644
+--- a/openstack_dashboard/dashboards/project/volumes/volumes/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+@@ -45,12 +45,12 @@ class DetailView(tabs.TabView):
+     template_name = 'project/volumes/volumes/detail.html'
+ 
+     def get_context_data(self, **kwargs):
+-        datum = self.get_data()
+-        table = project_tables.VolumesTable(self.request)
+         context = super(DetailView, self).get_context_data(**kwargs)
+-        context["volume"] = datum
++        volume = self.get_data()
++        table = project_tables.VolumesTable(self.request)
++        context["volume"] = volume
+         context["url"] = self.get_redirect_url()
+-        context["actions"] = table.render_row_actions(datum)
++        context["actions"] = table.render_row_actions(volume)
+         return context
+ 
+     @memoized.memoized_method
diff --git a/0012-Add-support-for-row-actions-to-detail-pages.patch b/0012-Add-support-for-row-actions-to-detail-pages.patch
new file mode 100644
index 0000000..a0aa27a
--- /dev/null
+++ b/0012-Add-support-for-row-actions-to-detail-pages.patch
@@ -0,0 +1,172 @@
+From a27fd5350079fe565fa0840fdda84903179a63d2 Mon Sep 17 00:00:00 2001
+From: Ana Krivokapic <akrivoka at redhat.com>
+Date: Thu, 11 Sep 2014 13:31:45 +0200
+Subject: [PATCH] Add support for row actions to detail pages
+
+Add support for performing actions on an object from the object's
+detail page. Actions are displayed in the page header, in a
+row of buttons. To use this newly added capability, `row=True`
+must be passed as a parameter to the render_row_actions method,
+when called from a DetailView.
+
+Change-Id: I4fd96433f9514242c21d6c47f79bf83f3a5e4fc0
+Implements: blueprint detail-pages-ia
+---
+ openstack_dashboard/dashboards/admin/networks/tests.py            | 7 -------
+ openstack_dashboard/dashboards/project/images/images/views.py     | 3 +++
+ openstack_dashboard/dashboards/project/instances/views.py         | 3 +++
+ openstack_dashboard/dashboards/project/networks/views.py          | 3 +++
+ openstack_dashboard/dashboards/project/stacks/views.py            | 4 ----
+ openstack_dashboard/dashboards/project/volumes/backups/views.py   | 4 ++++
+ openstack_dashboard/dashboards/project/volumes/snapshots/views.py | 3 +++
+ openstack_dashboard/dashboards/project/volumes/volumes/views.py   | 4 ++++
+ openstack_dashboard/dashboards/theme/theme_index/panel.py         | 1 +
+ openstack_dashboard/enabled/_99_customization.py                  | 1 -
+ 10 files changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/openstack_dashboard/dashboards/admin/networks/tests.py b/openstack_dashboard/dashboards/admin/networks/tests.py
+index de933e7..e26ad31 100644
+--- a/openstack_dashboard/dashboards/admin/networks/tests.py
++++ b/openstack_dashboard/dashboards/admin/networks/tests.py
+@@ -191,19 +191,12 @@ class NetworkTests(test.BaseAdminViewTests):
+         api.neutron.is_extension_supported(IsA(http.HttpRequest),
+                                            'mac-learning')\
+             .AndReturn(mac_learning)
+-<<<<<<< HEAD
+         api.neutron.is_extension_supported(
+             IsA(http.HttpRequest),
+             'dhcp_agent_scheduler').AndReturn(True)
+         api.neutron.is_extension_supported(
+             IsA(http.HttpRequest),
+             'dhcp_agent_scheduler').AndReturn(True)
+-=======
+-        api.neutron.is_extension_supported(IsA(http.HttpRequest),
+-                'dhcp_agent_scheduler').AndReturn(True)
+-        api.neutron.is_extension_supported(IsA(http.HttpRequest),
+-                'dhcp_agent_scheduler').AndReturn(True)
+->>>>>>> dc6b1ce... Add dropdown actions to all details pages
+ 
+         self.mox.ReplayAll()
+ 
+diff --git a/openstack_dashboard/dashboards/project/images/images/views.py b/openstack_dashboard/dashboards/project/images/images/views.py
+index 58fd5ae..97475b0 100644
+--- a/openstack_dashboard/dashboards/project/images/images/views.py
++++ b/openstack_dashboard/dashboards/project/images/images/views.py
+@@ -91,6 +91,9 @@ class DetailView(tabs.TabView):
+         context["image"] = image
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(image)
++        context["page_title"] = _("Image Details: "
++                                  "%(image_name)s") % {'image_name':
++                                                       image.name}
+         return context
+ 
+     @staticmethod
+diff --git a/openstack_dashboard/dashboards/project/instances/views.py b/openstack_dashboard/dashboards/project/instances/views.py
+index 3686ede..178f9f0 100644
+--- a/openstack_dashboard/dashboards/project/instances/views.py
++++ b/openstack_dashboard/dashboards/project/instances/views.py
+@@ -260,6 +260,9 @@ class DetailView(tabs.TabView):
+         table = project_tables.InstancesTable(self.request)
+         context["url"] = reverse(self.redirect_url)
+         context["actions"] = table.render_row_actions(instance)
++        context["page_title"] = _("Instance Details: "
++                                  "%(instance_name)s") % {'instance_name':
++                                                          instance.name}
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/networks/views.py b/openstack_dashboard/dashboards/project/networks/views.py
+index c9610de..ec2e26a 100644
+--- a/openstack_dashboard/dashboards/project/networks/views.py
++++ b/openstack_dashboard/dashboards/project/networks/views.py
+@@ -136,6 +136,9 @@ class DetailView(tables.MultiTableView):
+         table = project_tables.NetworksTable(self.request)
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(network)
++        context["page_title"] = _("Network Details: "
++                                  "%(network_name)s") % {'network_name':
++                                                         network.name}
+         return context
+ 
+     @staticmethod
+diff --git a/openstack_dashboard/dashboards/project/stacks/views.py b/openstack_dashboard/dashboards/project/stacks/views.py
+index b08b172..c3a6662 100644
+--- a/openstack_dashboard/dashboards/project/stacks/views.py
++++ b/openstack_dashboard/dashboards/project/stacks/views.py
+@@ -239,10 +239,6 @@ class DetailView(tabs.TabView):
+     def get_redirect_url():
+         return reverse('horizon:project:stacks:index')
+ 
+-    @staticmethod
+-    def get_redirect_url():
+-        return reverse('horizon:project:stacks:index')
+-
+ 
+ class ResourceView(tabs.TabView):
+     tab_group_class = project_tabs.ResourceDetailTabs
+diff --git a/openstack_dashboard/dashboards/project/volumes/backups/views.py b/openstack_dashboard/dashboards/project/volumes/backups/views.py
+index 43e1afd..fbbad2c 100644
+--- a/openstack_dashboard/dashboards/project/volumes/backups/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/backups/views.py
+@@ -53,6 +53,10 @@ class BackupDetailView(tabs.TabView):
+         context["backup"] = backup
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(backup)
++        context["page_title"] = _("Volume Backup Details: "
++                                  "%(backup_name)s") % {'backup_name':
++                                                        backup.name}
++
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/volumes/snapshots/views.py b/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
+index 2e2227a..8fa7e18 100644
+--- a/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/snapshots/views.py
+@@ -69,6 +69,9 @@ class DetailView(tabs.TabView):
+         context["snapshot"] = snapshot
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(snapshot)
++        context["page_title"] = _("Volume Snapshot Details: "
++                                  "%(snapshot_name)s") % {'snapshot_name':
++                                                          snapshot.name}
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/project/volumes/volumes/views.py b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+index 32b96d3..7ee8647 100644
+--- a/openstack_dashboard/dashboards/project/volumes/volumes/views.py
++++ b/openstack_dashboard/dashboards/project/volumes/volumes/views.py
+@@ -51,6 +51,10 @@ class DetailView(tabs.TabView):
+         context["volume"] = volume
+         context["url"] = self.get_redirect_url()
+         context["actions"] = table.render_row_actions(volume)
++        context["page_title"] = _("Volume Details: "
++                                  "%(volume_name)s") % {'volume_name':
++                                                        volume.name}
++
+         return context
+ 
+     @memoized.memoized_method
+diff --git a/openstack_dashboard/dashboards/theme/theme_index/panel.py b/openstack_dashboard/dashboards/theme/theme_index/panel.py
+index 9c42a79..7d85f3c 100644
+--- a/openstack_dashboard/dashboards/theme/theme_index/panel.py
++++ b/openstack_dashboard/dashboards/theme/theme_index/panel.py
+@@ -20,6 +20,7 @@ import horizon
+ 
+ from openstack_dashboard.dashboards.theme import dashboard
+ 
++
+ class ThemePanel(horizon.Panel):
+     name = _("Panel providing a theme")
+     slug = 'theme_index'
+diff --git a/openstack_dashboard/enabled/_99_customization.py b/openstack_dashboard/enabled/_99_customization.py
+index f37f848..272bcbe 100644
+--- a/openstack_dashboard/enabled/_99_customization.py
++++ b/openstack_dashboard/enabled/_99_customization.py
+@@ -6,4 +6,3 @@ DEFAULT = False
+ ADD_EXCEPTIONS = {}
+ # A list of applications to be added to INSTALLED_APPS.
+ ADD_INSTALLED_APPS = ['openstack_dashboard.dashboards.theme']
+-
diff --git a/0019-Restore-missing-translation-for-the-downstream-theme.patch b/0013-Restore-missing-translation-for-the-downstream-theme.patch
similarity index 94%
rename from 0019-Restore-missing-translation-for-the-downstream-theme.patch
rename to 0013-Restore-missing-translation-for-the-downstream-theme.patch
index 674acf7..1fcf3e8 100644
--- a/0019-Restore-missing-translation-for-the-downstream-theme.patch
+++ b/0013-Restore-missing-translation-for-the-downstream-theme.patch
@@ -1,4 +1,4 @@
-From 3637e139fae904302764a35904e2ed4a4a815ef8 Mon Sep 17 00:00:00 2001
+From f60afc9e528d6ba7c5a55fb94c33b34b27a765a6 Mon Sep 17 00:00:00 2001
 From: Julie Pichon <jpichon at redhat.com>
 Date: Fri, 10 Oct 2014 14:26:49 +0100
 Subject: [PATCH] Restore missing translation for the downstream theme.
diff --git a/0020-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch b/0014-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
similarity index 97%
rename from 0020-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
rename to 0014-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
index 36bc4df..9d424b6 100644
--- a/0020-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
+++ b/0014-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
@@ -1,4 +1,4 @@
-From e4d39ea4de0e5192facb6360dd60cd694abe53b9 Mon Sep 17 00:00:00 2001
+From 2544d9ed6fcb904a3982d08c77fec04fc6290e46 Mon Sep 17 00:00:00 2001
 From: Robb Hamilton <rhamilto at redhat.com>
 Date: Thu, 30 Oct 2014 18:14:14 +0000
 Subject: [PATCH] IE bug fixes
diff --git a/0021-Change-branding.patch b/0015-Change-branding.patch
similarity index 98%
rename from 0021-Change-branding.patch
rename to 0015-Change-branding.patch
index 22b6376..f644711 100644
--- a/0021-Change-branding.patch
+++ b/0015-Change-branding.patch
@@ -1,4 +1,4 @@
-From 16f8dfe176710260fd46bc55e25a4182436c4a4d Mon Sep 17 00:00:00 2001
+From ad90495a3452461d0673557df9b86c7e9ea60ef3 Mon Sep 17 00:00:00 2001
 From: Matthias Runge <mrunge at redhat.com>
 Date: Fri, 31 Oct 2014 13:46:12 +0100
 Subject: [PATCH] Change branding
diff --git a/0022-Add-missing-translation-for-the-downstream-theme-zh_.patch b/0016-Add-missing-translation-for-the-downstream-theme-zh_.patch
similarity index 94%
rename from 0022-Add-missing-translation-for-the-downstream-theme-zh_.patch
rename to 0016-Add-missing-translation-for-the-downstream-theme-zh_.patch
index 12bb62c..789cb63 100644
--- a/0022-Add-missing-translation-for-the-downstream-theme-zh_.patch
+++ b/0016-Add-missing-translation-for-the-downstream-theme-zh_.patch
@@ -1,4 +1,4 @@
-From fc7de60b154da7c0c7aa5543d8000a4dac447c32 Mon Sep 17 00:00:00 2001
+From 4b590be5611665d021304f0c5f5ab529a7314619 Mon Sep 17 00:00:00 2001
 From: Julie Pichon <jpichon at redhat.com>
 Date: Fri, 10 Oct 2014 14:26:49 +0100
 Subject: [PATCH] Add missing translation for the downstream theme - zh_CN
diff --git a/python-django-horizon.spec b/python-django-horizon.spec
index df004b4..9447944 100644
--- a/python-django-horizon.spec
+++ b/python-django-horizon.spec
@@ -1,7 +1,7 @@
 %global release_name kilo
 
 %global milestone 2
-%global with_compression 1
+%global with_compression 0
 
 Name:       python-django-horizon
 Version:    2015.1
@@ -26,28 +26,21 @@ Source5:    python-django-horizon-logrotate.conf
 # patches_base=2015.1.0b2+3
 #
 Patch0001: 0001-disable-debug-move-web-root.patch
-Patch0002: 0002-change-lockfile-location-to-tmp-and-also-add-localho.patch
+Patch0002: 0002-remove-runtime-dep-to-python-pbr.patch
 Patch0003: 0003-Add-a-customization-module-based-on-RHOS.patch
-Patch0004: 0004-move-RBAC-policy-files-and-checks-to-etc-openstack-d.patch
-Patch0005: 0005-move-SECRET_KEY-secret_key_store-to-tmp.patch
-Patch0006: 0006-RCUE-navbar-and-login-screen.patch
-Patch0007: 0007-fix-flake8-issues.patch
-Patch0008: 0008-remove-runtime-dep-to-python-pbr.patch
-Patch0009: 0009-Add-Change-password-link-to-the-RCUE-theme.patch
-Patch0010: 0010-.less-replaced-in-rcue.patch
-Patch0011: 0011-re-add-lesscpy-to-compile-.less.patch
-Patch0012: 0012-Migration-of-LESS-to-SCSS-and-various-fixes.patch
-Patch0013: 0013-Remove-the-redundant-Settings-button-on-downstream-t.patch
-Patch0014: 0014-Change-page-header-heading-to-H1.patch
-Patch0015: 0015-Add-dropdown-actions-to-detail-page.patch
-Patch0016: 0016-Add-dropdown-actions-to-all-details-pages.patch
-Patch0017: 0017-Add-support-for-row-actions-to-detail-pages.patch
-Patch0018: 0018-Clean-up-test-output.patch
-Patch0019: 0019-Restore-missing-translation-for-the-downstream-theme.patch
-Patch0020: 0020-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
-Patch0021: 0021-Change-branding.patch
-Patch0022: 0022-Add-missing-translation-for-the-downstream-theme-zh_.patch
-Patch0023: 0023-Horizon-login-page-contains-DOS-attack-mechanism.patch
+Patch0004: 0004-RCUE-navbar-and-login-screen.patch
+Patch0005: 0005-Add-Change-password-link-to-the-RCUE-theme.patch
+Patch0006: 0006-.less-replaced-in-rcue.patch
+Patch0007: 0007-re-add-lesscpy-to-compile-.less.patch
+Patch0008: 0008-Migration-of-LESS-to-SCSS-and-various-fixes.patch
+Patch0009: 0009-Remove-the-redundant-Settings-button-on-downstream-t.patch
+Patch0010: 0010-Add-dropdown-actions-to-detail-page.patch
+Patch0011: 0011-Add-dropdown-actions-to-all-details-pages.patch
+Patch0012: 0012-Add-support-for-row-actions-to-detail-pages.patch
+Patch0013: 0013-Restore-missing-translation-for-the-downstream-theme.patch
+Patch0014: 0014-IE-bug-fixes-https-bugzilla.redhat.com-show_bug.cgi-.patch
+Patch0015: 0015-Change-branding.patch
+Patch0016: 0016-Add-missing-translation-for-the-downstream-theme-zh_.patch
 
 #
 # BuildArch needs to be located below patches in the spec file. Don't ask!
@@ -129,9 +122,9 @@ Requires:   python-eventlet
 Requires:   python-django-pyscss >= 1.0.5
 Requires:   python-XStatic
 Requires:   python-XStatic-jQuery
-Requires:   python-XStatic-Angular
-Requires:   python-XStatic-Angular-Cookies
+Requires:   python-XStatic-Angular >= 1:1.3.7
 Requires:   python-XStatic-Angular-Mock
+Requires:   python-XStatic-Angular-Bootstrap
 Requires:   python-XStatic-D3
 Requires:   python-XStatic-Font-Awesome
 Requires:   python-XStatic-Hogan
@@ -170,9 +163,9 @@ BuildRequires: python-oslo-config
 BuildRequires: python-django-pyscss >= 1.0.5
 BuildRequires: python-XStatic
 BuildRequires: python-XStatic-jQuery
-BuildRequires: python-XStatic-Angular
-BuildRequires: python-XStatic-Angular-Cookies
+BuildRequires: python-XStatic-Angular >= 1:1.3.7
 BuildRequires: python-XStatic-Angular-Mock
+BuildRequires: python-XStatic-Angular-Bootstrap
 BuildRequires: python-XStatic-D3
 BuildRequires: python-XStatic-Font-Awesome
 BuildRequires: python-XStatic-Hogan
@@ -240,7 +233,7 @@ Requires: openstack-dashboard = %{version}
 Customization module for OpenStack Dashboard to provide a branded logo.
 
 %prep
-%setup -q -n horizon-%{version}
+%setup -q -n horizon-%{version}.0b%{milestone}
 
 # remove precompiled egg-info
 rm -rf horizon.egg-info
@@ -268,6 +261,17 @@ rm -rf {test-,}requirements.txt tools/{pip,test}-requires
 # make doc build compatible with python-oslo-sphinx RPM
 sed -i 's/oslosphinx/oslo.sphinx/' doc/source/conf.py
 
+# make build compatible with older oslo_config
+sed -i 's/oslo_config/oslo.config/' openstack_dashboard/policy.py
+sed -i 's/oslo_config/oslo.config/' openstack_dashboard/test/integration_tests/config.py
+
+# make build compatible with older oslo_utils
+sed -i 's/oslo_utils/oslo.utils/' openstack_dashboard/test/test_data/swift_data.py
+sed -i 's/oslo_utils/oslo.utils/' openstack_dashboard/api/swift.py
+sed -i 's/oslo_utils/oslo.utils/' openstack_dashboard/dashboards/project/stacks/forms.py
+sed -i 's/oslo_utils/oslo.utils/' openstack_dashboard/openstack/common/log.py
+sed -i 's/oslo_utils/oslo.utils/' openstack_dashboard/openstack/common/fileutils.py
+
 # drop config snippet
 cp -p %{SOURCE4} .
 
@@ -463,6 +467,9 @@ cp -a %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-dashboard
 %{_datadir}/openstack-dashboard/openstack_dashboard/enabled/_99_customization.*
 
 %changelog
+* Fri Feb 20 2015 Matthias Runge <mrunge at redhat.com> - 2015.1-0.1.b2
+- rebase to 2015.1.0b2
+
 * Mon Dec 15 2014 Matthias Runge <mrunge at redhat.com> - 2014.2.1-2
 - Fix CVE-2014-8124 (rhbz#1174066)
 
diff --git a/sources b/sources
index 09eafa4..dd84f90 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b5635c02d1a7683c0bbf95d4d454c5ed  horizon-2014.2.1.tar.gz
+8a68a6395f6d1ef325f7623a9a1adced  horizon-2015.1.0b2.tar.gz


More information about the scm-commits mailing list