Does anyone know why create_permissions doesn't work (or throw any errors) when used in a view, but works when I run the same code in the manage.py shell?
###### views.py ####### from django.db.models import get_app from django.contrib.auth.management import create_permissions from django.http import HttpResponseRedirect from django.contrib.admin.views.decorators import staff_member_required @staff_member_required def update_permissions_view(request): """Updates the permissions of the app""" app = get_app('edit_record') create_permissions(app, None, 2) referrer_url = request.META.get('HTTP_REFERER', None) return HttpResponseRedirect(referrer_url) ###### models.py ####### import datetime, urllib2 from django.db import models from django.conf import settings from django.db.models import signals, get_app from django.contrib.auth.models import User from django.contrib.auth.management import create_permissions def update_perms(): #Get Collection and Institution Permissions coll_dict = eval(urllib2.urlopen(settings.VOCABULARIES +'collections/py/').read()) inst_dict = eval(urllib2.urlopen(settings.VOCABULARIES +'institutions/py/').read()) permissions = () for term in coll_dict['terms']: created_perm = ('coll_'+term['name'], 'coll_'+term['name'],) permissions += (created_perm,) for term in inst_dict['terms']: created_perm = ('inst_'+term['name'], 'inst_'+term['name'],) permissions += (created_perm,) #Add Metadata Editor and Metadata Publisher Permissions permissions += (('metadata_editor', 'metadata_editor',), ('metadata_publisher', 'metadata_publisher',),) return permissions class Record(models.Model): """Defines the Record model """ STATUS_CHOICES = ( (0, 'Not Saved'), (1, 'Saved'), ) name = models.CharField(max_length=50, unique=True) title = models.TextField() data = models.TextField() metadata_user = models.TextField() metadata_save_date = models.DateTimeField(auto_now=True) status = models.IntegerField(choices=STATUS_CHOICES) hidden = models.BooleanField() class Perms(models.Model): class Meta: permissions = update_perms() def notify_admin(sender, instance, created, **kwargs): '''Update permissions when a new user has been added.''' if created: app = get_app('edit_record') create_permissions(app, None, 2) signals.post_save.connect(notify_admin, sender=User) -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.