diff --git a/apps/permissions/migrations/0001_initial.py b/apps/permissions/migrations/0001_initial.py new file mode 100644 index 0000000000..e69a10a4db --- /dev/null +++ b/apps/permissions/migrations/0001_initial.py @@ -0,0 +1,105 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding model 'Permission' + db.create_table('permissions_permission', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('namespace', self.gf('django.db.models.fields.CharField')(max_length=64)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=64)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=96)), + )) + db.send_create_signal('permissions', ['Permission']) + + # Adding unique constraint on 'Permission', fields ['namespace', 'name'] + db.create_unique('permissions_permission', ['namespace', 'name']) + + # Adding model 'PermissionHolder' + db.create_table('permissions_permissionholder', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('permission', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.Permission'])), + ('holder_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='permission_holder', to=orm['contenttypes.ContentType'])), + ('holder_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('permissions', ['PermissionHolder']) + + # Adding model 'Role' + db.create_table('permissions_role', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=64)), + ('label', self.gf('django.db.models.fields.CharField')(unique=True, max_length=64)), + )) + db.send_create_signal('permissions', ['Role']) + + # Adding model 'RoleMember' + db.create_table('permissions_rolemember', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('role', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.Role'])), + ('member_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='role_member', to=orm['contenttypes.ContentType'])), + ('member_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('permissions', ['RoleMember']) + + + def backwards(self, orm): + + # Removing unique constraint on 'Permission', fields ['namespace', 'name'] + db.delete_unique('permissions_permission', ['namespace', 'name']) + + # Deleting model 'Permission' + db.delete_table('permissions_permission') + + # Deleting model 'PermissionHolder' + db.delete_table('permissions_permissionholder') + + # Deleting model 'Role' + db.delete_table('permissions_role') + + # Deleting model 'RoleMember' + db.delete_table('permissions_rolemember') + + + models = { + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'permissions.permission': { + 'Meta': {'ordering': "('namespace', 'label')", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'Permission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '96'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + }, + 'permissions.permissionholder': { + 'Meta': {'object_name': 'PermissionHolder'}, + 'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'permission_holder'", 'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.Permission']"}) + }, + 'permissions.role': { + 'Meta': {'ordering': "('label',)", 'object_name': 'Role'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}) + }, + 'permissions.rolemember': { + 'Meta': {'object_name': 'RoleMember'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'member_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'member_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'role_member'", 'to': "orm['contenttypes.ContentType']"}), + 'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.Role']"}) + } + } + + complete_apps = ['permissions'] diff --git a/apps/permissions/migrations/0002_auto__add_storedpermission__add_unique_storedpermission_namespace_name.py b/apps/permissions/migrations/0002_auto__add_storedpermission__add_unique_storedpermission_namespace_name.py new file mode 100644 index 0000000000..0109b2548e --- /dev/null +++ b/apps/permissions/migrations/0002_auto__add_storedpermission__add_unique_storedpermission_namespace_name.py @@ -0,0 +1,81 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding model 'StoredPermission' + db.create_table('permissions_storedpermission', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('namespace', self.gf('django.db.models.fields.CharField')(max_length=64)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=64)), + )) + db.send_create_signal('permissions', ['StoredPermission']) + + # Adding unique constraint on 'StoredPermission', fields ['namespace', 'name'] + db.create_unique('permissions_storedpermission', ['namespace', 'name']) + + # Changing field 'PermissionHolder.permission' + db.alter_column('permissions_permissionholder', 'permission_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.StoredPermission'])) + + + def backwards(self, orm): + + # Removing unique constraint on 'StoredPermission', fields ['namespace', 'name'] + db.delete_unique('permissions_storedpermission', ['namespace', 'name']) + + # Deleting model 'StoredPermission' + db.delete_table('permissions_storedpermission') + + # Changing field 'PermissionHolder.permission' + db.alter_column('permissions_permissionholder', 'permission_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['permissions.Permission'])) + + + models = { + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'permissions.permission': { + 'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'Permission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '96'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + }, + 'permissions.permissionholder': { + 'Meta': {'object_name': 'PermissionHolder'}, + 'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'permission_holder'", 'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"}) + }, + 'permissions.role': { + 'Meta': {'ordering': "('label',)", 'object_name': 'Role'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}) + }, + 'permissions.rolemember': { + 'Meta': {'object_name': 'RoleMember'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'member_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'member_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'role_member'", 'to': "orm['contenttypes.ContentType']"}), + 'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.Role']"}) + }, + 'permissions.storedpermission': { + 'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'StoredPermission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + } + } + + complete_apps = ['permissions'] diff --git a/apps/permissions/migrations/0003_clear_permission_holders.py b/apps/permissions/migrations/0003_clear_permission_holders.py new file mode 100644 index 0000000000..b745b97a3a --- /dev/null +++ b/apps/permissions/migrations/0003_clear_permission_holders.py @@ -0,0 +1,61 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models + +class Migration(DataMigration): + + def forwards(self, orm): + for permission_holder in orm.PermissionHolder.objects.all(): + permission_holder.delete() + + + def backwards(self, orm): + raise RuntimeError("Cannot reverse this migration.") + + + models = { + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'permissions.permission': { + 'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'Permission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'max_length': '96'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + }, + 'permissions.permissionholder': { + 'Meta': {'object_name': 'PermissionHolder'}, + 'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'permission_holder'", 'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"}) + }, + 'permissions.role': { + 'Meta': {'ordering': "('label',)", 'object_name': 'Role'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}) + }, + 'permissions.rolemember': { + 'Meta': {'object_name': 'RoleMember'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'member_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'member_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'role_member'", 'to': "orm['contenttypes.ContentType']"}), + 'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.Role']"}) + }, + 'permissions.storedpermission': { + 'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'StoredPermission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + } + } + + complete_apps = ['permissions'] diff --git a/apps/permissions/migrations/0004_auto__del_permission__del_unique_permission_namespace_name.py b/apps/permissions/migrations/0004_auto__del_permission__del_unique_permission_namespace_name.py new file mode 100644 index 0000000000..adb93d9490 --- /dev/null +++ b/apps/permissions/migrations/0004_auto__del_permission__del_unique_permission_namespace_name.py @@ -0,0 +1,69 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Removing unique constraint on 'Permission', fields ['namespace', 'name'] + db.delete_unique('permissions_permission', ['namespace', 'name']) + + # Deleting model 'Permission' + db.delete_table('permissions_permission') + + + def backwards(self, orm): + + # Adding model 'Permission' + db.create_table('permissions_permission', ( + ('namespace', self.gf('django.db.models.fields.CharField')(max_length=64)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=64)), + ('label', self.gf('django.db.models.fields.CharField')(max_length=96)), + )) + db.send_create_signal('permissions', ['Permission']) + + # Adding unique constraint on 'Permission', fields ['namespace', 'name'] + db.create_unique('permissions_permission', ['namespace', 'name']) + + + models = { + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'permissions.permissionholder': { + 'Meta': {'object_name': 'PermissionHolder'}, + 'holder_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'holder_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'permission_holder'", 'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'permission': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.StoredPermission']"}) + }, + 'permissions.role': { + 'Meta': {'ordering': "('label',)", 'object_name': 'Role'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}) + }, + 'permissions.rolemember': { + 'Meta': {'object_name': 'RoleMember'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'member_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'member_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'role_member'", 'to': "orm['contenttypes.ContentType']"}), + 'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['permissions.Role']"}) + }, + 'permissions.storedpermission': { + 'Meta': {'ordering': "('namespace',)", 'unique_together': "(('namespace', 'name'),)", 'object_name': 'StoredPermission'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'namespace': ('django.db.models.fields.CharField', [], {'max_length': '64'}) + } + } + + complete_apps = ['permissions'] diff --git a/apps/permissions/migrations/__init__.py b/apps/permissions/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/permissions/models.py b/apps/permissions/models.py index 90faaf7210..d823a2288b 100644 --- a/apps/permissions/models.py +++ b/apps/permissions/models.py @@ -89,9 +89,6 @@ class Permission(object): stored_permission, created = StoredPermission.objects.get_or_create( namespace=self.namespace.name, name=self.name, - defaults={ - 'label': self.label - } ) stored_permission.label = self.label stored_permission.save() @@ -114,7 +111,6 @@ Permission._default_manager = Permission.objects class StoredPermission(models.Model): namespace = models.CharField(max_length=64, verbose_name=_(u'namespace')) name = models.CharField(max_length=64, verbose_name=_(u'name')) - label = models.CharField(max_length=96, verbose_name=_(u'label')) # TODO: Create migration objects = StoredPermissionManager()