Ajout du système de quitance pour les éléments de Op, task, vhc

This commit is contained in:
Ambulance Clerc
2022-10-20 15:08:31 +02:00
parent 1ad64af456
commit f9c750f244
8 changed files with 86 additions and 17 deletions

View File

@@ -113,6 +113,7 @@ class cls_caldav():
print(item.dtstamp)
item.dtend = event["DTEND"].dt.strftime("%d.%m.%Y %H:%M")
item.format_str_date()
self.items.append(item)
@@ -153,9 +154,25 @@ class cls_caldav_client():
for cal in self.data.calendars():
print(f"name: {cal.name}({cal.url})")
self.a_task = self.data.calendar(name="Tâche")
self.a_team = self.data.calendar(name="Équipage hébdomadaire")
self.a_task = self.data.calendar(cal_id=caldav_id["task"])
self.a_team = self.data.calendar(cal_id=caldav_id["team"])
self.a_vhc = self.data.calendar(cal_id=caldav_id["vhc"])
self.a_op = self.data.calendar(cal_id=caldav_id["op"])
#self.get_events_by_date(self.a_team)
def get_event_by_uuid(self,calandar,uuid):
event = calandar.object_by_uid(uid=uuid)
return event
#self.get_events_by_date(calandar)
#for event in self.events:
# print(event.vobject_instance.vevent.eventId)
def mark_as_done_task(self,calandar,uuid):
event = self.get_event_by_uuid(calandar=calandar,uuid=uuid)
event.vobject_instance.vevent.description.value = event.vobject_instance.vevent.description.value + " #Fait"
event.save()
def init_task_management(self):
print("pass copy task process")
@@ -220,7 +237,6 @@ class cls_caldav_client():
return None
else:
print("Already with MC")
print(f"débug: {len(equipage)}")
if len(equipage) < 2:
print(f"Error équipage sans [&] {key[1]}")
elif "MC" not in equipage[1]: # check équipage 2

View File

@@ -1,11 +1,15 @@
caldav_cfg = {} #définition du dictionnaire de donnée avec URL des agendas
caldav_cfg["task"] = "https://sync.infomaniak.com/calendars/AA01593/a4835de4-b3cd-46ca-8f48-3dacd3a2b46e?export"
caldav_cfg["task_config"] = "https://sync.infomaniak.com/calendars/AA01593/29d5c8d0-9b86-4d45-bc2b-13585a2e78f8?export"
caldav_cfg["vhc"] = "https://sync.infomaniak.com/calendars/AA01593/4f7b4591-a4c4-4443-9f78-01df068f58b8?export"
caldav_cfg["rh"] = "https://sync.infomaniak.com/calendars/AA01593/c9916d31-c25b-4b0b-8673-81e2164b6f10?export"
caldav_cfg["road"] = "https://sync.infomaniak.com/calendars/AA01593/d608fcce-2f30-42f0-816c-b5524a0672fe?export"
caldav_cfg["op"] = "https://sync.infomaniak.com/calendars/AA01593/73f3c787-abe1-4cd0-bf2a-c44dbc7015b9?export"
caldav_cfg["team"] = "https://sync.infomaniak.com/calendars/AA01593/8062f664-b726-4972-8031-642dbb2df84e?export"
caldav_cfg["manif"] = "https://sync.infomaniak.com/calendars/AA01593/f3ab342d-921b-42ed-8fde-c8f393673819?export"
caldav_id = {} #définition du dictionnaire de donnée avec URL des agendas
caldav_id["task"] = "a4835de4-b3cd-46ca-8f48-3dacd3a2b46e"
caldav_id["task_config"] = "29d5c8d0-9b86-4d45-bc2b-13585a2e78f8"
caldav_id["vhc"] = "4f7b4591-a4c4-4443-9f78-01df068f58b8"
caldav_id["rh"] = "c9916d31-c25b-4b0b-8673-81e2164b6f10"
caldav_id["road"] = "d608fcce-2f30-42f0-816c-b5524a0672fe"
caldav_id["op"] = "73f3c787-abe1-4cd0-bf2a-c44dbc7015b9"
caldav_id["team"] = "8062f664-b726-4972-8031-642dbb2df84e"
caldav_id["manif"] = "f3ab342d-921b-42ed-8fde-c8f393673819"
caldav_cfg = {}
for key,value in caldav_id.items():
caldav_cfg[key] = f"https://sync.infomaniak.com/calendars/AA01593/{value}?export"

View File

