Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .pytest_cache/v/cache/lastfailed
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"django_google_maps/tests/test_geolocation_field.py": true,
"django_google_maps/tests/test_widget.py": true
}
19 changes: 19 additions & 0 deletions .pytest_cache/v/cache/nodeids
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_allows_GeoPt_instantiated_with_empty_string",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_is_not_equal_when_comparison_is_not_GeoPt_object",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_len_returns_len_of_unicode_value",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_raises_error_when_attribute_error_on_split",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_raises_error_when_type_error_on_split",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_raises_exception_when_value_is_out_of_lower_range",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_raises_exception_when_value_is_out_of_upper_range",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_returns_float_value_when_valid_value",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_sets_lat_lon_on_initialization",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_splits_geo_point_on_comma",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_two_GeoPts_with_different_lat_should_not_be_equal",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_two_GeoPts_with_different_lon_should_not_be_equal",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_two_GeoPts_with_same_lat_lon_should_be_equal",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_uses_empty_string_as_unicode_representation_for_empty_GeoPt",
"django_google_maps/tests/test_geopt_field.py::GeoPtFieldTests::test_uses_lat_comma_lon_as_unicode_representation",
"django_google_maps/tests/test_typename.py::TypeNameTests::test_class_object",
"django_google_maps/tests/test_typename.py::TypeNameTests::test_simple_type_returns_type_name_as_string"
]
19 changes: 16 additions & 3 deletions django_google_maps/tests/test_widget.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
import locale

from django import test
from django.conf import settings
from django_google_maps.widgets import GoogleMapsAddressWidget


class WidgetTests(test.TestCase):
def setUp(self):
if hasattr(settings, 'GOOGLE_MAPS_DEFAULT_LANGUAGE'):
self.GOOGLE_MAPS_DEFAULT_LANGUAGE = settings.GOOGLE_MAPS_DEFAULT_LANGUAGE

else:
if locale.getdefaultlocale():
self.GOOGLE_MAPS_DEFAULT_LANGUAGE = locale.getdefaultlocale()[0]
else:
self.GOOGLE_MAPS_DEFAULT_LANGUAGE = 'en'

def test_render_returns_xxxxxxx(self):
widget = GoogleMapsAddressWidget()
results = widget.render('name', 'value', attrs={'a1': 1, 'a2': 2})
Expand All @@ -20,8 +32,9 @@ def test_render_returns_blank_for_value_when_none(self):
expected += '<div id="map_canvas"></div></div>'
self.assertHTMLEqual(expected, results)

def test_maps_js_uses_api_key(self):
def test_maps_js_uses_api_key_and_default_language(self):
widget = GoogleMapsAddressWidget()
google_maps_js = "https://maps.google.com/maps/api/js?key={}&libraries=places".format(
settings.GOOGLE_MAPS_API_KEY)
google_maps_js = "https://maps.google.com/maps/api/js?key={}&libraries=places&language={}".format(
settings.GOOGLE_MAPS_API_KEY,
self.GOOGLE_MAPS_DEFAULT_LANGUAGE)
self.assertEqual(google_maps_js, widget.Media().js[1])
16 changes: 14 additions & 2 deletions django_google_maps/widgets.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
import locale

from django.conf import settings
from django.forms import widgets

if hasattr(settings, 'GOOGLE_MAPS_DEFAULT_LANGUAGE'):
GOOGLE_MAPS_DEFAULT_LANGUAGE = settings.GOOGLE_MAPS_DEFAULT_LANGUAGE

else:
if locale.getdefaultlocale():
GOOGLE_MAPS_DEFAULT_LANGUAGE = locale.getdefaultlocale()[0]

else:
GOOGLE_MAPS_DEFAULT_LANGUAGE = 'en'


class GoogleMapsAddressWidget(widgets.TextInput):
"""a widget that will place a google map right after the #id_address field"""
Expand All @@ -13,7 +25,7 @@ class Media:
}
js = (
'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js',
'https://maps.google.com/maps/api/js?key={}&libraries=places'.format(
settings.GOOGLE_MAPS_API_KEY),
'https://maps.google.com/maps/api/js?key={}&libraries=places&language={}'.format(
settings.GOOGLE_MAPS_API_KEY, GOOGLE_MAPS_DEFAULT_LANGUAGE),
settings.STATIC_URL + 'django_google_maps/js/google-maps-admin.js',
)
1 change: 1 addition & 0 deletions settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,4 @@


GOOGLE_MAPS_API_KEY = 'SAMPLE_KEY'
GOOGLE_MAPS_DEFAULT_LANGUAGE = 'DEFAULT_LANGUAGE'