Mercurial > public > sg101
annotate gpp/gcalendar/admin_views.py @ 151:e1d1a70d312d
Implement #43, various shoutbox improvements.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 18 Dec 2009 04:30:49 +0000 |
parents | 9fb8e804652b |
children |
rev | line source |
---|---|
gremmie@1 | 1 """ |
gremmie@1 | 2 Admin views for the gcalendar application. |
gremmie@1 | 3 """ |
gremmie@1 | 4 from django.shortcuts import render_to_response |
gremmie@1 | 5 from django.template import RequestContext |
gremmie@1 | 6 |
gremmie@1 | 7 from gcalendar.models import Event |
gremmie@1 | 8 from gcalendar.forms import PasswordForm |
gremmie@1 | 9 from gcalendar.calendar import Calendar |
gremmie@1 | 10 from gcalendar.calendar import CalendarError |
gremmie@1 | 11 import gcalendar.settings |
gremmie@1 | 12 |
gremmie@1 | 13 |
gremmie@1 | 14 def google_sync(request): |
gremmie@1 | 15 """View to synchronize approved event changes with Google calendar.""" |
gremmie@1 | 16 events = Event.pending_events.all() |
gremmie@1 | 17 messages = [] |
bgneal@69 | 18 err_msg = '' |
gremmie@1 | 19 if request.method == 'POST': |
gremmie@1 | 20 form = PasswordForm(request.POST) |
gremmie@1 | 21 if form.is_valid(): |
gremmie@1 | 22 try: |
gremmie@1 | 23 cal = Calendar(gcalendar.settings.EMAIL, |
gremmie@1 | 24 form.cleaned_data['password'], |
gremmie@1 | 25 gcalendar.settings.CALENDAR_ID) |
gremmie@1 | 26 cal.sync_events(events) |
gremmie@1 | 27 except CalendarError, e: |
bgneal@69 | 28 err_msg = e.msg |
gremmie@1 | 29 events = Event.pending_events.all() |
gremmie@1 | 30 form = PasswordForm() |
gremmie@1 | 31 else: |
gremmie@1 | 32 messages.append('All events processed successfully.') |
gremmie@1 | 33 events = Event.objects.none() |
gremmie@1 | 34 form = PasswordForm() |
gremmie@1 | 35 |
gremmie@1 | 36 else: |
gremmie@1 | 37 form = PasswordForm() |
gremmie@1 | 38 |
gremmie@1 | 39 return render_to_response('gcalendar/google_sync.html', { |
gremmie@1 | 40 'messages': messages, |
bgneal@69 | 41 'err_msg': err_msg, |
gremmie@1 | 42 'events': events, |
gremmie@1 | 43 'form': form, |
gremmie@1 | 44 }, |
gremmie@1 | 45 context_instance=RequestContext(request)) |
gremmie@1 | 46 |