Empty email for users gets saved as an empty string

The actual behavior is that horizon sends an empty string
on the "email" field when creating a new user if the field
isn't filled by the user.
To match the keystone client behaviour, instead of sending
an empty string, this patch sends a "None" value when the
field isn't filled by the user.
By doing this, when creating a new user from both,
keystone client and horizon, a "null" value is stored
under the same conditions.
in the database. This will keep the data consistency.
From the presentation point of view, when a "null" value
is received, it is presented as an empty string instead
of showing "None" on the "email" field of the users table.

Change-Id: Ib5df774b3fe9d82c084f380c9c11aea46b2984aa
Closes-Bug: #1265805
Get instance networking information from Neutron

project/instances, admin/instances and the instance details page
all get networking information from Nova. However, with Neutron
enabled, floating IP associations are done direcly with Neutron,
meaning that Nova's DB will fall out of sync and thus the GUI
won't reflect successful floating IP associations until Nova
polls Neutron again and updates its DB. The polling can take
up to several minutes to complete for consecutive floating IP
operations.

The solution is to update instances' networking information from
Neutron immediately after the call to list Nova instances.

Closes-Bug: #1265032
Change-Id: I0382fa9a4a9fff21e7b4d05cd3b76783f826735f
Fix small pep8 issue

This slipped through as it is an existing bug in 1.4.5.

Change-Id: Ie8019f92608320fbcf05ed22063ed326e618ca93
Closes-Bug: #1267994
External interface shows as up fake

On the network topology router-mouse-over-balloon, the list of
interfaces contains one labeled "fake<some_id>" which is a placeholder
for the external interface.

This interface should be labeled with a much less confusing tag.
"extern" or "gateway" seems much better.

Closes-Bug: #1273774

Change-Id: I873f80244757f573778abcac746c32c26732c8a9
Add dependencies on Quick Start page.

Change-Id: Ifc69ae397519c05d778d4d15062c00ae8e425b9d
Closes-bug: #1231227
Change 'update default quotas' success and failure messages

Success and failure messages include formatting that adds name,
which makes for awkward phrasing when displayed to the user.
Removed formatting to clarify message text for both success and
failure messages.

Change-Id: Id754ec9cb132ba82c07c13b05c76367739d3faaf
Closes-Bug: #1274654
The order of fields have changed for update default quota form.

Changed the ordering of the the fields for update default quota form
so that it now matches the default quota table page.

Change-Id: I76c5b75f30d9db39c83b395bffbf11340b2e0bde
Closes-Bug: #1275892
Add a Row check to enable/disable checkbox on ajax updates.

This patch allows to remove the checkbox after an ajax update for
instance when the resource changed to a state like DELETED so
it cannot be affected by Table Actions like 'Delete XXXX' after
object refresh.

Change-Id: I41e2339b035e784edfa57f27c1c25cf823e726d7
Closes-Bug: #1272694
Remove delete action and bar when stack is DELETE_COMPLETE.

Heat is returning stack in DELETE_COMPLETE status. Beside that
the table don't consider DELETE_COMPLETE status so the animation is
always visible after deletion.

As a side effect, the checkbox and delete (row action) button are enabled.

This patch will remove the animation on DELETE_COMPLETE state and
disable 'Delete' button and checkbox so it cannot be delete again
by Table Delete action.

Change-Id: Id9c8d34c99a4079d2afa7438353490bfaf91072b
Closes-Bug: #1243087
Make object upload success message translatable.

Since the corresponding request is not ajax, we should
use "force_unicode" to translate the message.

Closes-Bug: #1252089

Change-Id: I76098a0d4b51c5f479deca01cbd3702989a5f162
Test coverage improvement for FWaaS screens

This patch set adds 'delete' ans 'update_get' tests
for policies, rules and firewalls and removes some
redundant code from another tests.

Closes-Bug: #1274136

Change-Id: I5e00419621fd6aa14ec82a5a19887754e03c1d0e
Translating entity types in client side templates

This patch changes the remaining labels not localized in
the client side templates.

Change-Id: If01b9241ad5f81bbf810ad31bae9b24a2016ee3f
Closes-bug: #1226159
Fix table rendering for iterable objects

Table rendering is broken for objects which are iterable but do NOT
implement a 'get' method. This patch ensures that we don't try to
invoke a 'get' method on objects which don't support it.

Change-Id: If29946f8c553b85a03ea6c50b0cf74f3ba787d0b
Closes-Bug: #1278956
get_user_home test fix for django 1.6

In django 1.6, the django.utils.html.strip_tags method no longer
calls force_text on the object passed in.  This causes a
get_user_home test to fail as it attempts to concatenate the User
object and a str and fails.  Changing to a method that will take
an Object.

Change-Id: If879a1597fe334f67a3f7109defa0694db005f81
Partially-implements: blueprint django-1point6
fix templatetag for no fractional bytes

In django 1.6, testing 0.0005 MB fails due to rounding issues.

Since a fractional byte makes no sense, just casting the float
value to an int.

Partially-implements: blueprint django-1point6
Change-Id: Id82faf32f0670f6342dac87a08affc10c7fda8de
Bug fix on neutron's API to return the correct target ID

In the class FloatingIpManager, the function filters the
resulting list of ports with all available floating ips.
The function now returns the target ID of a port with a
floating IP associated to it. Added a new function to get
this to pass. In the next phase is to refactor the
floating ip api to allow a finer granularity. This will
be useful later for managing floating ips.

Change-Id: I02286dbbb60318b0157992622ffdeeae45a71bc1
Closes-Bug: 1265872
Restrict the length of the Security Group name input

There is an allowed maximum length for security group name field, but in
current code, it doesn't check or restrict that from UI side, i.e. user
will be able to type in more than what is allowed. After form
submission, it will fail but there is no clear message telling user what
caused failure.

After adding the code to restrict the max length of the security group
name field, user will not be able to input more than what is allowed,
thus this error will be prevented from UI.

Change-Id: I0f560e78e67a0259343f1a2c820270506653b254
Closes-Bug: #1279472
Fix form error access for django 1.6

In Django 1.6, the _get_errors() method is not available in
django 1.6, while errors is a property on forms that is available.

Partially-implements: blueprint django-1point6
Change-Id: I959fbb50fc33b927251d00ebd70592bb90b92cff
Merge "Fix table rendering for iterable objects"
Fixing tests to work with keystoneclient 0.6.0

Another item needs mocking with the new release of
python_keystoneclient. Adding it to mocked keystoneclient.Client
object.

Closes-Bug: #1279907
Change-Id: I3c43a7290a6e05c718082dcad369162bf21e3603