Skip to content
This repository was archived by the owner on Sep 19, 2018. It is now read-only.

Commit abc56ca

Browse files
committed
Merge pull request #352 from gandalfar/patch-291
Adds Kosovo support
2 parents bfda002 + 598b997 commit abc56ca

File tree

5 files changed

+55
-33
lines changed

5 files changed

+55
-33
lines changed

codeweekeu/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,7 @@
491491
u'ZA': None,
492492
u'ZM': None,
493493
u'ZW': None,
494+
u'XK': 'Kosovo',
494495
}
495496
########## END ATHENTICATION CONFIGURATION
496497

static/js/events.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,12 @@ var Codeweek = window.Codeweek || {};
7575
function updateAddress(new_latLng) {
7676
geocoder = new google.maps.Geocoder();
7777
geocoder.geocode({'latLng': new_latLng}, function (results, status) {
78-
if (status === google.maps.GeocoderStatus.OK) {
78+
if ( status === google.maps.GeocoderStatus.OK ||
79+
( status === google.maps.GeocoderStatus.ZERO_RESULTS && results.length > 0 ) ) {
7980
document.getElementById("autocomplete").value = results[0].formatted_address;
8081
// the last item in the geocoder for latLng results array is the country
81-
var country = results[results.length - 1].address_components[0].short_name
82+
var country = results.slice(-1)[0].address_components.slice(-1)[0].short_name;
83+
8284
updateCountrySelection(country);
8385
}
8486
});

web/forms/event_form.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ class SearchEventForm(forms.Form):
161161

162162
# XK is temp code for Kosovo; remove from COUNTRIES_OVERRIDE when
163163
# Kosovo gets its own ISO code and is added to django-countries
164-
#if not 'Kosovo' in list(dict(countries._countries).values()):
165-
# countries._countries.append((u'XK', u'Kosovo'))
164+
if not 'Kosovo' in list(dict(countries._countries).values()):
165+
countries._countries.append((u'XK', u'Kosovo'))
166166

167167
search = forms.CharField(
168168
required=False,

web/tests/test_events_processors.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,28 @@ def test_create_event_in_moldova(admin_user, db):
345345

346346
assert "MD" == test_event.country.code
347347

348+
@pytest.mark.django_db
349+
def test_create_event_in_kosovo(admin_user, db):
350+
event_data = {
351+
'audience': [3],
352+
'theme': [1,2],
353+
'contact_person': u'[email protected]',
354+
'country': u'XK',
355+
'description': u'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\r\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\r\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\r\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\r\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\r\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
356+
'event_url': u'',
357+
'location': u'Shaban Polluzha, Prishtina, Kosova (Kosovo)',
358+
'organizer': u'RailsGirls Kosovo',
359+
"creator": admin_user,
360+
'start_date': datetime.datetime.now(),
361+
'end_date': datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
362+
'tags': [u'css', u'html', u'web'],
363+
'title': u'RailsGirls Kosovo',
364+
}
365+
366+
test_event = create_or_update_event(event_id=None, **event_data)
367+
368+
assert "XK" == test_event.country.code
369+
348370
@pytest.mark.django_db
349371
def test_scoreboard_counter(admin_user, db):
350372

@@ -406,5 +428,3 @@ def test_scoreboard_counter(admin_user, db):
406428

407429
test_approved_event.delete()
408430
test_pending_event.delete()
409-
410-

web/views/events.py

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -77,43 +77,42 @@ def index(request):
7777

7878
@login_required
7979
def add_event(request):
80-
event_form = AddEventForm(initial={'user_email': request.user.email})
81-
user = request.user
82-
8380
if request.method == 'POST':
8481
event_form = AddEventForm(data=request.POST, files=request.FILES)
8582

86-
if event_form.is_valid():
87-
picture = request.FILES.get('picture', None)
88-
event_data = {}
89-
try:
90-
if picture:
91-
if picture.size > (256 * 1024):
92-
raise ImageSizeTooLargeException('Image size too large.')
83+
if event_form.is_valid():
84+
picture = request.FILES.get('picture', None)
85+
event_data = {}
86+
try:
87+
if picture:
88+
if picture.size > (256 * 1024):
89+
raise ImageSizeTooLargeException('Image size too large.')
9390

94-
event_data['picture'] = process_image(picture)
91+
event_data['picture'] = process_image(picture)
9592

96-
event_data.update(event_form.cleaned_data)
97-
event_data['creator'] = user
93+
event_data.update(event_form.cleaned_data)
94+
event_data['creator'] = request.user
9895

99-
# checking if user entered a different email than in her profile
100-
if user.email != event_data['user_email']:
101-
update_user_email(user.id, event_data['user_email'])
102-
event_data.pop('user_email')
96+
# checking if user entered a different email than in her profile
97+
if request.user.email != event_data['user_email']:
98+
update_user_email(request.user.id, event_data['user_email'])
99+
event_data.pop('user_email')
103100

104-
event = create_or_update_event(**event_data)
101+
event = create_or_update_event(**event_data)
105102

106-
t = loader.get_template('alerts/thank_you.html')
107-
c = Context({'event': event, })
108-
messages.info(request, t.render(c))
103+
t = loader.get_template('alerts/thank_you.html')
104+
c = Context({'event': event, })
105+
messages.info(request, t.render(c))
109106

110-
return HttpResponseRedirect(reverse('web.view_event', args=[event.pk, event.slug]))
107+
return HttpResponseRedirect(reverse('web.view_event', args=[event.pk, event.slug]))
111108

112-
except ImageSizeTooLargeException:
113-
messages.error(request, 'The image is just a bit too big for us. '
114-
'Please reduce your image size and try agin.')
115-
except UploadImageError as e:
116-
messages.error(request, e.message)
109+
except ImageSizeTooLargeException:
110+
messages.error(request, 'The image is just a bit too big for us. '
111+
'Please reduce your image size and try agin.')
112+
except UploadImageError as e:
113+
messages.error(request, e.message)
114+
else:
115+
event_form = AddEventForm(initial={'user_email': request.user.email})
117116

118117
return render_to_response("pages/add_event.html", {
119118
'form': event_form,

0 commit comments

Comments
 (0)