summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 60e4cd1..a1d96d0 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -1353,12 +1353,13 @@ class Map(models.Model, SimpleArea):
"""A map
"""
name = models.CharField(_(u"Name"), max_length=150)
+ available = models.BooleanField(_(u"Available"))
+ users = models.ManyToManyField(User, through='MapUsers')
urn = models.SlugField(_(u"Map urn"), max_length=50, blank=True,
unique=True)
welcome_message = models.TextField(_(u"Welcome message"), blank=True,
null=True)
order = models.IntegerField(_(u"Order"), unique=True)
- available = models.BooleanField(_(u"Available"))
upper_left_corner = models.PointField(_(u"Upper left corner"),
default='POINT(0 0)', srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION)
lower_right_corner = models.PointField(_(u"Lower right corner"),
@@ -1380,6 +1381,9 @@ class Map(models.Model, SimpleArea):
u"available"))
external_css = models.URLField(_(u"Link to an external CSS"), blank=True,
null=True)
+ public_read = models.BooleanField(_(u"Public can read the map"))
+ public_propose = models.BooleanField(_(u"Public can propose item to the map"))
+ public_write = models.BooleanField(_(u"Public can write without moderation to the map"))
restrict_to_extent = models.BooleanField(_(u"Restrict to the area extent"),
default=False)
objects = models.GeoManager()
@@ -1522,6 +1526,16 @@ def get_users_by_map(map):
return User.objects.filter(Q(groups__permissions__codename=perm)|
Q(user_permissions__codename=perm)).all()
+class MapUsers(models.Model):
+ map = models.ForeignKey(Map, related_name='mapusers')
+ user = models.ForeignKey(User, related_name='mapusers')
+ read = models.BooleanField(_(u"Can read the map"))
+ propose = models.BooleanField(_(u"Can propose item to the map"))
+ write = models.BooleanField(_(u"Can write without moderation to the map"))
+ class Meta:
+ verbose_name = _("Map - user")
+ verbose_name_plural = _("Map - users")
+
class MapLayers(models.Model):
map = models.ForeignKey(Map)
layer = models.ForeignKey(Layer)