diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 16 |
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) |