from django.shortcuts import redirect from eventplanner_gcal.google_sync import sync_from_google_to_local, sync_from_local_to_google from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from eventplanner_gcal.google_sync import check_if_google_callback_is_valid from eventplanner_gcal.models import UserGCalCoupling from django.shortcuts import render import logging logger = logging.getLogger(__name__) def run_sync(request): sync_from_local_to_google() return redirect("/") def manage(request): if request.method == 'POST': if request.POST['activate'] == "1": UserGCalCoupling.objects.filter(user=request.user).delete() c = UserGCalCoupling(user=request.user, email=request.POST['email']) c.save() sync_from_local_to_google() else: UserGCalCoupling.objects.filter(user=request.user).delete() sync_from_local_to_google() context = {} user_coupling = UserGCalCoupling.objects.filter(user=request.user) context['enabled'] = len(user_coupling) assert (len(user_coupling) < 2) if len(user_coupling) == 1: context['mail'] = user_coupling[0].email return render(request, 'eventplanner_gcal/management.html', context) @csrf_exempt def gcal_api_callback(request): token = "" if 'HTTP_X_GOOG_CHANNEL_TOKEN' in request.META: token = request.META['HTTP_X_GOOG_CHANNEL_TOKEN'] channel_id = "" if 'HTTP_X_GOOG_CHANNEL_ID' in request.META: channel_id = request.META['HTTP_X_GOOG_CHANNEL_ID'] resource_id = "" if 'HTTP_X_GOOG_RESOURCE_ID' in request.META: resource_id = request.META['HTTP_X_GOOG_RESOURCE_ID'] valid = check_if_google_callback_is_valid(token, channel_id, resource_id) if not valid: return HttpResponse('