diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/admin.py | 6 | ||||
-rw-r--r-- | core/context.py | 2 | ||||
-rw-r--r-- | core/forms.py | 4 | ||||
-rw-r--r-- | core/models.py | 64 | ||||
-rw-r--r-- | core/models_survex.py | 2 | ||||
-rw-r--r-- | core/templatetags/wiki_markup.py | 2 | ||||
-rw-r--r-- | core/views_caves.py | 3 | ||||
-rw-r--r-- | core/views_other.py | 2 | ||||
-rw-r--r-- | core/views_survex.py | 2 |
9 files changed, 44 insertions, 43 deletions
diff --git a/core/admin.py b/core/admin.py index 6e9d058..305613c 100644 --- a/core/admin.py +++ b/core/admin.py @@ -4,7 +4,7 @@ from django.forms import ModelForm import django.forms as forms from django.http import HttpResponse from django.core import serializers -from core.views_other import downloadLogbook +from troggle.core.views_other import downloadLogbook #from troggle.reversion.admin import VersionAdmin #django-reversion version control @@ -12,8 +12,8 @@ class TroggleModelAdmin(admin.ModelAdmin): def save_model(self, request, obj, form, change): """overriding admin save to fill the new_since parsing_field""" - obj.new_since_parsing=True - obj.save() + obj.new_since_parsing=True + obj.save() class Media: js = ('jquery/jquery.min.js','js/QM_helper.js') diff --git a/core/context.py b/core/context.py index a77de49..6b3b928 100644 --- a/core/context.py +++ b/core/context.py @@ -1,5 +1,5 @@ from django.conf import settings -from core.models import Expedition +from troggle.core.models import Expedition def troggle_context(request): return { 'settings':settings, 'Expedition':Expedition }
\ No newline at end of file diff --git a/core/forms.py b/core/forms.py index 4530b0e..ae046b5 100644 --- a/core/forms.py +++ b/core/forms.py @@ -62,7 +62,7 @@ class EntranceForm(ModelForm): -CaveAndEntranceFormSet = modelformset_factory(CaveAndEntrance, exclude=('cave')) +CaveAndEntranceFormSet = modelformset_factory(CaveAndEntrance, exclude=('cave',)) class EntranceLetterForm(ModelForm): class Meta: @@ -136,7 +136,7 @@ def getTripForm(expedition): names = ["-----"] + names name = forms.ChoiceField([(n, n) for n in names]) TU = forms.FloatField(required=False) - author = forms.BooleanField(required=False) + author = forms.BooleanField(required=False, default=False) PersonTripFormSet = formset_factory(PersonTripForm, extra=1) diff --git a/core/models.py b/core/models.py index 8527015..a78e49b 100644 --- a/core/models.py +++ b/core/models.py @@ -15,7 +15,7 @@ from django.template import Context, loader import settings getcontext().prec=2 #use 2 significant figures for decimal calculations -from models_survex import * +from troggle.core.models_survex import * def get_related_by_wikilinks(wiki_text): @@ -55,7 +55,7 @@ class TroggleModel(models.Model): return urlparse.urljoin(settings.URL_ROOT, "/admin/core/" + self.object_name().lower() + "/" + str(self.pk)) class Meta: - abstract = True + abstract = True class TroggleImageModel(ImageModel): new_since_parsing = models.BooleanField(default=False, editable=False) @@ -68,7 +68,7 @@ class TroggleImageModel(ImageModel): class Meta: - abstract = True + abstract = True # # single Expedition, usually seen by year @@ -125,7 +125,7 @@ class ExpeditionDay(TroggleModel): class Person(TroggleModel): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) - is_vfho = models.BooleanField(help_text="VFHO is the Vereines für Höhlenkunde in Obersteier, a nearby Austrian caving club.") + is_vfho = models.BooleanField(help_text="VFHO is the Vereines für Hö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) @@ -134,13 +134,13 @@ class Person(TroggleModel): #the below have been removed and made methods. I'm not sure what the b in bisnotable stands for. - AC 16 Feb #notability = models.FloatField() # for listing the top 20 people - #bisnotable = models.BooleanField() + #bisnotable = models.BooleanField(default=False) user = models.OneToOneField(User, null=True, blank=True) def get_absolute_url(self): return urlparse.urljoin(settings.URL_ROOT,reverse('person',kwargs={'first_name':self.first_name,'last_name':self.last_name})) class Meta: - verbose_name_plural = "People" + verbose_name_plural = "People" class Meta: ordering = ('orderref',) # "Wookey" makes too complex for: ('last_name', 'first_name') @@ -264,13 +264,13 @@ class LogbookEntry(TroggleModel): if item == "cave": #Allow a logbookentries cave to be directly accessed despite not having a proper foreignkey return CaveSlug.objects.get(slug = self.cave_slug).cave return super(LogbookEntry, self).__getattribute__(item) - + def __init__(self, *args, **kwargs): - if "cave" in kwargs.keys(): - if kwargs["cave"] is not None: - kwargs["cave_slug"] = CaveSlug.objects.get(cave = kwargs["cave"], primary = True).slug - kwargs.pop("cave") - return super(LogbookEntry, self).__init__(*args, **kwargs) + if "cave" in kwargs.keys(): + if kwargs["cave"] is not None: + kwargs["cave_slug"] = CaveSlug.objects.get(cave=kwargs["cave"], primary=True).slug + kwargs.pop("cave") + return super(LogbookEntry, self).__init__(*args, **kwargs) def isLogbookEntry(self): # Function used in templates return True @@ -312,7 +312,7 @@ class PersonTrip(TroggleModel): #date = models.DateField() #MJG wants to KILL THIS (redundant information) time_underground = models.FloatField(help_text="In decimal hours") logbook_entry = models.ForeignKey(LogbookEntry) - is_logbook_entry_author = models.BooleanField() + is_logbook_entry_author = models.BooleanField(default=False) # sequencing by person (difficult to solve locally) @@ -371,7 +371,7 @@ class CaveAndEntrance(models.Model): class CaveSlug(models.Model): cave = models.ForeignKey('Cave') slug = models.SlugField(max_length=50, unique = True) - primary = models.BooleanField() + primary = models.BooleanField(default=False) class Cave(TroggleModel): @@ -520,11 +520,11 @@ class Cave(TroggleModel): areas = self.area.all() lowestareas = list(areas) for area in areas: - if area.parent in areas: - try: - lowestareas.remove(area.parent) - except: - pass + if area.parent in areas: + try: + lowestareas.remove(area.parent) + except: + pass return lowestareas[0] def getCaveByReference(reference): @@ -546,7 +546,7 @@ class OtherCaveName(TroggleModel): class EntranceSlug(models.Model): entrance = models.ForeignKey('Entrance') slug = models.SlugField(max_length=50, unique = True) - primary = models.BooleanField() + primary = models.BooleanField(default=False) class Entrance(TroggleModel): name = models.CharField(max_length=100, blank=True,null=True) @@ -608,21 +608,21 @@ class Entrance(TroggleModel): s = SurvexStation.objects.lookup(self.tag_station) return r + "%0.0fE %0.0fN %0.0fAlt" % (s.x, s.y, s.z) except: - return r + "%s Tag Station not in dataset" % self.tag_station + return r + "%s Tag Station not in dataset" % self.tag_station if self.exact_station: try: s = SurvexStation.objects.lookup(self.exact_station) return r + "%0.0fE %0.0fN %0.0fAlt" % (s.x, s.y, s.z) except: - return r + "%s Exact Station not in dataset" % self.tag_station + return r + "%s Exact Station not in dataset" % self.tag_station if self.other_station: try: s = SurvexStation.objects.lookup(self.other_station) return r + "%0.0fE %0.0fN %0.0fAlt %s" % (s.x, s.y, s.z, self.other_description) except: - return r + "%s Other Station not in dataset" % self.tag_station + return r + "%s Other Station not in dataset" % self.tag_station if self.FINDABLE_CHOICES == "S": - r += "ERROR, Entrance has been surveyed but has no survex point" + r += "ERROR, Entrance has been surveyed but has no survex point" if self.bearings: return r + self.bearings return r @@ -657,7 +657,7 @@ class Entrance(TroggleModel): return SurvexStation.objects.lookup(self.tag_station) def needs_surface_work(self): - return self.findability != "S" or not self.has_photo or self.marking != "T" + return self.findability != "S" or not self.has_photo or self.marking != "T" def get_absolute_url(self): @@ -754,10 +754,10 @@ class QM(TroggleModel): comment=models.TextField(blank=True,null=True) def __unicode__(self): - return u"%s %s" % (self.code(), self.grade) + return u"%s %s" % (self.code(), self.grade) def code(self): - return u"%s-%s-%s" % (unicode(self.found_by.cave)[6:], self.found_by.date.year, self.number) + return u"%s-%s-%s" % (unicode(self.found_by.cave)[6:], self.found_by.date.year, self.number) def get_absolute_url(self): #return settings.URL_ROOT + '/cave/' + self.found_by.cave.kataster_number + '/' + str(self.found_by.date.year) + '-' + '%02d' %self.number @@ -770,7 +770,7 @@ class QM(TroggleModel): return QM.objects.get(id=self.id-1) def wiki_link(self): - return u"%s%s%s" % ('[[QM:',self.code(),']]') + return u"%s%s%s" % ('[[QM:',self.code(),']]') photoFileStorage = FileSystemStorage(location=settings.PHOTOS_ROOT, base_url=settings.PHOTOS_URL) class DPhoto(TroggleImageModel): @@ -825,7 +825,7 @@ class ScannedImage(TroggleImageModel): #This is an ugly hack to deal with the #s in our survey scan paths. The correct thing is to write a custom file storage backend which calls urlencode on the name for making file.url but not file.path. def correctURL(self): - return string.replace(self.file.url,r'#',r'%23') + return string.replace(self.file.url,r'#',r'%23') def __unicode__(self): return get_scan_path(self,'') @@ -852,10 +852,10 @@ class Survey(TroggleModel): return self.expedition.year+"#"+"%02d" % int(self.wallet_number) def notes(self): - return self.scannedimage_set.filter(contents='notes') + return self.scannedimage_set.filter(contents='notes') def plans(self): - return self.scannedimage_set.filter(contents='plan') + return self.scannedimage_set.filter(contents='plan') def elevations(self): - return self.scannedimage_set.filter(contents='elevation') + return self.scannedimage_set.filter(contents='elevation') diff --git a/core/models_survex.py b/core/models_survex.py index 645d851..f6b3284 100644 --- a/core/models_survex.py +++ b/core/models_survex.py @@ -213,7 +213,7 @@ class SurvexScanSingle(models.Model): class TunnelFile(models.Model): tunnelpath = models.CharField(max_length=200) tunnelname = models.CharField(max_length=200) - bfontcolours = models.BooleanField() + bfontcolours = models.BooleanField(default=False) survexscansfolders = models.ManyToManyField("SurvexScansFolder") survexscans = models.ManyToManyField("SurvexScanSingle") survexblocks = models.ManyToManyField("SurvexBlock") diff --git a/core/templatetags/wiki_markup.py b/core/templatetags/wiki_markup.py index 4087b12..3bc5b07 100644 --- a/core/templatetags/wiki_markup.py +++ b/core/templatetags/wiki_markup.py @@ -3,7 +3,7 @@ from django.utils.html import conditional_escape from django.template.defaultfilters import stringfilter from django.utils.safestring import mark_safe from django.conf import settings -from core.models import QM, DPhoto, LogbookEntry, Cave +from troggle.core.models import QM, DPhoto, LogbookEntry, Cave import re, urlparse register = template.Library() diff --git a/core/views_caves.py b/core/views_caves.py index db3e52d..f6a2bcf 100644 --- a/core/views_caves.py +++ b/core/views_caves.py @@ -17,7 +17,8 @@ import re, urlparse from django.shortcuts import get_object_or_404 import settings -import Image, ImageDraw, ImageFont, string, os, sys, subprocess +from PIL import Image, ImageDraw, ImageFont +import string, os, sys def getCave(cave_id): """Returns a cave object when given a cave name or number. It is used by views including cavehref, ent, and qm.""" diff --git a/core/views_other.py b/core/views_other.py index beecc46..67cd01a 100644 --- a/core/views_other.py +++ b/core/views_other.py @@ -9,7 +9,7 @@ import re from django.http import HttpResponse, HttpResponseRedirect from django.core.urlresolvers import reverse from utils import render_with_context -from core.models import * +from troggle.core.models import * from troggle.helper import login_required_if_public def showrequest(request): diff --git a/core/views_survex.py b/core/views_survex.py index 3c53625..28a4370 100644 --- a/core/views_survex.py +++ b/core/views_survex.py @@ -257,7 +257,7 @@ def identifycavedircontents(gcavedir): # perhaps should use the database and have a reload button for it def survexcaveslist(request): cavesdir = os.path.join(settings.SURVEX_DATA, "caves") - cavesdircontents = { } + #cavesdircontents = { } onefilecaves = [ ] multifilecaves = [ ] |