summaryrefslogtreecommitdiff
path: root/chimere
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-01-29 19:16:29 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-01-29 19:16:29 +0100
commit6dfdd497b131db114c6fc26dd0bbfb657e44d8c5 (patch)
treecacfef1a6cf6cd3eb95bd7c77c61c514539c20a6 /chimere
parent1d1d49c4c8e01650d09f174fee923243361f20f7 (diff)
downloadChimère-6dfdd497b131db114c6fc26dd0bbfb657e44d8c5.tar.bz2
Chimère-6dfdd497b131db114c6fc26dd0bbfb657e44d8c5.zip
Better management of missing content type (upgrade issue)
Diffstat (limited to 'chimere')
-rw-r--r--chimere/models.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 6b0d4b3..445221b 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -1255,14 +1255,11 @@ def area_post_save(sender, **kwargs):
perm = Permission.objects.filter(codename=mnemo)
lbl = "Can change " + area.name
if not perm.count():
- try:
- content_type = ContentType.objects.get(app_label="chimere",
- model="area")
- perm = Permission(name=lbl, content_type_id=content_type.id,
- codename=mnemo)
- perm.save()
- except ObjectDoesNotExist:
- pass
+ content_type, created = ContentType.objects.get_or_create(
+ app_label="chimere", model="area")
+ perm = Permission(name=lbl, content_type_id=content_type.id,
+ codename=mnemo)
+ perm.save()
else:
perm = perm.all()[0]
if old_name != area.name:
@@ -1286,10 +1283,8 @@ def area_post_save(sender, **kwargs):
('chimere', 'multimediafile'),
('chimere', 'picturefile'),
('chimere', 'routefile')):
- ct = ContentType.objects.filter(app_label=app_label, model=model)
- if not ct.count():
- continue
- ct = ct.all()[0]
+ ct, created = ContentType.objects.get_or_create(app_label=app_label,
+ model=model)
for p in Permission.objects.filter(content_type=ct).all():
group.permissions.add(p)