diff options
Diffstat (limited to 'chimere/models.py')
| -rw-r--r-- | chimere/models.py | 22 | 
1 files changed, 18 insertions, 4 deletions
diff --git a/chimere/models.py b/chimere/models.py index fa139e0..cd2996d 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -1411,10 +1411,14 @@ class Map(models.Model, SimpleArea):                    ] if edit else [                     {'public_read':True}]          if user and user.is_authenticated(): -            filters += [{'mapusers__user':user, 'mapusers__write':True}, -                        {'mapusers__user':user, 'mapusers__propose':True}, -                       ] if edit else [ -                        {'mapusers__user':user, 'mapusers__read':True},] +            filters += [ +                    {'mapusers__user':user, 'mapusers__write':True}, +                    {'mapusers__user':user, 'mapusers__propose':True}, +                    {'mapgroups__group__user':user, 'mapgroups__write':True}, +                    {'mapgroups__group__user':user, 'mapgroups__propose':True}, +                    ] if edit else [ +                    {'mapusers__user':user, 'mapusers__read':True}, +                    {'mapgroups__group__user':user, 'mapgroups__read':True},]          query = None          for fltr in filters:              fltr.update(map_filter) @@ -1565,6 +1569,16 @@ class MapUsers(models.Model):          verbose_name = _("Map - user")          verbose_name_plural = _("Map - users") +class MapGroups(models.Model): +    map = models.ForeignKey(Map, related_name='mapgroups') +    group = models.ForeignKey(Group, related_name='mapgroups') +    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 - group") +        verbose_name_plural = _("Map - groups") +  class MapLayers(models.Model):      map = models.ForeignKey(Map)      layer = models.ForeignKey(Layer)  | 
