Update Launch Instance button with ajax

Launch Instance button updates after instance has been terminated:
- added html temlpate for table actions
- ajax-update and update-url classes were added for link actions
- update all required actions via ajax when rows were removed from the table

Closes-Bug: #1192621
Change-Id: I81e8ea4e1921bbf344d210ba3353d51d4c11a7d1
Tell users when there is no data available in Daily Report

Here is the text from the bug:
If there is no metering data from the period selected,
user sees panel with no tables. It would be nicer to tell user that this is because there is no data to show.

The Daily Report displays one table per project. Since there is no data, then there are no tables.
This change displays the string "No data available" in this situation. This is the same
behavior as the Stats tab in the same Resouce Utilization Panel.

Change-Id: I15a5e029ec97d77c95c2567e8ba4493623952de7
Closes-bug: #1287931
Create links in LBaaS detail pages

LBaaS detail pages contains many UUIDs and it is not human-friendly.
This commit replaces UUIDs with name or similar strings and
add links to details of corresponding resource.

In addition, some columns are added to health monitor tables
because UUID and monitor type are not enough to identify
health monitors.

Change-Id: I7b13c827d96b57a82e3855743e7d68e564edebd7
Closes-Bug: #1243123
Closes-Bug: #1243126
Add tox env to build docs

In django-based projects, we need to specify DJANGO_SETTINGS_MODULE
when running docs build. It is required to addresses the warnings of
docs build job in the gate.

This commit also changes run_tests.sh --docs to use "python setup.py
build_sphinx" to match tox docs env. This change addresses all sphinx
build warning except keystone v3 related following warning.
I believe it is useful.
  NoReverseMatch: u'domains' is not a registered namespace
  inside 'horizon:admin'

Closes-Bug: #1302532
Related-Bug: #1257725

Change-Id: I3663b81b58be3c6cb05e4af914f768c28b21ea07
Sync latest Oslo

Sync from oslo-incubator commit 46f2b697b6aacc674bc040a8751997ed70490d1a

Major changes of the import are related to update policy module:
0da5de6b54 Allow policy.json resource vs constant check
5d1f15a778 Documenting policy.json syntax
33533b0d97 Keystone user can't perform revoke_token

Most changes are style-related topics:
* Improve Python3 compatibility
* Remove vim modelines
* Support Per-log-level logging translations

Closes-Bug: #1296337
Change-Id: I09f61b10b1b36015d248de25c5c6ed994717a565
Add go_to_home_page method and two more properties

I added the brand property which is used by the go_to_home_page
method. This method will generally be used for tests.
In particular, it will be part of the TestCase class, which is planned
to be the base class for all tests (on top of helpers's BaseTestCase
class), except login tests.

In addition, I modified the css selector in the _user_indicator_locator
and made the user property from it.

https://wiki.openstack.org/wiki/Horizon/Testing/UI

Partially implements blueprint: selenium-integration-testing

Change-Id: Ic614c6a37ea04aeccf1a06312f4bcd20e5fe2c76
Better tab name on Hosts Aggregate modal.

Change the Tab name on "Create Host Aggregate"
modal for a better match with the action.

Change-Id: I87d1ae63d719afcb6d5f9827171f8392d6dc3a8d
Closes-Bug: #1291120
Fix DynamicSelectWidget.get_add_item_url() method.

Do not wrap self.add_item_link_args in an additional list because it
makes impossible to pass more than one arg (i.e. tuple or list of
args) to url resolver.

Change-Id: Idf6d5d1f27c9176f1de93a475e0f1abbae5ee275
Closes-Bug: #1297317
Fix KeyError in router:AddInterface error handle

Under some circumstances the exception handling on adding an interface
to a router will produce a KeyError.

The exception happens in
openstack_dashboard/dashboards/project/routers/ports/forms.py in
AddInterface.populate_subnet_id_choices.

In the exception handling code, a reverse() is called an argument of
request.REQUEST['router_id'] which doesn't always exist.

The fix is quite simple: try to look for it in the initial form data as
well, and if 'router_id' is in neither location, fall-back to the index
page.

Change-Id: I74eaf8cd024d2929fed3d4e00b644e5850e2d5b3
Closes-Bug: 1304533
Daily Usage report format value column

Also fix small capitalization issue

Change-Id: Ibb32d4181eb00c0fd8856002522d70c1edf33ec0
Closes-Bug: #1304066
Add a centralized palette to Horizon

    With a centralized palette it will become easier to customize
Horizon design. Colors and file syntax are inspired by BootstrapV3
variables.less file

Change-Id: Iee0ed7cfea03fbba3385787646e55dd96a424327
Implements: blueprint centralized-color-palette
Co-Authored-By: miziel-r <robert.mizielski@cloudwatt.com>
Do not auto resize line charts by default

Init function for D3 line charts made them redraw automatically
on window resize. This behavior should be optional and not the default.
This patch ensures that by default, charts do not automatically redraw.

Change-Id: I8b5b0a44b44bb71b0bb7e543e7d7b3913f56d3e9
Replace Horizon cookies by the angular one

    This change allow us to use the ngCookies module in the angular
app of Horizon, it also provide this service outside through the
horizon.cookies object.

Change-Id: I12d85efdff32ce4d7d6a9d3a65e1e93ec0bbc9a7
Implements: blueprint horizon-angular
Co-Authored-By: miziel-r <robert.mizielski@cloudwatt.com>
Perform natural sorts on "Hostname" column on the Hypervisors panel

The API calls just return the results in who-knows-what order, so
explicitly sort them so they make sense.  Also tell jquery-tablesorter
how to do natural sorts, so that the results continue to make sense
when the users fidget with them.

Closes-Bug: 1278678
Change-Id: I7056658aab31410bc47508d6495a9430c5f0a669
Support for django csrf token

    Now an $http call through horizon will automatically be provided
with the csrf token needed by django.

Change-Id: I50bb7180e8f4e515365deaef24891c11cb1a84e0
Implements: blueprint horizon-angular
Co-Authored-By: miziel-r <robert.mizielski@cloudwatt.com>
Return False if instance is None in TogglePause and ToggleSuspend

Change-Id: Iad67cc61954f57c4260467d3f827a51b932b74b9
Closes-Bug: #1306216
Clear barchart before rendering it

When refreshing the bar chart, it is necessary to clear the html
before rendering it. Otherwise the old chart remains on the page,
and the new one is added on top of it. This patch ensures that
the old chart is cleared first, before rendering the new chart.

This also replaces occurrences of .html('') with .empty(),
as the latter is more efficient and explicit.

Closes-bug: #1307563
Change-Id: I5705cb82093dcf45b5111f5ab52d3dfda74ce64a
Textarea field can be extended over other fields

This patch fixes textarea field extension over other fields.
It use the same solution that was applied in bug #1282196.

Change-Id: I68dbe9e96f1d0603b2aa09ea59fac8126ba923d4
Closes-Bug: #1308208
Use the latest Django 1.4 release to test Horizon

Change-Id: Ia991731e999ebcda91cf0439f58bb8263737197a
Closes: bug #1308123
Merge "Tell users when there is no data available in Daily Report"