summaryrefslogtreecommitdiffstats
path: root/core/models_survex.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/models_survex.py')
-rw-r--r--core/models_survex.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/core/models_survex.py b/core/models_survex.py
index 1bf75ef..b726d59 100644
--- a/core/models_survex.py
+++ b/core/models_survex.py
@@ -56,16 +56,27 @@ class SurvexStationLookUpManager(models.Manager):
def lookup(self, name):
blocknames, sep, stationname = name.rpartition(".")
return self.get(block = SurvexBlock.objects.lookup(blocknames),
- name = stationname)
+ name__iexact = stationname)
class SurvexStation(models.Model):
- name = models.CharField(max_length=20)
+ name = models.CharField(max_length=100)
block = models.ForeignKey('SurvexBlock')
equate = models.ForeignKey('SurvexEquate', blank=True, null=True)
objects = SurvexStationLookUpManager()
x = models.FloatField(blank=True, null=True)
y = models.FloatField(blank=True, null=True)
z = models.FloatField(blank=True, null=True)
+
+ def path(self):
+ r = self.name
+ b = self.block
+ while True:
+ if b.name:
+ r = b.name + "." + r
+ if b.parent:
+ b = b.parent
+ else:
+ return r
class SurvexLeg(models.Model):
block = models.ForeignKey('SurvexBlock')
@@ -85,7 +96,7 @@ class SurvexBlockLookUpManager(models.Manager):
blocknames = name.split(".")
block = SurvexBlock.objects.get(parent=None, survexfile__path="all")
for blockname in blocknames:
- block = SurvexBlock.objects.get(parent=block, name=blockname)
+ block = SurvexBlock.objects.get(parent=block, name__iexact=blockname)
return block
class SurvexBlock(models.Model):
@@ -131,6 +142,7 @@ class SurvexBlock(models.Model):
if ssl:
assert len(ssl) == 1
return ssl[0]
+ #print name
ss = SurvexStation(name=name, block=self)
ss.save()
return ss