Fixup trove screens for Bootstrap 3 changes

Changed row-fluid
Selected new icons in a few places
Cleanup html for details pages
Added default button to resize dialog

Change-Id: I80fbccf77e6a27a51f84dd55cab7944f23d38d66
Closes-Bug: #1350514
Change unit string translation in volume limit templates

This fixes an issue where the lazy translated "GB" unit string is
not properly resolved in the volume limit templates. This error
does not happen in a devstack environment but has been found to
happen in chef and puppet deployed OpenStack production
environments.

Closes-Bug: 1332238
Change-Id: Icc056ca508f430e981049ca00985d329c92a6ab4
Handle TypeError from table column summation code

This commit catches TypeError from horizon.tables.Column
summation calculation. This TypeError is caught inside Django
until Django 1.6, but Django 1.7 code is refined to catch
more specific case and it leads to horizon unit test failure.

Closes-Bug: #1355939
Change-Id: I9d5b4565f1238a9880ccf117f2ea623fed466a44
Use string.ascii_letters to be python 3 compatible

Use string.ascii_letters instead of string.letter. The only consequence
is to loose the locale-specific behavior but it seems not to be a bad
thing for generating a secret key.

Change-Id: Id985d798042eaa7541692d137027233537ed3bb4
Closes-Bug: #1360861
Barchart popup window position is broken

Barchart popup window position is broken with new styles,
need to compute it different way.
Also position while scaling was broken, fixing it too.

Closes-Bug: #1353918
Change-Id: I0151a0b93b8350e4ca3dbe429db66b6171b9d459
Navigation causes undefined error when clicked on twice

Using the jquery find function on a regular element causes this error. To
resolve this issue, we have to wrap it as a jquery element.

Change-Id: Ibe7dbbdb98c302ca55a30f5205464c469e7d719f
Closes-Bug: #1361315
Add quota validation to volume extending size

We should validate extending size before handle the action
like create volume.

Change-Id: Ibc9f75d7b331e091af813a27ec5b0b68d7855e5d
Closes-Bug: #1285922
Fix alert styling using "error" instead of "danger".

There is no "alert-error" style, only "alert-danger" so rewrite the type
to "danger" for correct styling.

Change-Id: Ie812d5bbbbd84a1e9c6d94876c8726124d4fc4e9
Closes-Bug: 1362943
Corrected AZ FilterAction and table filter

The Availability Zone table was using the Host Aggregates filter action
so that has been changed to use the correct filter action, and fixed
Availability Zone filter action accessing an attribute that did not exist.

Change-Id: Ib9daaaeffade0ee30115f47f065f9f86ec6eb70c
Closes-Bug: 1362850
Fix border colors for Firefox

Added 'background-clip:padding-box' to default zebra-stripe styles.
This makes borders visible for odd row, action column in Firefox.

Closes-bug: 1364274

Change-Id: I3ef37cb5a5db369a3a20fc7bb78f0b6e7638b726
Remove NotImplementedErrors from "virtual" methods

Raising a NotImplementedError in a method of a base class
makes it impossible to use super() with it and do multiple
inheritance properly. Those methods should instead simply
return some default "empty" value, so that the methods in
the subclasses can still call them, if that's where they
fall in the MRO.

Change-Id: I581391e87dc58f0f76adea3dbf90cef173d3daef
Closes-bug: 1278825
Allow adding or changing the CSS classes of a data table

Sometimes a datatable needs to be displayed slightly differently, for
instance with or without the borders, condensed, zebra, etc. This patch
lets us do that in two ways.

It adds a css_class option to table's Meta, so that we can easily add
more classes to a particular table, and modify its looks with CSS.

It also puts the whole table's CSS class list in a block, so that we
can inherit from the table's template to completely replace its classes,
if we need to.

Change-Id: I64a1f3ba8d80643c545de024f52ec3313bbff8e5
[Sahara] Fixed cluster template creation

