Merge lp:~daker/loco-team-portal/fix.1164296 into lp:loco-team-portal

Proposed by Adnane Belmadiaf
Status: Merged
Approved by: Adnane Belmadiaf
Approved revision: 634
Merged at revision: 634
Proposed branch: lp:~daker/loco-team-portal/fix.1164296
Merge into: lp:loco-team-portal
Diff against target: 179 lines (+39/-32)
3 files modified
loco_directory/events/forms.py (+8/-10)
loco_directory/events/views.py (+14/-12)
loco_directory/events/widgets.py (+17/-10)
To merge this branch: bzr merge lp:~daker/loco-team-portal/fix.1164296
Reviewer Review Type Date Requested Status
LoCo Team Portal Developers Pending
Review via email: mp+157739@code.launchpad.net

Commit message

Fix the time widget to select the correct time

To post a comment you must log in.
633. By Adnane Belmadiaf

More fixes

634. By Adnane Belmadiaf

removed comma

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'loco_directory/events/forms.py'
2--- loco_directory/events/forms.py 2013-02-17 01:44:52 +0000
3+++ loco_directory/events/forms.py 2013-04-08 20:27:19 +0000
4@@ -44,12 +44,12 @@
5
6 class Media:
7 css = {'all': (
8- settings.MEDIA_URL + 'jquery-ui/css/smoothness/jquery-ui.css',
9- )}
10+ settings.MEDIA_URL + 'jquery-ui/css/smoothness/jquery-ui.css',
11+ )}
12 js = (
13- settings.MEDIA_URL + 'jquery-ui/jquery-ui.js',
14- settings.MEDIA_URL + 'js/events-ui.js',
15- )
16+ settings.MEDIA_URL + 'jquery-ui/jquery-ui.js',
17+ settings.MEDIA_URL + 'js/events-ui.js',
18+ )
19
20 def __init__(self, *args, **kargs):
21 super(BaseEventForm, self).__init__(*args, **kargs)
22@@ -60,7 +60,7 @@
23 begin = self.cleaned_data.get('date_begin')
24 end = self.cleaned_data.get('date_end')
25 if begin and end and begin > end:
26- raise forms.ValidationError("Events can not end before they start.")
27+ raise forms.ValidationError(_("Events can not end before they start."))
28 return self.cleaned_data
29
30
31@@ -86,15 +86,13 @@
32
33 def clean(self):
34 venue = self.cleaned_data.get('venue')
35+ begin = self.cleaned_data.get('date_begin', None)
36+ end = self.cleaned_data.get('date_end', None)
37 if venue is not None:
38- begin = self.cleaned_data.get('date_begin', None)
39- end = self.cleaned_data.get('date_end', None)
40 if begin is not None and end is not None:
41 self.cleaned_data['date_begin'] = venue.fromlocaltime(begin)
42 self.cleaned_data['date_end'] = venue.fromlocaltime(end)
43 elif self.teams:
44- begin = self.cleaned_data.get('date_begin', None)
45- end = self.cleaned_data.get('date_end', None)
46 if begin is not None and end is not None:
47 self.cleaned_data['date_begin'] = self.teams[0].fromlocaltime(begin)
48 self.cleaned_data['date_end'] = self.teams[0].fromlocaltime(end)
49
50=== modified file 'loco_directory/events/views.py'
51--- loco_directory/events/views.py 2013-02-18 22:16:11 +0000
52+++ loco_directory/events/views.py 2013-04-08 20:27:19 +0000
53@@ -8,12 +8,11 @@
54 from django.db.models import Count
55
56 from .models import (TeamEvent, GlobalEvent, Attendee, TeamEventComment)
57-from teams.models import Team, Country, Continent
58+from teams.models import Team
59
60 from .forms import (TeamEventForm, TeamEventCommentForm,
61 GlobalEventForm, AttendeeRegistrationForm)
62
63-from common.utils import simple_iterator
64 from common.forms import FilterHistoryList
65 from common import launchpad
66
67@@ -294,10 +293,11 @@
68 """
69 update team event
70 """
71- team_event_object = get_object_or_404(TeamEvent, pk=team_event_id)
72+ team_event = get_object_or_404(TeamEvent, pk=team_event_id)
73+ teams = team_event.teams.all()
74 #check if user is admin or owner of a team
75 is_member = False
76- for team in team_event_object.teams.all():
77+ for team in teams:
78 if launchpad.is_team_member(request.user, team):
79 is_member = True
80 break
81@@ -306,22 +306,24 @@
82
83 if is_on_lc or is_member:
84 if request.method == 'POST':
85- form = TeamEventForm(data=request.POST, instance=team_event_object, teams=team_event_object.teams.all())
86+ form = TeamEventForm(data=request.POST, instance=team_event, teams=teams)
87 if form.is_valid():
88 form.save()
89 request.user.message_set.create(message=_('Team Event updated.'))
90- return redirect(team_event_object)
91+ return redirect(team_event)
92 else:
93- form = TeamEventForm(instance=team_event_object, teams=team_event_object.teams.all())
94+ form = TeamEventForm(instance=team_event, teams=teams)
95
96 context = {
97 'form': form,
98 }
99- return render_to_response('events/team_event_update.html',
100- context, RequestContext(request))
101+ return render_to_response(
102+ 'events/team_event_update.html',
103+ context, RequestContext(request)
104+ )
105 else:
106 request.user.message_set.create(message='%s %s' % (_('You can not update this team event.'), _('You are not a member of the team or on the LoCo Council.')))
107- return redirect(team_event_object)
108+ return redirect(team_event)
109
110
111 @login_required
112@@ -349,8 +351,8 @@
113 is_past_event = True
114
115 context = {
116- 'form': form,
117- 'is_past_event': is_past_event,
118+ 'form': form,
119+ 'is_past_event': is_past_event,
120 }
121
122 return render_to_response('events/team_event_register.html',
123
124=== modified file 'loco_directory/events/widgets.py'
125--- loco_directory/events/widgets.py 2013-02-17 01:44:52 +0000
126+++ loco_directory/events/widgets.py 2013-04-08 20:27:19 +0000
127@@ -1,10 +1,10 @@
128 # -*- coding: utf-8 -*-
129+from django import forms
130+from django.utils.translation import ugettext as _
131+
132 from datetime import time
133 from time import strptime, strftime
134
135-from django import forms
136-from django.utils.translation import ugettext as _
137-
138
139 class DateWidget(forms.DateInput):
140 """A more-friendly date widget with a pop-up calendar.
141@@ -45,7 +45,17 @@
142 super(TimeWidget, self).__init__(widgets, attrs)
143
144 def decompress(self, value):
145- if isinstance(value, time):
146+ if isinstance(value, str):
147+ value = strptime(value, '%I:%M %p')
148+ hour = int(value.tm_hour)
149+ minute = int(value.tm_min)
150+ if hour < 12:
151+ meridian = 'AM'
152+ else:
153+ meridian = 'PM'
154+ hour -= 12
155+ return (hour, minute, meridian)
156+ elif isinstance(value, time):
157 hour = int(value.strftime("%I"))
158 minute = int(value.strftime("%M"))
159 meridian = value.strftime("%p")
160@@ -65,11 +75,8 @@
161
162
163 class DateTimeWidget(forms.SplitDateTimeWidget):
164- """A more-friendly date/time widget.
165-
166- Inspired by:
167-
168- http://copiesofcopies.org/webl/2010/04/26/a-better-datetime-widget-for-django/
169+ """
170+ A more-friendly date/time widget.
171 """
172 def __init__(self, attrs=None, date_format=None, time_format=None):
173 super(DateTimeWidget, self).__init__(attrs, date_format, time_format)
174@@ -87,4 +94,4 @@
175 return (None, None)
176
177 def format_output(self, rendered_widgets):
178- return '%s%s' % (rendered_widgets[0], rendered_widgets[1])
179+ return '%s %s' % (rendered_widgets[0], rendered_widgets[1])

Subscribers

People subscribed via source and target branches