summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@gmail.com>2023-01-29 20:59:56 +0000
committerPhilip Sargent <philip.sargent@gmail.com>2023-01-29 20:59:56 +0000
commit226cbb6b5cb9d38b2856a3007745c8045ed9efae (patch)
tree17a5c3d522a5598815f570abb4ce19aef1f88f67 /core
parenta1c34f488daac73ad027f03f74a6c725a5ff53d9 (diff)
downloadtroggle-226cbb6b5cb9d38b2856a3007745c8045ed9efae.tar.gz
troggle-226cbb6b5cb9d38b2856a3007745c8045ed9efae.tar.bz2
troggle-226cbb6b5cb9d38b2856a3007745c8045ed9efae.zip
Fixed coloured T and S on expo calendar
Diffstat (limited to 'core')
-rw-r--r--core/fixtures/expo_exped.json3
-rw-r--r--core/models/logbooks.py12
-rw-r--r--core/models/survex.py14
-rw-r--r--core/models/troggle.py6
-rw-r--r--core/models/wallets.py4
-rw-r--r--core/utils.py4
-rw-r--r--core/views/logbooks.py2
7 files changed, 30 insertions, 15 deletions
diff --git a/core/fixtures/expo_exped.json b/core/fixtures/expo_exped.json
index ebb5053..ac26c05 100644
--- a/core/fixtures/expo_exped.json
+++ b/core/fixtures/expo_exped.json
@@ -13,6 +13,5 @@
"first_name": "Michael",
"last_name": "Sargent",
"fullname": "Michael Sargent", "is_vfho": false, "mug_shot": null,
- "blurb": "\n\n\n\n\n\n<p><img class=\"onleft\" src=\"/folk/i/mikey0.jpg\">\n<img class=\"onright\" src=\"/folk/i/mikey1.jpg\" height=\"400\"\nalt=\"\" />\n<b>Michael Sargent</b> CUCC<br />\nExpeditions 2014, 15, 16, 17, 18, 19.\n<p>The first second-generation expo caver in 2014, later members of this exclusive group were Dan Lenartowicz and Sarah Connolly.\n\n\n<img class=\"onleft\" src=\"/folk/i/michaelsargent.jpg\">\n<im\n\n<hr style=\"clear: both\" /><p class=\"caption\">Pre-expo (pre-student) photos from President's Invite (OUCC) \nand first abseiling instruction (Cambridge).</p>\n", "orderref": "",
- "user": null}}
+ "blurb": "\n\n\n\n\n\n<p><img class=\"onleft\" src=\"/folk/i/mikey0.jpg\">\n<img class=\"onright\" src=\"/folk/i/mikey1.jpg\" height=\"400\"\nalt=\"\" />\n<b>Michael Sargent</b> CUCC<br />\nExpeditions 2014, 15, 16, 17, 18, 19.\n<p>The first second-generation expo caver in 2014, later members of this exclusive group were Dan Lenartowicz and Sarah Connolly.\n\n\n<img class=\"onleft\" src=\"/folk/i/michaelsargent.jpg\">\n<im\n\n<hr style=\"clear: both\" /><p class=\"caption\">Pre-expo (pre-student) photos from President's Invite (OUCC) \nand first abseiling instruction (Cambridge).</p>\n", "orderref": ""}}
] \ No newline at end of file
diff --git a/core/models/logbooks.py b/core/models/logbooks.py
index 468b100..b7aa5e3 100644
--- a/core/models/logbooks.py
+++ b/core/models/logbooks.py
@@ -21,6 +21,7 @@ from django.template import Context, loader
from django.urls import reverse
import settings
+#from troggle.core.models.caves import CaveSlug
from troggle.core.models.survex import SurvexStation
from troggle.core.models.troggle import (DataIssue, Expedition, Person,
PersonExpedition, TroggleModel)
@@ -36,7 +37,7 @@ class LogbookEntry(TroggleModel):
"""Single parsed entry from Logbook
"""
date = models.DateField()#MJG wants to turn this into a datetime such that multiple Logbook entries on the same day can be ordered.ld()
- expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)#MJG wants to KILL THIS (redundant information)
+ # expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)#MJG wants to KILL THIS (redundant information)
expedition = models.ForeignKey(Expedition,blank=True, null=True,on_delete=models.SET_NULL) # yes this is double-
title = models.CharField(max_length=200)
cave_slug = models.SlugField(max_length=50, blank=True, null=True)
@@ -70,7 +71,14 @@ class LogbookEntry(TroggleModel):
LogbookEntry.objects.get(id=self.id-1)
def DayIndex(self):
- return list(self.expeditionday.logbookentry_set.all()).index(self)
+ """This is used to set different colours for the different trips on
+ the calendar view of the expedition"""
+ index = list(LogbookEntry.objects.filter(date=self.date)).index(self)
+ if index not in range(0,10):
+ print(f"Unexpected LogbookEntry DayIndex '{index}' {self}")
+ index = 0
+ return index
+
class PersonTrip(TroggleModel):
"""Single Person going on a trip, which may or may not be written up.
diff --git a/core/models/survex.py b/core/models/survex.py
index e8538f1..4e852f5 100644
--- a/core/models/survex.py
+++ b/core/models/survex.py
@@ -73,7 +73,6 @@ class SurvexStationLookUpManager(models.Manager):
class SurvexStation(models.Model):
name = models.CharField(max_length=100)
block = models.ForeignKey('SurvexBlock', null=True,on_delete=models.SET_NULL)
-# equate = models.ForeignKey('SurvexEquate', blank=True, null=True,on_delete=models.SET_NULL)
objects = SurvexStationLookUpManager()
x = models.FloatField(blank=True, null=True)
y = models.FloatField(blank=True, null=True)
@@ -112,7 +111,7 @@ class SurvexBlockLookUpManager(models.Manager):
return block
class SurvexBlock(models.Model):
- """One begin..end block within a survex file. The basic elemt of a survey trip.
+ """One begin..end block within a survex file. The basic element of a survey trip.
"""
objects = SurvexBlockLookUpManager()
name = models.CharField(max_length=100)
@@ -121,7 +120,7 @@ class SurvexBlock(models.Model):
cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
date = models.DateField(blank=True, null=True)
- expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)
+ #expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)
expedition = models.ForeignKey('Expedition', blank=True, null=True,on_delete=models.SET_NULL)
survexfile = models.ForeignKey("SurvexFile", blank=True, null=True,on_delete=models.SET_NULL)
@@ -147,7 +146,14 @@ class SurvexBlock(models.Model):
return True
def DayIndex(self):
- return list(self.expeditionday.survexblock_set.all()).index(self)
+ """This is used to set different colours for the different trips on
+ the calendar view of the expedition"""
+ index = list(SurvexBlock.objects.filter(date=self.date)).index(self)
+ if index not in range(0,10):
+ print(f"Unexpected SurvexBlock DayIndex '{index}' {self}")
+ index = 10
+ #return list(self.survexblock_set.all()).index(self)
+ return index
class SurvexPersonRole(models.Model):
survexblock = models.ForeignKey('SurvexBlock',on_delete=models.CASCADE)
diff --git a/core/models/troggle.py b/core/models/troggle.py
index 999e826..5ef95c8 100644
--- a/core/models/troggle.py
+++ b/core/models/troggle.py
@@ -117,7 +117,7 @@ class ExpeditionDay(TroggleModel):
ordering = ('date',)
def GetPersonTrip(self, personexpedition):
- """returns all logbook trips for this expediton
+ """returns all logbook trips for this expeditonday
"""
personexpeditions = self.persontrip_set.filter(expeditionday=self)
return personexpeditions and personexpeditions[0] or None
@@ -132,10 +132,8 @@ class Person(TroggleModel):
is_vfho = models.BooleanField(help_text="VFHO is the Vereines f&uuml;r H&ouml;hlenkunde in Obersteier, a nearby Austrian caving club.", default=False)
mug_shot = models.CharField(max_length=100, blank=True,null=True)
blurb = models.TextField(blank=True,null=True)
-
- #href = models.CharField(max_length=200)
orderref = models.CharField(max_length=200) # for alphabetic
- user = models.OneToOneField(User, null=True, blank=True,on_delete=models.CASCADE) # not used now
+
def get_absolute_url(self):
return urljoin(settings.URL_ROOT,reverse('person',kwargs={'first_name':self.first_name,'last_name':self.last_name}))
diff --git a/core/models/wallets.py b/core/models/wallets.py
index e2d3b7a..0600572 100644
--- a/core/models/wallets.py
+++ b/core/models/wallets.py
@@ -11,6 +11,7 @@ from django.conf import settings
from django.db import models
from django.urls import reverse
+#from troggle.core.models.survex import SurvexBlock
# from troggle.core.models.troggle import DataIssue # circular import. Hmm
class Wallet(models.Model):
@@ -164,7 +165,8 @@ class Wallet(models.Model):
return files
def fixsurvextick(self, tick):
- blocks = SurvexBlock.objects.filter(scanswallet = self)
+ blocks = self.survexblock_set.all()
+ #blocks = SurvexBlock.objects.filter(scanswallet = self)
result = tick
for b in blocks:
if b.survexfile: # if any exist in db, no check for validity or a real file. Refactor.
diff --git a/core/utils.py b/core/utils.py
index 29c2643..5632440 100644
--- a/core/utils.py
+++ b/core/utils.py
@@ -34,7 +34,9 @@ save_carefully() - core function that saves troggle objects in the database
various git add/commit functions that need refactoring together
NOTE that TROG is not serialized! Two users can update it and conflict !!
-This needs to be in a multi-user database with transactions.
+This needs to be in a multi-user database with transactions. However it is
+useful when doing a data import with databaseReset.py as that has a single
+thread.
'''
diff --git a/core/views/logbooks.py b/core/views/logbooks.py
index 6450753..c1ba965 100644
--- a/core/views/logbooks.py
+++ b/core/views/logbooks.py
@@ -15,7 +15,7 @@ from django.views.generic.list import ListView
import troggle.settings as settings
from troggle.core.models.logbooks import LogbookEntry, PersonTrip
-from troggle.core.models.survex import SurvexBlock, Wallet
+from troggle.core.models.survex import SurvexBlock
from troggle.core.models.troggle import Expedition, Person, PersonExpedition
from troggle.core.utils import TROG
from troggle.parsers.imports import import_logbook