@@ -35,7 +35,10 @@ table{
color: var(--main-text-color);
width: 100%;
}
a{
color: var(--main-text-color) !important;
text-decoration: none !important;
}
.team_svg_icon{
width: 14px;
height: 14px;

View File

@@ -8,7 +8,13 @@
<tr>
<td style="vertical-align: top;" class="td_key" >
<span style="font-weight: bold;">{{task.key}}</span><br>
<span style="font-weight: bold;">
{% if task.done %}
{{task.key}}
{% else %}
<a href="op/edit/{{task.uiid}}">{{task.key}}</a>
{% endif %}
</span><br>
{{task.str_start_date}} - {{task.str_end_date}}<br>
{{task.str_start_time}} - {{task.str_end_time}}
</td>&nbsp;&nbsp;&nbsp;&nbsp;

View File

@@ -6,14 +6,26 @@
<table>
<td style="font-weight: bold;padding-bottom: 5px; text-align: center;" colspan="2">Jour</td>
{% for task in latest_task_list %}
<tr><td style="font-weight: bold;vertical-align: top;" class="td_key" >{{task.key}}</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style="{% if task.done %}text-decoration:line-through;{% endif %}vertical-align: top;">{{ task.name }}<br>{{task.desc}}</td></tr>
<tr><td style="font-weight: bold;vertical-align: top;" class="td_key" id="{{task.uiid}}" >
{% if task.done %}
{{task.key}}
{% else %}
<a href="task/edit/{{task.uiid}}" target="">{{task.key}}</a>
{% endif %}
</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style="{% if task.done %}text-decoration:line-through;{% endif %}vertical-align: top;">{{ task.name }}<br>{{task.desc}}</td></tr>
{% endfor %}
<tr><td>&nbsp;</td></tr>
<tr>
<td style="border-top: 1px dashed white;font-weight: bold;padding: 5px; text-align: center;" colspan="2">Nuit</td>
</tr>
{% for task in night_task_list %}
<tr><td style="font-weight: bold;vertical-align: top;" class="td_key" >{{task.key}}</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style="{% if task.done %}text-decoration:line-through;{% endif %}vertical-align: top;">{{ task.name }}<br>{{task.desc}}</td></tr>
<tr><td style="font-weight: bold;vertical-align: top;" class="td_key" >
{% if task.done %}
{{task.key}}
{% else %}
<a href="task/edit/{{task.uiid}}" target="">{{task.key}}</a>
{% endif %}
</td>&nbsp;&nbsp;&nbsp;&nbsp;<td style="{% if task.done %}text-decoration:line-through;{% endif %}vertical-align: top;">{{ task.name }}<br>{{task.desc}}</td></tr>
{% endfor %}
</table>

View File

@@ -8,7 +8,13 @@
<tr>
<td style="vertical-align: top;padding-bottom: 18px" class="td_key" >
<span style="font-weight: bold;">{{task.key}}</span><br>
<span style="font-weight: bold;">
{% if task.done %}
{{task.key}}
{% else %}
<a href="vhc/edit/{{task.uiid}}">{{task.key}}</a>
{% endif %}
</span><br>
{{task.str_start_date}} - {{task.str_end_date}}<br>
{{task.str_start_time}} - {{task.str_end_time}}
</td>

View File

@@ -7,10 +7,13 @@ from . import views
app_name = "mycaldav"
urlpatterns = [
path('task', views.view_task_caldav, name='view_task_caldav'),
path('task/edit/<str:uuid>', views.view_task_edit_caldav, name='view_task_edit_caldav'),
path('vhc', views.view_vhc_caldav, name='view_vhc_caldav'),
path('vhc/edit/<str:uuid>', views.view_vhc_edit_caldav, name='view_vhc_edit_caldav'),
path('rh', views.view_rh_caldav, name='view_rh_caldav'),
path('road', views.view_road_caldav, name='view_road_caldav'),
path('op', views.view_op_caldav, name='view_op_caldav'),
path('op/edit/<str:uuid>', views.view_op_edit_caldav, name='view_op_edit_caldav'),
path('team', views.view_team_caldav, name='view_team_caldav'),
path('manif', views.view_manif_caldav, name='view_manif_caldav'),
path('team_pdf', views.view_team_pdf_caldav, name='view_team_pdf_caldav'),

View File

@@ -27,6 +27,25 @@ def view_task_caldav(request):
myClient.init_task_management()
return HttpResponse(template.render(context,request))
@xframe_options_exempt
def view_task_edit_caldav(request, uuid):
print(uuid)
myClient = cls_caldav_client()
myClient.mark_as_done_task(calandar=myClient.a_task,uuid=uuid)
return view_task_caldav(request)
def view_op_edit_caldav(request, uuid):
print(uuid)
myClient = cls_caldav_client()
myClient.mark_as_done_task(calandar=myClient.a_op,uuid=uuid)
return view_op_caldav(request)
def view_vhc_edit_caldav(request, uuid):
print(uuid)
myClient = cls_caldav_client()
myClient.mark_as_done_task(calandar=myClient.a_vhc,uuid=uuid)
return view_vhc_caldav(request)
@xframe_options_exempt
def view_vhc_caldav(request):
o_caldav = cls_caldav(url=caldav_cfg["vhc"])