Change-Id: I52197d8149bc5a40747dee554f356a4dfa5591aa
Closes-Bug: #1364648
Added new filter class for sub-service tables

The same filter class was being run on almost every system info table
despite them having different attributes which was causing horizon to
break. New filter class filters on the 'binary' attribute of the
cinder and nova sub-services.

Change-Id: Idc69a58ee4705280e44bc81bcd429c58da00e6f1
Closes-Bug: 1363250
Remove the urlquote to arguments passed to reverse

In the container dashboard, I removed the urlquote to all
arguments passed to the reverse function since the reverse
function runs the urlquote on the arguments.

Change-Id: I4186ded9a2f52b6e56a12e8c521cb33fb3633a48
Closes-Bug: 1347734
Co-Authored-By: Masco Kaliyamoorthy <Masco.kaliyamoorthy@enovance.com>
Avoid string concatenation in Volume Type Extra Spec Edit

We should avoid using string concatenation so that translators
can control the word order in their translations.

Change-Id: I7a717b15fc978eec4448caf0962e2ffacfaf7645
Closes-Bug: #1366481
Added missing floating IP pool section

Change-Id: I0856dfaea94df23304f76b72843fa7e9786a0152
Closes-Bug: #1364643
Fixes broken rendering of dashboard for IE

Adding a meta line in the base.html template to force IE out of
compatibility mode.

Change-Id: I837fece966e2a36a05d8f7cc386cf5dd1ee2a03d
Closes-bug: #1260281
Hiding "Launch as Instance" if volume is not bootable.

If a volume which is not bootable, is used to create an instance
then the instance will go into 'Error' state.
The patch solves this issue by hiding the 'Launch as Instance'
button if the volume is not bootable.

Closes-Bug: #1327310

Change-Id: I3d9e7edf846fafab4e735d562c1ec72ad32fb220
Allow translators to translate BatchActions

Currently BatchAction proposes only an action_present and action_past verb
to be concatenated with a data_type_singular or data_type_plural string.

The issue is that many languages need to conjugate the verb with the
plural/singular subject, and some translations where terribly awfull and
impossible to do.
Indeed, some languages have up to 5 plural forms depending on the number of
items.

This patch introduces the fact that action_present is a method instead of an
attribute, which in conjonction with https://review.openstack.org/57701 allows
better translation to be performed.

This patch also adds contextual mrkers to STATUS_DISPLAY_CHOICES,
TASK_DISPLAY_CHOICES and POWER_DISPLAY_CHOICES because it was impossible to
translate the stand-alone words out of context for a translator (i.e. the word
"active" will be translated differently if the active object is feminine or
masculine, since feminine and masculine depends also on the language, it is
mission impossible for the translator to translate "active" if he does not know
"what" is "active").

It is important to use unicode strings with contextual markers because of the
following django bug:
https://code.djangoproject.com/ticket/22565
The django community was very quick and responsive and fixed the bug very fast:
https://code.djangoproject.com/changeset/142c27218a0bb07bb197faab7b1d8eb3a084f5b9
and back-ported their fix in the 1.6 and 1.7 django branches:
https://code.djangoproject.com/changeset/61fd00d4fd65f44d0a05be4c7e95124e4102ec27
https://code.djangoproject.com/changeset/034866204b39f797c73997b03cd90443aa03aa91
but since in horizon we support back to django 1.4, we will have to live with
it by providing unicode strings until we drop support of old django versions.

We can't introduce contextual markers and ungettext (pluralization) verywhere
at once because Translators would totally loose their previous work. So we have
to progressively introduce contextual markers and pluralization, when a string
is changed, or for new strings. It is also the reason why this patch changes
only the strings of the instance view actions.

Since we can't use contextual markers and pluralization for all the code at
once, this patch partially:

partial-bug: 1307476

Change-Id: I4cef42dc4a12f55cf750d9a18083254c6a96e716