Package eoxserver :: Package core :: Module models
[hide private]
[frames] | no frames]

Source Code for Module eoxserver.core.models

 1  #------------------------------------------------------------------------------- 
 2  # $Id: models.py 758 2011-10-26 18:36:38Z meissls $ 
 3  # 
 4  # Project: EOxServer <http://eoxserver.org> 
 5  # Authors: Stephan Krause <stephan.krause@eox.at> 
 6  #          Stephan Meissl <stephan.meissl@eox.at> 
 7  # 
 8  #------------------------------------------------------------------------------- 
 9  # Copyright (C) 2011 EOX IT Services GmbH 
10  # 
11  # Permission is hereby granted, free of charge, to any person obtaining a copy 
12  # of this software and associated documentation files (the "Software"), to deal 
13  # in the Software without restriction, including without limitation the rights 
14  # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell  
15  # copies of the Software, and to permit persons to whom the Software is  
16  # furnished to do so, subject to the following conditions: 
17  # 
18  # The above copyright notice and this permission notice shall be included in all 
19  # copies of this Software or works derived from this Software. 
20  # 
21  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
22  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
23  # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
24  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
25  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
26  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
27  # THE SOFTWARE. 
28  #------------------------------------------------------------------------------- 
29   
30  from django.db import models 
31  from django.contrib.contenttypes.models import ContentType 
32       
33 -class Implementation(models.Model):
34 intf_id = models.CharField(max_length=256) 35 impl_id = models.CharField(max_length=256, unique=True)
36
37 -class Component(Implementation):
38 enabled = models.BooleanField(default=False)
39
40 -class ResourceClass(Implementation):
41 content_type = models.ForeignKey(ContentType)
42
43 -class Resource(models.Model):
44 pass
45
46 -class Relation(models.Model):
47 rel_class = models.CharField(max_length=64) 48 enabled = models.BooleanField(default=False) 49 50 subj = models.ForeignKey(Component, related_name="relations") 51 52 obj = models.ForeignKey(Resource, related_name="relations")
53
54 -class ClassRelation(models.Model):
55 rel_class = models.CharField(max_length=64) 56 enabled = models.BooleanField(default=False) 57 58 subj = models.ForeignKey(Component, related_name="class_relations") 59 60 obj = models.ForeignKey(ResourceClass, related_name="class_relations")
61