mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-16 06:57:12 +00:00
get events on same date.progress.
This commit is contained in:
@@ -4,6 +4,7 @@ import os
|
||||
import re
|
||||
import socket
|
||||
from pathlib import Path
|
||||
from collections import namedtuple
|
||||
|
||||
from django import forms
|
||||
from django.db import models
|
||||
@@ -14,8 +15,10 @@ from django.shortcuts import render
|
||||
from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
|
||||
import troggle.settings as settings
|
||||
from troggle.core.models.logbooks import LogbookEntry
|
||||
from troggle.core.models.caves import Cave
|
||||
from troggle.core.models.survex import SurvexFile, SurvexBlock
|
||||
from troggle.core.models.wallets import Wallet
|
||||
from troggle.core.utils import only_commit
|
||||
|
||||
"""Everything that views survexfiles
|
||||
@@ -303,6 +306,12 @@ def svx(request, survex_file):
|
||||
svxblocks.append(b)
|
||||
print(f"{svxfile=} {svxblocks}")
|
||||
|
||||
# collect all the stuff that happens on the same dates as the survex blocks
|
||||
|
||||
dates = set()
|
||||
for b in svxblocks:
|
||||
dates.add(b.date)
|
||||
events = events_on_dates(dates)
|
||||
|
||||
vmap = {
|
||||
"settings": settings,
|
||||
@@ -322,6 +331,26 @@ def svx(request, survex_file):
|
||||
|
||||
return render(request, "svxfile.html", vmap)
|
||||
|
||||
SameDateEvents = namedtuple('SameDateEvents', ['trips', 'svxfiles', 'wallets'])
|
||||
|
||||
def events_on_dates(dates):
|
||||
"""Returns a dictionary of indexed by date. For each date there is a named tuple of 3 lists:
|
||||
logbookentries, survexfiles (NB files, not blocks), and wallets.
|
||||
"""
|
||||
print(dates)
|
||||
events = {}
|
||||
for d in dates:
|
||||
trips = LogbookEntry.objects.filter(date=d)
|
||||
|
||||
svxfiles = False
|
||||
|
||||
# Wallets needs to get those identified only from JSON too,
|
||||
# see logbookeentry() in views/logbooks.py
|
||||
allwallets = Wallet.objects.all()
|
||||
refwallets = allwallets.filter(survexblock__date=d)
|
||||
|
||||
events[d] = SameDateEvents(trips=trips, svxfiles=svxfiles, wallets=refwallets)
|
||||
return events
|
||||
|
||||
# The cavern running function. This is NOT where it is run inside the form! see SvxForm.Process() for that
|
||||
def process(survex_file):
|
||||
|
||||
Reference in New Issue
Block a user