summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-30 08:54:30 +0000
committerGerrit Code Review <review@openstack.org>2014-09-30 08:54:30 +0000
commit9ad9af4b8d9471eee8ea06aa520b70ace7b14617 (patch)
treefc5471fbf5664ef9f75ddf5257a7acbe379207c5
parentdd4db98fe268934e47532992d4246c272d86125b (diff)
parenta8eeed91fd58cbfa157c2ec3838d76ccf2c32985 (diff)
downloadhorizon-9ad9af4b8d9471eee8ea06aa520b70ace7b14617.tar.gz
Merge "Allow forms to disable autofill in all browsers" into stable/icehouse2014.1.3
-rw-r--r--horizon/templates/horizon/common/_modal_form.html12
-rw-r--r--openstack_dashboard/dashboards/admin/users/forms.py2
2 files changed, 12 insertions, 2 deletions
diff --git a/horizon/templates/horizon/common/_modal_form.html b/horizon/templates/horizon/common/_modal_form.html
index 812b613b7..6702e2a06 100644
--- a/horizon/templates/horizon/common/_modal_form.html
+++ b/horizon/templates/horizon/common/_modal_form.html
@@ -12,12 +12,20 @@
<form id="{% block form_id %}{% endblock %}"
ng-controller="{% block ng_controller %}DummyCtrl{% endblock %}"
name="{% block form_name %}{% endblock %}"
- autocomplete="{% block autocomplete %}{% endblock %}"
+ autocomplete="{% block autocomplete %}{% if form.no_autocomplete %}off{% endif %}{% endblock %}"
class="{% block form_class %}{% endblock %}"
action="{% block form_action %}{% endblock %}"
method="{% block form-method %}POST{% endblock %}"
{% if add_to_field %}data-add-to-field="{{ add_to_field }}"{% endif %} {% block form_attrs %}{% endblock %}>{% csrf_token %}
<div class="modal-body clearfix">
+
+ {% comment %}
+ These fake fields are required to prevent Chrome v34+ from autofilling form.
+ {% endcomment %}
+ {% if form.no_autocomplete %}
+ <input type="text" name="fake_email" value="" style="display: none" />
+ <input type="password" name="fake_password" value="" style="display: none" />
+ {% endif %}
{% block modal-body %}
<fieldset>
{% include "horizon/common/_form_fields.html" %}
@@ -28,4 +36,4 @@
</form>
</div>
{% block modal-js %}
-{% endblock %} \ No newline at end of file
+{% endblock %}
diff --git a/openstack_dashboard/dashboards/admin/users/forms.py b/openstack_dashboard/dashboards/admin/users/forms.py
index 722d1686f..3c868454a 100644
--- a/openstack_dashboard/dashboards/admin/users/forms.py
+++ b/openstack_dashboard/dashboards/admin/users/forms.py
@@ -94,6 +94,7 @@ class CreateUserForm(BaseUserForm):
project = forms.DynamicChoiceField(label=_("Primary Project"),
add_item_link=ADD_PROJECT_URL)
role_id = forms.ChoiceField(label=_("Role"))
+ no_autocomplete = True
def __init__(self, *args, **kwargs):
roles = kwargs.pop('roles')
@@ -171,6 +172,7 @@ class UpdateUserForm(BaseUserForm):
widget=forms.PasswordInput(render_value=False),
required=False)
project = forms.ChoiceField(label=_("Primary Project"))
+ no_autocomplete = True
def __init__(self, request, *args, **kwargs):
super(UpdateUserForm, self).__init__(request, *args, **kwargs)