76 lines
3.1 KiB
Python
76 lines
3.1 KiB
Python
from django.http import HttpResponse
|
|
from django.shortcuts import render
|
|
from django.views import generic
|
|
from django.template import loader
|
|
from django.views.decorators.clickjacking import xframe_options_exempt
|
|
|
|
import caldav as cal
|
|
|
|
# Create your views here.
|
|
|
|
from mycaldav.models import *
|
|
|
|
@xframe_options_exempt
|
|
def view_task_caldav(request):
|
|
o_caldav = cls_caldav(url="https://sync.infomaniak.com/calendars/AA01593/a4835de4-b3cd-46ca-8f48-3dacd3a2b46e?export")
|
|
o_caldav.get_caldav_data()
|
|
template = loader.get_template("task/task.html")
|
|
context = {'latest_task_list':o_caldav.day, 'night_task_list': o_caldav.night}
|
|
return HttpResponse(template.render(context,request))
|
|
|
|
@xframe_options_exempt
|
|
def view_vhc_caldav(request):
|
|
o_caldav = cls_caldav(url="https://sync.infomaniak.com/calendars/AA01593/4f7b4591-a4c4-4443-9f78-01df068f58b8?export")
|
|
o_caldav.get_caldav_data(periode=2)
|
|
template = loader.get_template("vhc/vhc_view.html")
|
|
context = {'latest_task_list': o_caldav.items}
|
|
return HttpResponse(template.render(context, request))
|
|
|
|
@xframe_options_exempt
|
|
def view_rh_caldav(request):
|
|
o_caldav = cls_caldav(url="https://sync.infomaniak.com/calendars/AA01593/c9916d31-c25b-4b0b-8673-81e2164b6f10?export")
|
|
o_caldav.get_caldav_data(periode=2)
|
|
template = loader.get_template("rh/rh_view.html")
|
|
context = {'latest_task_list': o_caldav.items}
|
|
return HttpResponse(template.render(context, request))
|
|
|
|
@xframe_options_exempt
|
|
def view_road_caldav(request):
|
|
o_caldav = cls_caldav(url="https://sync.infomaniak.com/calendars/AA01593/d608fcce-2f30-42f0-816c-b5524a0672fe?export")
|
|
o_caldav.get_caldav_data(periode=2)
|
|
template = loader.get_template("road/road_view.html")
|
|
context = {'latest_task_list': o_caldav.items}
|
|
return HttpResponse(template.render(context, request))
|
|
@xframe_options_exempt
|
|
def view_op_caldav(request):
|
|
o_caldav = cls_caldav(url="https://sync.infomaniak.com/calendars/AA01593/73f3c787-abe1-4cd0-bf2a-c44dbc7015b9?export")
|
|
o_caldav.get_caldav_data(periode=1)
|
|
template = loader.get_template("road/op_view.html")
|
|
context = {'latest_task_list': o_caldav.items}
|
|
return HttpResponse(template.render(context, request))
|
|
|
|
@xframe_options_exempt
|
|
def view_dayly_caldav(request):
|
|
ret = ""
|
|
caldav_url = "https://sync.infomaniak.com"
|
|
caldav_user = 'SC01066'
|
|
caldav_password = "mc144*1870CLERC"
|
|
|
|
client = cal.DAVClient(url=caldav_url, username=caldav_user, password=caldav_password)
|
|
|
|
my_principal = client.principal()
|
|
calendars = my_principal.calendars()
|
|
if calendars:
|
|
## Some calendar servers will include all calendars you have
|
|
## access to in this list, and not only the calendars owned by
|
|
## this principal.
|
|
print("your principal has %i calendars:" % len(calendars))
|
|
ret += "your principal has %i calendars:" % len(calendars)
|
|
for c in calendars:
|
|
print(" Name: %-20s URL: %s" % (c.name, c.url))
|
|
ret += " Name: %-20s URL: %s" % (c.name, c.url) + "<br>\n"
|
|
else:
|
|
print("your principal has no calendars")
|
|
|
|
return HttpResponse(ret)
|