summaryrefslogtreecommitdiff
path: root/server/locations/models.py
blob: 2c70f19a136efbf4b18f23b5d5d833bfa26609dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from django.db import models
from django.contrib.auth.models import User
from django.contrib import admin

from django import forms
from django.forms import ModelForm

#
#	Defining models
#
#

class EquipmentCapability(models.Model):
	name = models.CharField(max_length=200)

	def __unicode__(self):
		return self.name

class EquipmentType(models.Model):
	name = models.CharField(max_length=200)
	maker = models.CharField(max_length=200)
	website = models.URLField(blank=True)
	capabilities = models.ManyToManyField(EquipmentCapability)

	def __unicode__(self):
		return self.maker + " " + self.name

class Location(models.Model):
	lat = models.FloatField("Latitude")
	lon = models.FloatField("Longitude")
	name = models.CharField("Location name", max_length=200)
	locname = models.CharField("Town/city", max_length=200)
	website = models.URLField(blank=True)
	manager = models.ForeignKey(User)

	def __unicode__(self):
		return self.name

class Equipment(models.Model):
	type = models.ForeignKey(EquipmentType)
	location = models.ForeignKey(Location)
	notes = models.TextField()

	def __unicode__(self):
		return self.type

#
#	Registering tables with admin site
#
#

admin.site.register(EquipmentType)
admin.site.register(Location)
admin.site.register(EquipmentCapability)
admin.site.register(Equipment)


#
#	Defining forms
#
#

class LocationForm(ModelForm):
	class Meta:
		model = Location
		exclude = ('manager')