gremmie@1: """ gremmie@1: Admin views for the gcalendar application. gremmie@1: """ gremmie@1: from django.shortcuts import render_to_response gremmie@1: from django.template import RequestContext gremmie@1: gremmie@1: from gcalendar.models import Event gremmie@1: from gcalendar.forms import PasswordForm gremmie@1: from gcalendar.calendar import Calendar gremmie@1: from gcalendar.calendar import CalendarError gremmie@1: import gcalendar.settings gremmie@1: gremmie@1: gremmie@1: def google_sync(request): gremmie@1: """View to synchronize approved event changes with Google calendar.""" gremmie@1: events = Event.pending_events.all() gremmie@1: messages = [] bgneal@69: err_msg = '' gremmie@1: if request.method == 'POST': gremmie@1: form = PasswordForm(request.POST) gremmie@1: if form.is_valid(): gremmie@1: try: gremmie@1: cal = Calendar(gcalendar.settings.EMAIL, gremmie@1: form.cleaned_data['password'], gremmie@1: gcalendar.settings.CALENDAR_ID) gremmie@1: cal.sync_events(events) gremmie@1: except CalendarError, e: bgneal@69: err_msg = e.msg gremmie@1: events = Event.pending_events.all() gremmie@1: form = PasswordForm() gremmie@1: else: gremmie@1: messages.append('All events processed successfully.') gremmie@1: events = Event.objects.none() gremmie@1: form = PasswordForm() gremmie@1: gremmie@1: else: gremmie@1: form = PasswordForm() gremmie@1: gremmie@1: return render_to_response('gcalendar/google_sync.html', { gremmie@1: 'messages': messages, bgneal@69: 'err_msg': err_msg, gremmie@1: 'events': events, gremmie@1: 'form': form, gremmie@1: }, gremmie@1: context_instance=RequestContext(request)) gremmie@1: