diff options
author | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-03-14 18:35:23 +0000 |
---|---|---|
committer | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-03-14 18:35:23 +0000 |
commit | 64acbb356f5a177dc5bd80e7ad493ee554ca0e09 (patch) | |
tree | 8d3708eb5a235581d598cdbe672524f1d453df35 /chimere/main/forms.py | |
parent | 63a9537e7deeb473145512fe8a080c62ea62c2c7 (diff) | |
download | Chimère-64acbb356f5a177dc5bd80e7ad493ee554ca0e09.tar.bz2 Chimère-64acbb356f5a177dc5bd80e7ad493ee554ca0e09.zip |
Correct projection problems on database #87 - Filter categories for moderator by area #88
git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@72 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864
Diffstat (limited to 'chimere/main/forms.py')
-rw-r--r-- | chimere/main/forms.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/chimere/main/forms.py b/chimere/main/forms.py index 74577d1..4618321 100644 --- a/chimere/main/forms.py +++ b/chimere/main/forms.py @@ -23,7 +23,7 @@ Forms from django import forms from django.contrib.gis.db import models from django.utils.translation import ugettext as _ -from django.contrib.auth.models import User +from django.contrib.auth.models import User, Permission, ContentType from django.core.mail import EmailMessage, BadHeaderError from chimere import settings @@ -250,4 +250,19 @@ class AreaAdminForm(forms.ModelForm): new_area.upper_left_corner = 'POINT(%s %s)' % (area[0][0], area[0][1]) new_area.lower_right_corner = 'POINT(%s %s)' % (area[1][0], area[1][1]) + content_type = ContentType.objects.get(app_label="main", + model="area") + if new_area.urn: + mnemo = 'change_area_' + new_area.urn + perm = Permission.objects.filter(codename=mnemo) + if not perm: + perm = Permission(name='Can change ' + new_area.name, + content_type_id=content_type.id, codename=mnemo) + perm.save() + else: + if 'urn' in self.initial: + mnemo = 'change_area_' + self.initial['urn'] + perm = Permission.objects.filter(codename=mnemo) + if perm: + perm[0].delete() return new_area |