ajout de system impression team_pdf
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from datetime import datetime, timedelta, time
|
||||
from django.contrib.auth.models import User
|
||||
import datetime as Datetime
|
||||
import pickle
|
||||
import os
|
||||
@@ -13,6 +14,7 @@ import ssl
|
||||
from icalendar import Calendar, Event
|
||||
import recurring_ical_events
|
||||
import caldav
|
||||
|
||||
from mycaldav.settings import *
|
||||
|
||||
# Create your models here.
|
||||
@@ -71,7 +73,6 @@ class cls_caldav():
|
||||
|
||||
self.parse_data(events)
|
||||
def parse_data(self, events):
|
||||
|
||||
for event in events:
|
||||
item = _caldav_item()
|
||||
item.name = event["SUMMARY"]
|
||||
@@ -138,6 +139,8 @@ class cls_caldav_client():
|
||||
|
||||
caldav_agenda_config_url = caldav_cfg["task_config"]
|
||||
|
||||
events = None
|
||||
|
||||
|
||||
|
||||
def __init__(self):
|
||||
@@ -149,6 +152,7 @@ class cls_caldav_client():
|
||||
|
||||
self.a_task = self.data.calendar(name="Tâche")
|
||||
self.a_team = self.data.calendar(name="Équipage_test")
|
||||
self.get_events_by_date(self.a_team)
|
||||
|
||||
def init_task_management(self):
|
||||
if datetime.today().day == 1 and datetime.today().hour == 1:
|
||||
@@ -176,6 +180,52 @@ class cls_caldav_client():
|
||||
summary="Do the needful",
|
||||
|
||||
)
|
||||
def get_events_by_date(self,calandar,date=None ):
|
||||
if date is None:
|
||||
date = datetime.now()
|
||||
|
||||
tomorow = date + timedelta(days=6)
|
||||
self.events = calandar.date_search(
|
||||
start=datetime(date.year, date.month, date.day), end=datetime(tomorow.year, tomorow.month, tomorow.day), expand=False
|
||||
)
|
||||
|
||||
for event in self.events:
|
||||
self.format_data_event(event)
|
||||
return
|
||||
|
||||
def format_data_event(self,event):
|
||||
summary = event.vobject_instance.vevent.summary.value
|
||||
key = summary.split("-")
|
||||
equipage = key[1].split("&")
|
||||
team_1 = ""
|
||||
team_2 = ""
|
||||
updated = False
|
||||
if "MC" not in equipage[0]:
|
||||
team_1 = equipage[0].strip().replace('#', '')
|
||||
try:
|
||||
user = User.objects.get(username=f"mc{team_1}@clerc.ch").last_name
|
||||
key[1] = key[1].replace(team_1, f"MC{team_1} {user}")
|
||||
updated = True
|
||||
except :
|
||||
print(f"Error: mc{team_1}@clerc.ch @{summary}")
|
||||
return None
|
||||
if "MC" not in equipage[1]:
|
||||
team_2 = equipage[1].strip().replace('#','')
|
||||
try:
|
||||
user = User.objects.get(username=f"mc{team_2}@clerc.ch").last_name
|
||||
key[1] = key[1].replace(team_2, f"MC{team_2} {user}")
|
||||
updated = True
|
||||
except :
|
||||
print(f"Error: mc{team_2}@clerc.ch @{summary}")
|
||||
return None
|
||||
if updated:
|
||||
event.vobject_instance.vevent.summary.value = f"{key[0]} - {key[1]}"
|
||||
event.save()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def copy_caldav_data(self, calandar=None):
|
||||
ctx = ssl.create_default_context()
|
||||
|
Reference in New Issue
Block a user