diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/migrations/0001_initial.py | 55 | ||||
-rw-r--r-- | core/models.py | 2 | ||||
-rw-r--r-- | core/models_survex.py | 4 | ||||
-rw-r--r-- | core/views_logbooks.py | 32 | ||||
-rw-r--r-- | core/views_statistics.py | 22 |
5 files changed, 31 insertions, 84 deletions
diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py index 080ef64..4f91b89 100644 --- a/core/migrations/0001_initial.py +++ b/core/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2020-06-26 23:53 +# Generated by Django 1.11.29 on 2020-07-04 12:11 from __future__ import unicode_literals from django.conf import settings @@ -25,7 +25,7 @@ class Migration(migrations.Migration): ('short_name', models.CharField(max_length=100)), ('name', models.CharField(blank=True, max_length=200, null=True)), ('description', models.TextField(blank=True, null=True)), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Area')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Area')), ], options={ 'abstract': False, @@ -191,8 +191,8 @@ class Migration(migrations.Migration): ('slug', models.SlugField()), ('filename', models.CharField(max_length=200, null=True)), ('entry_type', models.CharField(choices=[('wiki', 'Wiki style logbook'), ('html', 'Html style logbook')], default='wiki', max_length=50, null=True)), - ('expedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Expedition')), - ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ExpeditionDay')), + ('expedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Expedition')), + ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.ExpeditionDay')), ], options={ 'verbose_name_plural': 'Logbook Entries', @@ -290,7 +290,7 @@ class Migration(migrations.Migration): ('area', models.CharField(blank=True, max_length=100, null=True)), ('completion_description', models.TextField(blank=True, null=True)), ('comment', models.TextField(blank=True, null=True)), - ('found_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='QMs_found', to='core.LogbookEntry')), + ('found_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='QMs_found', to='core.LogbookEntry')), ], options={ 'abstract': False, @@ -313,7 +313,7 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('ffile', models.CharField(max_length=200)), ('name', models.CharField(max_length=200)), - ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder')), + ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.ScansFolder')), ], options={ 'ordering': ('name',), @@ -324,17 +324,16 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), + ('title', models.CharField(max_length=100)), ('date', models.DateField(blank=True, null=True)), ('survexpath', models.CharField(max_length=200)), ('legsall', models.IntegerField(null=True)), - ('legssplay', models.IntegerField(null=True)), - ('legssurfc', models.IntegerField(null=True)), - ('totalleglength', models.FloatField(null=True)), - ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Cave')), - ('expedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Expedition')), - ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ExpeditionDay')), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), - ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder')), + ('legslength', models.FloatField(null=True)), + ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Cave')), + ('expedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Expedition')), + ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.ExpeditionDay')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexBlock')), + ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.ScansFolder')), ], options={ 'ordering': ('id',), @@ -345,7 +344,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('path', models.CharField(max_length=200)), - ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Cave')), + ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Cave')), ], options={ 'ordering': ('id',), @@ -356,8 +355,8 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('path', models.CharField(max_length=200)), - ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Cave')), - ('survexdirectory', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexDirectory')), + ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Cave')), + ('survexdirectory', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexDirectory')), ], options={ 'ordering': ('id',), @@ -369,10 +368,10 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('nrole', models.CharField(blank=True, choices=[('insts', 'Instruments'), ('dog', 'Other'), ('notes', 'Notes'), ('pics', 'Pictures'), ('tape', 'Tape measure'), ('useless', 'Useless'), ('helper', 'Helper'), ('disto', 'Disto'), ('consultant', 'Consultant')], max_length=200, null=True)), ('personname', models.CharField(max_length=100)), - ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ExpeditionDay')), - ('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Person')), - ('personexpedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.PersonExpedition')), - ('persontrip', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.PersonTrip')), + ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.ExpeditionDay')), + ('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Person')), + ('personexpedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.PersonExpedition')), + ('persontrip', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.PersonTrip')), ('survexblock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), ], ), @@ -384,7 +383,7 @@ class Migration(migrations.Migration): ('x', models.FloatField(blank=True, null=True)), ('y', models.FloatField(blank=True, null=True)), ('z', models.FloatField(blank=True, null=True)), - ('block', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), + ('block', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexBlock')), ], ), migrations.CreateModel( @@ -392,8 +391,8 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), - ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Cave')), - ('survexblock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), + ('cave', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Cave')), + ('survexblock', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexBlock')), ], ), migrations.CreateModel( @@ -417,22 +416,22 @@ class Migration(migrations.Migration): migrations.AddField( model_name='survexdirectory', name='primarysurvexfile', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='primarysurvexfile', to='core.SurvexFile'), + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='primarysurvexfile', to='core.SurvexFile'), ), migrations.AddField( model_name='survexblock', name='survexfile', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexFile'), + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexFile'), ), migrations.AddField( model_name='qm', name='nearest_station', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexStation'), + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.SurvexStation'), ), migrations.AddField( model_name='qm', name='ticked_off_by', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='QMs_ticked_off', to='core.LogbookEntry'), + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='QMs_ticked_off', to='core.LogbookEntry'), ), migrations.AddField( model_name='cavedescription', diff --git a/core/models.py b/core/models.py index f6ab815..7ccef54 100644 --- a/core/models.py +++ b/core/models.py @@ -219,7 +219,7 @@ class PersonExpedition(TroggleModel): def surveyedleglength(self): survexblocks = [personrole.survexblock for personrole in self.personrole_set.all() ] - return sum([survexblock.totalleglength for survexblock in set(survexblocks)]) + return sum([survexblock.legslength for survexblock in set(survexblocks)]) # would prefer to return actual person trips so we could link to first and last ones def day_min(self): diff --git a/core/models_survex.py b/core/models_survex.py index 65bbaaa..375144c 100644 --- a/core/models_survex.py +++ b/core/models_survex.py @@ -113,9 +113,7 @@ class SurvexBlock(models.Model): scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.SET_NULL) legsall = models.IntegerField(null=True) # summary data for this block - legssplay = models.IntegerField(null=True) # summary data for this block - legssurfc = models.IntegerField(null=True) # summary data for this block - totalleglength = models.FloatField(null=True) + legslength = models.FloatField(null=True) class Meta: ordering = ('id',) diff --git a/core/views_logbooks.py b/core/views_logbooks.py index 1b4e6d1..1f1e2d1 100644 --- a/core/views_logbooks.py +++ b/core/views_logbooks.py @@ -166,38 +166,6 @@ def personForm(request,pk): form=PersonForm(instance=person) return render(request,'personform.html', {'form':form,}) -def experimental(request): - blockroots = models.SurvexBlock.objects.filter(name="rootblock") - if len(blockroots)>1: - print(" ! more than one root survexblock {}".format(len(blockroots))) - for sbr in blockroots: - print("{} {} {} {}".format(sbr.id, sbr.name, sbr.text, sbr.date)) - sbr = blockroots[0] - totalsurvexlength = sbr.totalleglength - try: - nimportlegs = int(sbr.text) - except: - print("{} {} {} {}".format(sbr.id, sbr.name, sbr.text, sbr.date)) - nimportlegs = -1 - - legsbyexpo = [ ] - addupsurvexlength = 0 - for expedition in Expedition.objects.all(): - survexblocks = expedition.survexblock_set.all() - legsyear=0 - survexleglength = 0.0 - for survexblock in survexblocks: - survexleglength += survexblock.totalleglength - try: - legsyear += int(survexblock.text) - except: - pass - addupsurvexlength += survexleglength - legsbyexpo.append((expedition, {"nsurvexlegs":legsyear, "survexleglength":survexleglength})) - legsbyexpo.reverse() - - return render(request, 'experimental.html', { "nsurvexlegs":nimportlegs, "totalsurvexlength":totalsurvexlength, "addupsurvexlength":addupsurvexlength, "legsbyexpo":legsbyexpo }) - @login_required_if_public def newLogbookEntry(request, expeditionyear, pdate = None, pslug = None): expedition = Expedition.objects.get(year=expeditionyear) diff --git a/core/views_statistics.py b/core/views_statistics.py index 5b85ef1..0ce8845 100644 --- a/core/views_statistics.py +++ b/core/views_statistics.py @@ -71,24 +71,6 @@ def stats(request): statsDict['caveCount'] = "{:,}".format(Cave.objects.count()) statsDict['personCount'] = "{:,}".format(Person.objects.count()) statsDict['logbookEntryCount'] = "{:,}".format(LogbookEntry.objects.count()) - try: - blockroots = SurvexBlock.objects.filter(name="rootblock") - if len(blockroots)>1: - print(" ! more than one root survexblock {}".format(len(blockroots))) - for sbr in blockroots: - print("{} {} {} {}".format(sbr.id, sbr.name, sbr.legsall, sbr.date)) - sbr = blockroots[0] - totalsurvexlength = sbr.totalleglength - nimportlegs = sbr.legsall - except: - # if no files yet imported into database - #survexfile = models_survex.SurvexFile(path=settings.SURVEX_TOPNAME, cave=None) - #survexblockdummy = models_survex.SurvexBlock(name="dummy", survexpath="", cave=None, survexfile=survexfile, - #legsall=0, legssplay=0, legssurfc=0, totalleglength=0.0) - #sbr = survexblockdummy - totalsurvexlength = 0.0 - nimportlegs = -1 - print("{} {} {} {}".format(sbr.id, sbr.name, sbr.legsall, sbr.date)) legsbyexpo = [ ] addupsurvexlength = 0 @@ -97,7 +79,7 @@ def stats(request): legsyear=0 survexleglength = 0.0 for survexblock in survexblocks: - survexleglength += survexblock.totalleglength + survexleglength += survexblock.legslength try: legsyear += int(survexblock.legsall) except: @@ -107,5 +89,5 @@ def stats(request): "survexleglength":"{:,.0f}".format(survexleglength)})) legsbyexpo.reverse() - renderDict = {**statsDict, **{ "nsurvexlegs": "{:,}".format(nimportlegs), "totalsurvexlength":totalsurvexlength/1000, "addupsurvexlength":addupsurvexlength/1000, "legsbyexpo":legsbyexpo }} # new syntax + renderDict = {**statsDict, **{ "addupsurvexlength":addupsurvexlength/1000, "legsbyexpo":legsbyexpo }} # new syntax return render(request,'statistics.html', renderDict) |