diff --git a/README.md b/README.md
index d6873877..6066e438 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
RatticWeb
=========
-Build Status: [![Build Status](https://travis-ci.org/tildaslash/RatticWeb.png?branch=master)](https://travis-ci.org/tildaslash/RatticWeb)
+_**This is a fork we use in production. Please make your PRs against the [master repo](https://github.com/tildaslash/RatticWeb) (although it does not seem to be maintained anymore...)**_
+
+Build Status: [![Build Status](https://travis-ci.org/oasiswork/RatticWeb.png?branch=prod)](https://travis-ci.org/oasiswork/RatticWeb)
RatticWeb is the website part of the Rattic password management solution, which allows you to easily manage your users and passwords.
@@ -14,7 +16,6 @@ If you decide to use RatticWeb you should take the following into account:
Support and Known Issues:
* Through twitter or Github Issues
-* Apache config needs to have "WSGIPassAuthorization On" for the API keys to work
+* Apache config needs to have "WSGIPassAuthorization On" for the API keys to work
Dev Setup:
-
diff --git a/account/migrations/0001_initial.py b/account/migrations/0001_initial.py
index f451ee58..12b301fc 100644
--- a/account/migrations/0001_initial.py
+++ b/account/migrations/0001_initial.py
@@ -1,70 +1,39 @@
# -*- coding: 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 'UserProfile'
- db.create_table('account_userprofile', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], unique=True)),
- ('items_per_page', self.gf('django.db.models.fields.IntegerField')(default=25)),
- ))
- db.send_create_signal('account', ['UserProfile'])
-
-
- def backwards(self, orm):
- # Deleting model 'UserProfile'
- db.delete_table('account_userprofile')
-
-
- models = {
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- }
- }
-
- complete_apps = ['account']
\ No newline at end of file
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='ApiKey',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('key', models.CharField(default=b'', max_length=128, db_index=True, blank=True)),
+ ('name', models.CharField(max_length=128)),
+ ('active', models.BooleanField(default=True)),
+ ('created', models.DateTimeField(default=django.utils.timezone.now)),
+ ('expires', models.DateTimeField(default=django.utils.timezone.now)),
+ ],
+ options={
+ },
+ bases=(models.Model,),
+ ),
+ migrations.CreateModel(
+ name='UserProfile',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('items_per_page', models.IntegerField(default=25)),
+ ('password_changed', models.DateTimeField(default=django.utils.timezone.now)),
+ ],
+ options={
+ },
+ bases=(models.Model,),
+ ),
+ ]
diff --git a/account/migrations/0002_auto_20150514_1207.py b/account/migrations/0002_auto_20150514_1207.py
new file mode 100644
index 00000000..519306c7
--- /dev/null
+++ b/account/migrations/0002_auto_20150514_1207.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+from django.conf import settings
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('account', '0001_initial'),
+ ('cred', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='userprofile',
+ name='favourite_tags',
+ field=models.ManyToManyField(to='cred.Tag', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AddField(
+ model_name='userprofile',
+ name='user',
+ field=models.ForeignKey(to=settings.AUTH_USER_MODEL, unique=True),
+ preserve_default=True,
+ ),
+ migrations.AddField(
+ model_name='apikey',
+ name='user',
+ field=models.ForeignKey(related_name='rattic_api_key', to=settings.AUTH_USER_MODEL),
+ preserve_default=True,
+ ),
+ ]
diff --git a/account/migrations/0002_auto__add_field_userprofile_tags_on_sidebar.py b/account/migrations/0002_auto__add_field_userprofile_tags_on_sidebar.py
deleted file mode 100644
index 91811ae1..00000000
--- a/account/migrations/0002_auto__add_field_userprofile_tags_on_sidebar.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# -*- coding: 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 field 'UserProfile.tags_on_sidebar'
- db.add_column('account_userprofile', 'tags_on_sidebar',
- self.gf('django.db.models.fields.IntegerField')(default=5),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'UserProfile.tags_on_sidebar'
- db.delete_column('account_userprofile', 'tags_on_sidebar')
-
-
- models = {
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'tags_on_sidebar': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- }
- }
-
- complete_apps = ['account']
\ No newline at end of file
diff --git a/account/migrations/0003_auto__add_field_userprofile_password_changed.py b/account/migrations/0003_auto__add_field_userprofile_password_changed.py
deleted file mode 100644
index d239e4f3..00000000
--- a/account/migrations/0003_auto__add_field_userprofile_password_changed.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-from django.utils import timezone
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Make a timezone aware default
- pass_chg_default = timezone.make_aware(
- datetime.datetime.now(),
- timezone.get_current_timezone()
- )
-
- # Adding field 'UserProfile.password_changed'
- db.add_column('account_userprofile', 'password_changed',
- self.gf('django.db.models.fields.DateTimeField')(default=pass_chg_default),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'UserProfile.password_changed'
- db.delete_column('account_userprofile', 'password_changed')
-
-
- models = {
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'tags_on_sidebar': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- }
- }
-
- complete_apps = ['account']
diff --git a/account/migrations/0004_auto.py b/account/migrations/0004_auto.py
deleted file mode 100644
index 4913ced7..00000000
--- a/account/migrations/0004_auto.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- depends_on = (
- ("cred", "0006_auto__del_category__add_tag__chg_field_cred_category"),
- )
-
- def forwards(self, orm):
- # Adding M2M table for field favourite_tags on 'UserProfile'
- db.create_table('account_userprofile_favourite_tags', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('userprofile', models.ForeignKey(orm['account.userprofile'], null=False)),
- ('tag', models.ForeignKey(orm['cred.tag'], null=False))
- ))
- db.create_unique('account_userprofile_favourite_tags', ['userprofile_id', 'tag_id'])
-
-
- def backwards(self, orm):
- # Removing M2M table for field favourite_tags on 'UserProfile'
- db.delete_table('account_userprofile_favourite_tags')
-
-
- models = {
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['cred.Tag']", 'symmetrical': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'tags_on_sidebar': ('django.db.models.fields.IntegerField', [], {'default': '5'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
diff --git a/account/migrations/0005_auto__del_field_userprofile_tags_on_sidebar.py b/account/migrations/0005_auto__del_field_userprofile_tags_on_sidebar.py
deleted file mode 100644
index b76869b7..00000000
--- a/account/migrations/0005_auto__del_field_userprofile_tags_on_sidebar.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# -*- coding: 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):
- # Deleting field 'UserProfile.tags_on_sidebar'
- db.delete_column('account_userprofile', 'tags_on_sidebar')
-
-
- def backwards(self, orm):
- # Adding field 'UserProfile.tags_on_sidebar'
- db.add_column('account_userprofile', 'tags_on_sidebar',
- self.gf('django.db.models.fields.IntegerField')(default=5),
- keep_default=False)
-
-
- models = {
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['cred.Tag']", 'symmetrical': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
\ No newline at end of file
diff --git a/account/migrations/0006_auto__add_apikey.py b/account/migrations/0006_auto__add_apikey.py
deleted file mode 100644
index ad067c55..00000000
--- a/account/migrations/0006_auto__add_apikey.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- depends_on = (
- ('tastypie', '0002_add_apikey_index'),
- )
-
- def forwards(self, orm):
- # Adding model 'ApiKey'
- db.create_table('account_apikey', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('user', self.gf('django.db.models.fields.related.OneToOneField')(related_name='rattic_api_key', unique=True, to=orm['auth.User'])),
- ('key', self.gf('django.db.models.fields.CharField')(default='', max_length=128, db_index=True, blank=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=128)),
- ('active', self.gf('django.db.models.fields.BooleanField')(default=True)),
- ('created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
- ))
- db.send_create_signal('account', ['ApiKey'])
-
-
- def backwards(self, orm):
- # Deleting model 'ApiKey'
- db.delete_table('account_apikey')
-
-
- models = {
- 'account.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'rattic_api_key'", 'unique': 'True', 'to': "orm['auth.User']"})
- },
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['cred.Tag']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
diff --git a/account/migrations/0007_auto__chg_field_apikey_user__del_unique_apikey_user.py b/account/migrations/0007_auto__chg_field_apikey_user__del_unique_apikey_user.py
deleted file mode 100644
index 27295308..00000000
--- a/account/migrations/0007_auto__chg_field_apikey_user__del_unique_apikey_user.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# -*- coding: 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 'ApiKey', fields ['user']
- db.delete_unique('account_apikey', ['user_id'])
-
-
- # Changing field 'ApiKey.user'
- db.alter_column('account_apikey', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User']))
-
- def backwards(self, orm):
-
- # Changing field 'ApiKey.user'
- db.alter_column('account_apikey', 'user_id', self.gf('django.db.models.fields.related.OneToOneField')(unique=True, to=orm['auth.User']))
- # Adding unique constraint on 'ApiKey', fields ['user']
- db.create_unique('account_apikey', ['user_id'])
-
-
- models = {
- 'account.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rattic_api_key'", 'to': "orm['auth.User']"})
- },
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['cred.Tag']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
\ No newline at end of file
diff --git a/account/migrations/0008_migrate_api_keys.py b/account/migrations/0008_migrate_api_keys.py
deleted file mode 100644
index 7933801a..00000000
--- a/account/migrations/0008_migrate_api_keys.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# -*- coding: 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):
- "Write your forwards methods here."
- # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
- for key in orm['tastypie.ApiKey'].objects.all():
- newkey = orm['account.ApiKey']()
- newkey.user = key.user
- newkey.name = 'migrated-key'
- newkey.key = key.key
- newkey.save()
-
- def backwards(self, orm):
- "Write your backwards methods here."
- for user in orm['auth.user'].objects.all():
- try:
- # Delete old keys
- for key in orm['tastypie.ApiKey'].objects.filter(user=user):
- key.delete()
-
- # Copy one key back
- oldkey = orm['account.ApiKey'].objects.filter(user=user)[0]
- newkey = orm['tastypie.ApiKey']()
- newkey.key = oldkey.key
- newkey.user = oldkey.user
- newkey.save()
-
- # Delete old keys
- for key in orm['account.ApiKey'].objects.filter(user=user):
- key.delete()
- except IndexError:
- pass
-
- models = {
- 'account.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rattic_api_key'", 'to': "orm['auth.User']"})
- },
- 'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['cred.Tag']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
- },
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- },
- 'tastypie.apiaccess': {
- 'Meta': {'object_name': 'ApiAccess'},
- 'accessed': ('django.db.models.fields.PositiveIntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'identifier': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
- 'request_method': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
- 'url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'})
- },
- 'tastypie.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2014, 1, 15, 0, 0)'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'db_index': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'api_key'", 'unique': 'True', 'to': "orm['auth.User']"})
- }
- }
-
- complete_apps = ['tastypie', 'account']
- symmetrical = True
diff --git a/account/migrations/0009_auto__add_field_apikey_expires.py b/account/migrations/0009_auto__add_field_apikey_expires.py
deleted file mode 100644
index c3d080de..00000000
--- a/account/migrations/0009_auto__add_field_apikey_expires.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding field 'ApiKey.expires'
- db.add_column(u'account_apikey', 'expires',
- self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'ApiKey.expires'
- db.delete_column(u'account_apikey', 'expires')
-
-
- models = {
- u'account.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'expires': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rattic_api_key'", 'to': u"orm['auth.User']"})
- },
- u'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['cred.Tag']", 'symmetrical': 'False', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'unique': 'True'})
- },
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
\ No newline at end of file
diff --git a/account/migrations/0010_set_expiry_for_existing_keys.py b/account/migrations/0010_set_expiry_for_existing_keys.py
deleted file mode 100644
index 059e1dba..00000000
--- a/account/migrations/0010_set_expiry_for_existing_keys.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-
- def forwards(self, orm):
- "Write your forwards methods here."
- # Note: Don't use "from appname.models import ModelName".
- # Use orm.ModelName to refer to models in this application,
- # and orm['appname.ModelName'] for models in other applications.
- for key in orm.ApiKey.objects.all():
- key.expires = key.created
- key.save()
-
- def backwards(self, orm):
- "Write your backwards methods here."
-
- models = {
- u'account.apikey': {
- 'Meta': {'object_name': 'ApiKey'},
- 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'expires': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128', 'db_index': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rattic_api_key'", 'to': u"orm['auth.User']"})
- },
- u'account.userprofile': {
- 'Meta': {'object_name': 'UserProfile'},
- 'favourite_tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['cred.Tag']", 'symmetrical': 'False', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'items_per_page': ('django.db.models.fields.IntegerField', [], {'default': '25'}),
- 'password_changed': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'unique': 'True'})
- },
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['account']
- symmetrical = True
diff --git a/conf/locale/fr/LC_MESSAGES/django.po b/conf/locale/fr/LC_MESSAGES/django.po
index 0596ba5e..6a6751f0 100644
--- a/conf/locale/fr/LC_MESSAGES/django.po
+++ b/conf/locale/fr/LC_MESSAGES/django.po
@@ -6,13 +6,14 @@
# Daniel Hall , 2014
# bato , 2014-2015
# Yvan GODARD , 2015
+# DjMomo , 2016
msgid ""
msgstr ""
"Project-Id-Version: RatticDB\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-17 09:20+1000\n"
-"PO-Revision-Date: 2015-02-15 16:00+0000\n"
-"Last-Translator: Yvan GODARD \n"
+"PO-Revision-Date: 2016-03-18 12:00+0000\n"
+"Last-Translator: DjMomo \n"
"Language-Team: French (http://www.transifex.com/projects/p/ratticdb/language/"
"fr/)\n"
"Language: fr\n"
@@ -31,12 +32,11 @@ msgstr "Mot de passe incorrect"
#: account/models.py:56
msgid "Items per page"
-msgstr ""
+msgstr "Items par page"
#: account/models.py:57
-#, fuzzy
msgid "Favourite tags"
-msgstr "Ajouter vos tags favoris dans votre "
+msgstr "Ajoutez vos tags favoris dans votre "
#: account/templates/account_changepass.html:4
#: account/templates/password_reset_confirm.html:4
@@ -46,12 +46,12 @@ msgstr "Enregistrer nouveau mot de passe"
#: account/templates/account_changepass.html:7
#: account/templates/password_reset_confirm.html:8
msgid "Please enter your new password twice."
-msgstr "Veuillez entre votre nouveau mot de passe deux fois"
+msgstr "Veuillez saisir votre nouveau mot de passe deux fois."
#: account/templates/account_changepass.html:8
#: account/templates/password_reset_confirm.html:9
msgid "So we can verify you typed it in correctly."
-msgstr "Pour vérifier la saisie."
+msgstr "Ainsi nous pouvons nous assurer qu'il a été correctement saisi."
#: account/templates/account_changepass.html:21
msgid "Change Password"
@@ -119,7 +119,7 @@ msgstr "Plus d'infos"
#: account/templates/account_viewapikey.html:4
#: account/templates/account_viewapikey.html:7
msgid "New API Key"
-msgstr "Nouvelle Clé API"
+msgstr "Nouvelle clé API"
#: account/templates/account_newapikey.html:20
#: cred/templates/cred_part_newtagmodal.html:13
@@ -148,7 +148,7 @@ msgstr "Authentification à double facteur"
#: account/templates/account_profile.html:15
msgid "Enabled"
-msgstr "Activé"
+msgstr "Activée"
#: account/templates/account_profile.html:15
#: account/templates/account_tfa_disable.html:12
@@ -157,7 +157,7 @@ msgstr "Désactiver"
#: account/templates/account_profile.html:16
msgid "Backup Codes Left"
-msgstr "Codes de sauvegarde perdus."
+msgstr "Codes de sauvegarde perdus"
#: account/templates/account_profile.html:17
msgid "View Codes"
@@ -173,7 +173,7 @@ msgstr "Activer maintenant"
#: account/templates/account_profile.html:24
msgid "Last Password Change"
-msgstr "Mot de passe modifié le"
+msgstr "Dernière modification du mot de passe"
#: account/templates/account_profile.html:25 cred/models.py:85
#: ratticweb/templates/sidebar.html:18
@@ -187,7 +187,7 @@ msgstr "Enregistrer les modifications"
#: account/templates/account_profile.html:35
msgid "Change password"
-msgstr "Modifier mot de passe"
+msgstr "Modifier le mot de passe"
#: account/templates/account_profile.html:37
msgid "Set Password"
@@ -207,7 +207,7 @@ msgstr "Date de création"
#: account/templates/account_profile.html:53
msgid "Expiry date"
-msgstr ""
+msgstr "Date d'expiration"
#: account/templates/account_profile.html:73
msgid "No API Keys available yet"
@@ -245,22 +245,20 @@ msgid ""
" can generate a new set of backup tokens. Only the backup tokens shown\n"
" below will be valid."
msgstr ""
-"Les jetons de secours peuvent être utilisés lorsque vos numéros de "
-"téléphone\n"
-"principal et de secours ne sont pas disponibles. Les jetons de secours ci-"
-"dessous\n"
-"peuvent être utilisés pour la vérification de connexion. Si vous avez "
-"utilisé tous vos jetons\n"
-"de secours, vous pouvez générer une nouvelle série de jetons de secours.\n"
-"Seuls les jetons de secours ci-dessous seront valables."
+"Les jetons de secours peuvent être utilisés lorsque vos numéros de téléphone\n"
+" principal et secours ne sont pas disponibles. Les jetons de secours\n"
+" ci-dessous peuvent être utilisés pour la vérification de connexion.\n"
+" Si vous avez utilisé tous vos jetons de secours, vous pouvez générer\n"
+" une nouvelle série de jetons de secours. Seuls les jetons de secours\n"
+" ci-dessous seront valables."
#: account/templates/account_tfa_backup_tokens.html:18
msgid "Print these tokens and keep them somewhere safe."
-msgstr "Imprimez ces jetons et gardez les à l'abris."
+msgstr "Imprimez ces jetons et conservez-les dans un endroit sûr."
#: account/templates/account_tfa_backup_tokens.html:20
msgid "You don't have any backup codes yet."
-msgstr "Vous n'avez encore aucun code de backup."
+msgstr "Vous n'avez pas de code de secours."
#: account/templates/account_tfa_backup_tokens.html:25
msgid "Back to Account Profile"
@@ -268,7 +266,7 @@ msgstr "Retour au Profil"
#: account/templates/account_tfa_backup_tokens.html:26
msgid "Generate Tokens"
-msgstr "Générer des jetons"
+msgstr "Générer les jetons"
#: account/templates/account_tfa_disable.html:5
msgid "Disable Two-factor Authentication"
@@ -279,8 +277,9 @@ msgid ""
"You are about to disable two-factor authentication. This\n"
" compromises your account security, are you sure?"
msgstr ""
-"Vous être sur le point de désactiver l'authentification double facteur.\n"
-"Êtes-vous certain de vouloir diminuer la sécurité de votre compte ?"
+"Vous être sur le point de désactiver l'authentification\n"
+" double facteur. Cela va conduire à diminuer la sécurité\n"
+" de votre compte, êtes-vous certain de vouloir faire cela ?"
#: account/templates/account_tfa_login.html:5 ratticweb/templates/home.html:16
#: ratticweb/templates/navbar.html:59 ratticweb/templates/sidebar.html:26
@@ -298,8 +297,8 @@ msgid ""
"We are calling your phone right now, please enter the\n"
" digits you hear."
msgstr ""
-"Nous vous appelons maintenant. Merci de saisir\n"
-"les numéros que vous entendez."
+"Nous vous appelons sur votre téléphone maintenant,\n"
+" merci de saisir les numéros que vous entendez."
#: account/templates/account_tfa_login.html:14
#: account/templates/account_tfa_setup.html:31
@@ -307,8 +306,8 @@ msgid ""
"We sent you a text message, please enter the tokens we\n"
" sent."
msgstr ""
-"Un SMS vous a été envoyé. Merci de saisir le code qui\n"
-"vous a été envoyé."
+"Merci de saisir le code qui vient de vous être envoyé\n"
+" par SMS."
#: account/templates/account_tfa_login.html:17
msgid ""
@@ -316,7 +315,7 @@ msgid ""
" generator."
msgstr ""
"Merci de saisir le jeton généré par votre générateur\n"
-"de jeton."
+" de jeton."
#: account/templates/account_tfa_login.html:21
msgid ""
@@ -325,23 +324,23 @@ msgid ""
"Please\n"
" enter one of these backup tokens to login to your account."
msgstr ""
-"Utilisez ce formulaire pour entrer des jetons de secours pour la connexion.\n"
-"Ces jetons ont été générés pour vous puissiez les imprimer et de conserver "
+"Utilisez ce formulaire pour entrer les jetons de secours pour la connexion.\n"
+"Ces jetons ont été générés pour que vous puissiez les imprimer et les conserver "
"en toute sécurité. \n"
"Merci de saisir un de ces jetons de secours pour vous connecter à votre "
"compte."
#: account/templates/account_tfa_login.html:33
msgid "Or, alternatively, use one of your backup phones:"
-msgstr "Ou, sinon, utiliser un des ces téléphones secondaires :"
+msgstr "Ou, sinon, utiliser un des ces téléphones secondaires:"
#: account/templates/account_tfa_login.html:43
msgid "As a last resort, you can use a backup token:"
-msgstr "En dernier recours, vous pouvez utiliser un jeton de secours."
+msgstr "En dernier recours, vous pouvez utiliser un jeton de secours:"
#: account/templates/account_tfa_login.html:46
msgid "Use Backup Token"
-msgstr "Utiliser un jeton de secours"
+msgstr "Utiliser le jeton de secours"
#: account/templates/account_tfa_setup.html:5
msgid "Enable Two-Factor Authentication"
@@ -353,9 +352,9 @@ msgid ""
" next level. Follow the steps in this wizard to enable two-factor\n"
" authentication."
msgstr ""
-"Vous êtes sur le point d'incrémenter la sécurité de\n"
-"votre compte. Suivez les étapes de cet assistant pour activer\n"
-"l'authentification à double facteur."
+"Vous êtes sur le point d'augmenter la sécurité de\n"
+" votre compte. Suivez les étapes de cet assistant pour activer\n"
+" l'authentification à double facteur."
#: account/templates/account_tfa_setup.html:11
msgid ""
@@ -363,7 +362,7 @@ msgid ""
" like to use."
msgstr ""
"Merci de sélectionner la méthode d'authentification\n"
-"que vous souhaitez utiliser."
+" que vous souhaitez utiliser."
#: account/templates/account_tfa_setup.html:14
msgid ""
@@ -373,8 +372,8 @@ msgid ""
" "
msgstr ""
"Pour commencer à utiliser un générateur de jetons, utilisez\n"
-"votre smartphone pour scanner le code QR ci-dessous. Utilisez par \n"
-"exemple Google Authenticator. Ensuite, saisir le jeton généré par "
+" votre smartphone pour scanner le code QR ci-dessous. Utilisez par \n"
+" exemple Google Authenticator. Ensuite, saisir le jeton généré par "
"l'application."
#: account/templates/account_tfa_setup.html:20
@@ -384,7 +383,8 @@ msgid ""
" "
msgstr ""
"Saisir le numéro de téléphone sur lequel vous souhaitez recevoir\n"
-"les messages SMS. Ce numéro sera validé à l'étape suivante."
+" les messages SMS. Ce numéro sera validé à l'étape suivante.\n"
+" "
#: account/templates/account_tfa_setup.html:24
msgid ""
@@ -392,7 +392,8 @@ msgid ""
" This number will be validated in the next step. "
msgstr ""
"Saisir le numéro de téléphone sur lequel vous souhaitez\n"
-"être appelé. Ce numéro sera validé à l'étape suivante."
+" être appelé. Ce numéro sera validé à l'étape suivante.\n"
+" "
#: account/templates/account_viewapikey.html:10
msgid "Warning!"
@@ -404,11 +405,11 @@ msgid ""
"should save it in a safe place now."
msgstr ""
"C'est la dernière fois que vous aurez accès à la clé maître. Vous devriez en "
-"faire une copie et la garder en lieu sûr."
+"faire une copie et la conserver en lieu sûr."
#: account/templates/account_viewapikey.html:14
msgid "Your new API key has been created."
-msgstr "Votre nouvelle clé API a été créée"
+msgstr "Votre nouvelle clé API a été créée."
#: account/templates/account_viewapikey.html:18
msgid "Secret Key"
@@ -420,13 +421,13 @@ msgstr "Retour au Profil"
#: account/templates/password_reset.html:5
msgid "Reset Password"
-msgstr "Réinitialiser mot de passe"
+msgstr "Réinitialiser le mot de passe"
#: account/templates/password_reset.html:8
msgid ""
"Please specify your email address to receive instructions for resetting it."
msgstr ""
-"Veuillez spécifier votre adresse email pour recevoir les instructions "
+"Veuillez renseigner votre adresse email pour recevoir les instructions "
"nécessaires."
#: account/templates/password_reset.html:15
@@ -435,11 +436,11 @@ msgstr "Adresse email"
#: account/templates/password_reset.html:15
msgid "Reset password"
-msgstr "Réinitialiser mot de passe"
+msgstr "Réinitialiser le mot de passe"
#: account/templates/password_reset_complete.html:5
msgid "Password reset complete"
-msgstr "Réinitialisation du mot de passe est complète"
+msgstr "Réinitialisation du mot de passe effectuée"
#: account/templates/password_reset_complete.html:8
msgid "Your password has been set. You may go ahead and log in now."
@@ -448,7 +449,7 @@ msgstr ""
#: account/templates/password_reset_complete.html:9
msgid "Log in"
-msgstr "Connecter"
+msgstr "Se connecter"
#: account/templates/password_reset_confirm.html:17
msgid "New password"
@@ -464,7 +465,7 @@ msgstr "Modifier mon mot de passe"
#: account/templates/password_reset_confirm.html:32
msgid "Password reset unsuccessful"
-msgstr "Réinitialisation du mot de passe a échoué"
+msgstr "La réinitialisation du mot de passe a échoué"
#: account/templates/password_reset_confirm.html:33
msgid ""
@@ -472,11 +473,11 @@ msgid ""
"used. Please request a new password reset."
msgstr ""
"Le lien pour réinitialiser le mot de passe n'est plus valide et a déjà été "
-"utilisé. Veuillez recommencer le la réinitialisation"
+"utilisé. Veuillez recommencer le la réinitialisation."
#: account/templates/password_reset_done.html:5
msgid "Password reset successful"
-msgstr "Réinitialisation du mot de passe a succédé"
+msgstr "La réinitialisation du mot de passe a réussi"
#: account/templates/password_reset_done.html:8
msgid ""
@@ -498,10 +499,10 @@ msgid ""
"Please go to the following page and choose a new password:\n"
msgstr ""
"\n"
-"Vous avez reçu ce message parce que vous voulez réinitialiser votre mot de "
-"passe pour votre compte sur %(site_name)s.\n"
+"Vous avez reçu ce message parce qu'une demande de réinitialisation de votre mot de "
+"passe pour votre compte sur %(site_name)s a été lancée.\n"
"\n"
-"Veuillez visiter la page suivante pour choisir un nouveau mot de passe.\n"
+"Veuillez vous connecter à la page suivante pour choisir un nouveau mot de passe:\n"
#: account/templates/password_reset_email.html:12
#, python-format
@@ -531,18 +532,17 @@ msgstr ""
#: cred/forms.py:33 cred/templates/cred_detail.html:70
#: cred/templates/cred_list.html:67 cred/templates/cred_list.html.py:69
-#, fuzzy
msgid "Owner Group"
-msgstr "Groupe"
+msgstr "Groupe propriétaire"
#: cred/forms.py:34
#, fuzzy
msgid "Viewers Groups"
-msgstr "Groupes"
+msgstr "Groupes en lecture"
#: cred/forms.py:37
msgid "Please enter a valid HTTP/HTTPS URL"
-msgstr "Veuillez entrer une adresse HTTP/HTTPS conforme"
+msgstr "Veuillez saisir une adresse HTTP/HTTPS valide"
#: cred/models.py:78 cred/templates/cred_list.html:53
#: cred/templates/cred_list.html.py:55
@@ -562,7 +562,7 @@ msgstr "Mot de Passe"
#: cred/models.py:82
msgid "Markdown Description"
-msgstr "Description Markdown"
+msgstr "Description au formatMarkdown"
#: cred/models.py:84 staff/templates/staff_changeadvice.html:21
#: staff/templates/staff_groupdetail.html:10
@@ -579,15 +579,15 @@ msgstr "Tags"
#: cred/models.py:87
#, fuzzy
msgid "Icon"
-msgstr "Icones"
+msgstr "Icône"
#: cred/models.py:88
msgid "SSH key"
-msgstr ""
+msgstr "Clé SSH"
#: cred/models.py:89 cred/templates/cred_detail.html:64
msgid "Attachment"
-msgstr "Pièce Jointe"
+msgstr "Pièce jointe"
#: cred/models.py:211
msgid "Added"
@@ -599,7 +599,7 @@ msgstr "Modifié"
#: cred/models.py:213
msgid "Only Metadata Changed"
-msgstr "Seules les métadonnées ont été modifiées."
+msgstr "Seules les métadonnées ont été modifiées"
#: cred/models.py:214
msgid "Only Details Viewed"
@@ -628,7 +628,7 @@ msgstr "Tous les mots de passe"
#: cred/views.py:108
#, python-format
msgid "Passwords tagged with %(tagname)s"
-msgstr "Mots de passe baliśes avec %(tagname)s"
+msgstr "Mots de passe taggués avec %(tagname)s"
#: cred/views.py:112
#, python-format
@@ -658,7 +658,7 @@ msgstr ""
#: cred/views.py:131
#, python-format
msgid "Changes required for \"%(username)s\""
-msgstr "Modifications nécessaires pour \"%(username)s\""
+msgstr "Modifications requises pour \"%(username)s\""
#: cred/views.py:142
msgid "Passwords in the trash"
@@ -681,7 +681,7 @@ msgid ""
"You are about to delete this password. A staff member will be required if "
"you want to undelete it."
msgstr ""
-"Vous êtes sur le point de supprimer un mot de passe. Un administrateur sera "
+"Vous êtes sur le point de supprimer ce mot de passe. Un administrateur sera "
"nécessaire pour le restaurer."
#: cred/templates/cred_detail.html:19
@@ -694,8 +694,8 @@ msgid ""
msgstr ""
"Cet identifiant a été supprimé et placé dans la corbeille. Seuls les "
"administrateurs y ont accès. Vous pouvez le modifier à votre guise et "
-"l'historique sera conservé. Cliquez sur \"restaurer\" pour annuler la "
-"suppression. Le mot de passe, son historique et tout l'historique seront "
+"l'historique sera conservé. Cliquez sur le bouton \"restaurer\" pour annuler la "
+"suppression. Le mot de passe, son historique et tous les logs seront "
"effacés si vous cliquez sur \"Supprimer définitivement\"."
#: cred/templates/cred_detail.html:22
@@ -716,7 +716,7 @@ msgstr "pour voir la dernière version."
#: cred/templates/cred_detail.html:25
msgid "Change Required"
-msgstr "Modification nécessaire"
+msgstr "Modification requise"
#: cred/templates/cred_detail.html:25
msgid ""
@@ -779,12 +779,11 @@ msgstr "Télécharger"
#: cred/templates/cred_detail.html:67
msgid "SSH Key"
-msgstr ""
+msgstr "Clé SSH"
#: cred/templates/cred_detail.html:71 cred/templates/cred_list.html:73
-#, fuzzy
msgid "Viewer Groups"
-msgstr "Supprimer le groupe"
+msgstr "Groupe en lecture seule"
#: cred/templates/cred_detail.html:81
msgid "Last Changed"
@@ -862,7 +861,7 @@ msgstr "Exporter"
#: cred/templates/cred_part_logomodal.html:14
msgid "Icons"
-msgstr "Icones"
+msgstr "Icônes"
#: cred/templates/cred_part_logomodal.html:24
msgid "Close"
@@ -914,7 +913,7 @@ msgstr "espaces"
#: cred/templates/cred_part_passgenmodal.html:36
msgid "Password Length"
-msgstr "Longueur du Mot de passe"
+msgstr "Longueur du mot de passe"
#: cred/templates/cred_part_passgenmodal.html:39
msgid "Cancel"
@@ -922,7 +921,7 @@ msgstr "Annuler"
#: cred/templates/cred_part_passgenmodal.html:40
msgid "Generate"
-msgstr "Générer "
+msgstr "Générer"
#: cred/templates/cred_search.html:9
msgid "Type your Query"
@@ -939,7 +938,7 @@ msgstr "Supprimer tag"
#: cred/templates/cred_taglist.html:9
msgid "Count"
-msgstr "Compte"
+msgstr "Nombre"
#: cred/templates/cred_taglist.html:9
#: staff/templates/staff_import_overview.html:10
@@ -988,7 +987,7 @@ msgstr "Allemand"
#: ratticweb/settings.py:60
msgid "Italian"
-msgstr ""
+msgstr "Italien"
#: ratticweb/templates/404.html:6
msgid "Page not found"
@@ -1000,7 +999,7 @@ msgid ""
"if you believe you have recieved this in error."
msgstr ""
"Ce n'est pas la page que vous cherchez. Contactez votre administrateur "
-"système si vous pensez avoir reçu ceci par error."
+"système si vous pensez avoir reçu ceci par erreur."
#: ratticweb/templates/500.html:6
msgid "Something went Splork!"
@@ -1043,11 +1042,11 @@ msgstr "et"
#: ratticweb/templates/base.html:51
msgid "Report an issue"
-msgstr "Soummettre un problème"
+msgstr "Soumettre un problème"
#: ratticweb/templates/base.html:51
msgid "Contact Us"
-msgstr "Nous Contacter"
+msgstr "Nous contacter"
#: ratticweb/templates/home.html:9
msgid "Your username and password didn't match. Please try again."
@@ -1111,7 +1110,7 @@ msgstr "Profil"
#: ratticweb/templates/sidebar.html:15
msgid "Add Favourite Tags on the "
-msgstr "Ajouter vos tags favoris dans votre "
+msgstr "Ajoutez vos tags favoris dans votre "
#: ratticweb/templates/sidebar.html:16
msgid "profile"
@@ -1131,7 +1130,7 @@ msgstr "Mot de passe oublié ?"
#: ratticweb/templates/sidebar.html:36
msgid "Google Sign-in"
-msgstr "Google Sign-in"
+msgstr "Connnexion Google"
#: staff/models.py:47
msgid "Passwords do not match"
@@ -1155,17 +1154,17 @@ msgstr "Consulter l'historique pour le mot de passe '%(cred_title)s'"
#: staff/templates/staff_audit.html:13
#, python-format
msgid "Audit Logs for user '%(username)s'"
-msgstr "Consulter l'historique pour l'utilisateur '%(username)s'"
+msgstr "Consulter les logs de l'utilisateur '%(username)s'"
#: staff/templates/staff_audit.html:16
#, python-format
msgid "Audit Logs going back %(item)s days ago"
-msgstr "Voir l'historique pour les %(item)s derniers jours"
+msgstr "Voir l'historique des %(item)s derniers jours"
#: staff/templates/staff_changeadvice.html:6
#, python-format
msgid "Changes for user: %(username)s"
-msgstr "Modifications pour l'utilisateur : %(username)s"
+msgstr "Modifications pour l'utilisateur: %(username)s"
#: staff/templates/staff_changeadvice.html:7
msgid ""
@@ -1177,7 +1176,7 @@ msgid ""
"of the passwords, simply uncheck them first."
msgstr ""
"Vous être en train de désactiver un compte, ou supprimer des groupes\n"
-"d'un utilisateur. RatticDB a analysé l'historique pour vous assister. Voici "
+"d'un utilisateur. RatticDB a analysé les historiques pour vous assister. Voici "
"la liste\n"
"des mots de passe que cet utilisateur connaît et dont l'accès a été "
"supprimé. \n"
@@ -1222,11 +1221,11 @@ msgstr "Gestion des utilisateurs"
#: staff/templates/staff_home.html:12
msgid "Add User"
-msgstr "Ajouter Utilisateur"
+msgstr "Ajouter un utilisateur"
#: staff/templates/staff_home.html:16
msgid "Add Group"
-msgstr "Ajouter Groupe"
+msgstr "Ajouter un groupe"
#: staff/templates/staff_home.html:18
msgid "Import Keepass"
@@ -1274,7 +1273,7 @@ msgid ""
"seperate group, then adjust the group on each password as required."
msgstr ""
"Il est recommandé d'importer vos données Keepass dans un groupe \n"
-"distinct, et de définir le groupe sur chaque mot de passe au besoin."
+"distinct, et de définir le groupe pour chaque mot de passe au besoin."
#: staff/templates/staff_userdetail.html:8
msgid ""
@@ -1285,9 +1284,9 @@ msgid ""
" "
msgstr ""
"\n"
-"Supprimer cet utilisateur effacera les journaux d'historique. Peut être "
-"devriez-vous\n"
-"désactiver leur compte?"
+"Supprimer cet utilisateur effacera les logs. Peut être "
+"devriez-vous plutôt \n"
+"désactiver son compte?"
#: staff/templates/staff_userdetail.html:19
msgid "Confirm Delete"
diff --git a/cred/api.py b/cred/api.py
index dde0ffdd..03b40bdb 100644
--- a/cred/api.py
+++ b/cred/api.py
@@ -5,7 +5,7 @@
from tastypie import fields, http
from tastypie.authentication import SessionAuthentication, MultiAuthentication
from tastypie.validation import FormValidation
-from tastypie.resources import ModelResource
+from tastypie.resources import ModelResource, ALL_WITH_RELATIONS
from tastypie.authorization import Authorization
from tastypie.exceptions import Unauthorized
@@ -13,6 +13,7 @@
from cred.models import Cred, Tag, CredAudit
from cred.forms import TagForm
from cred.ssh_key import SSHKey
+from staff.api import GroupResource
import paramiko
@@ -27,8 +28,11 @@ def read_detail(self, object_list, bundle):
if not bundle.obj.is_visible_by(bundle.request.user):
return False
- # This audit should go somewhere else, is there a detail list function we can override?
- CredAudit(audittype=CredAudit.CREDPASSVIEW, cred=bundle.obj, user=bundle.request.user).save()
+ # This audit should go somewhere else,
+ # is there a detail list function we can override?
+ CredAudit(
+ audittype=CredAudit.CREDPASSVIEW, cred=bundle.obj,
+ user=bundle.request.user).save()
return True
def create_list(self, object_list, bundle):
@@ -36,7 +40,8 @@ def create_list(self, object_list, bundle):
raise Unauthorized("Not yet implemented.")
def create_detail(self, object_list, bundle):
- raise Unauthorized("Not yet implemented.")
+ return bundle.request.user.groups.filter(
+ name=bundle.obj.group).exists()
def update_list(self, object_list, bundle):
raise Unauthorized("Not yet implemented.")
@@ -46,7 +51,9 @@ def update_detail(self, object_list, bundle):
if not bundle.obj.is_owned_by(bundle.request.user):
return False
- CredAudit(audittype=CredAudit.CREDCHANGE, cred=bundle.obj, user=bundle.request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDCHANGE, cred=bundle.obj,
+ user=bundle.request.user).save()
return True
def delete_list(self, object_list, bundle):
@@ -54,7 +61,14 @@ def delete_list(self, object_list, bundle):
raise Unauthorized("Not yet implemented.")
def delete_detail(self, object_list, bundle):
- raise Unauthorized("Not yet implemented.")
+ # Check user has perms
+ if not bundle.obj.is_owned_by(bundle.request.user):
+ return False
+
+ CredAudit(
+ audittype=CredAudit.CREDDELETE, cred=bundle.obj,
+ user=bundle.request.user).save()
+ return True
class TagAuthorization(Authorization):
@@ -86,18 +100,21 @@ def delete_detail(self, object_list, bundle):
class CredResource(ModelResource):
+
+ group = fields.ForeignKey(GroupResource, 'group', full=True)
+
def get_object_list(self, request):
# Only show latest, not deleted and accessible credentials
- return Cred.objects.visible(request.user, historical=True, deleted=True)
+ return Cred.objects.visible(
+ request.user, historical=True, deleted=True)
def dehydrate(self, bundle):
- # Workaround for this tastypie issue:
- # https://github.com/toastdriven/django-tastypie/issues/201
- bundle.data['username'] = bundle.obj.username
-
# Add a value indicating if something is on the change queue
bundle.data['on_changeq'] = bundle.obj.on_changeq()
+ # Only display group name, not full object
+ bundle.data['group'] = bundle.obj.group
+
# Unless you are viewing the details for a cred, hide the password
if self.get_resource_uri(bundle) != bundle.request.path:
del bundle.data['password']
@@ -110,6 +127,14 @@ def dehydrate(self, bundle):
return bundle
+ def obj_create(self, bundle, **kwargs):
+ bundle = super(CredResource, self).obj_create(bundle, **kwargs)
+
+ CredAudit(
+ audittype=CredAudit.CREDADD, cred=bundle.obj,
+ user=bundle.request.user).save()
+ return bundle
+
def post_detail(self, request, **kwargs):
if 'ssh_key' not in request.FILES:
res = HttpResponse("Please upload an ssh_key file")
@@ -119,11 +144,13 @@ def post_detail(self, request, **kwargs):
basic_bundle = self.build_bundle(request=request)
try:
- obj = self.cached_obj_get(bundle=basic_bundle, **self.remove_api_resource_names(kwargs))
+ obj = self.cached_obj_get(
+ bundle=basic_bundle, **self.remove_api_resource_names(kwargs))
except ObjectDoesNotExist:
return http.HttpNotFound()
except MultipleObjectsReturned:
- return http.HttpMultipleChoices("More than one resource is found at this URI.")
+ return http.HttpMultipleChoices(
+ "More than one resource is found at this URI.")
ssh_key = request.FILES['ssh_key']
got = ssh_key.read()
@@ -144,25 +171,32 @@ def post_detail(self, request, **kwargs):
bundle = self.build_bundle(obj=obj, request=request)
bundle = self.full_dehydrate(bundle)
bundle = self.alter_detail_data_to_serialize(request, bundle)
- return self.create_response(request, bundle, response_class=http.HttpAccepted)
+ return self.create_response(
+ request, bundle, response_class=http.HttpAccepted)
class Meta:
queryset = Cred.objects.filter(is_deleted=False, latest=None)
always_return_data = True
resource_name = 'cred'
- excludes = ['username', 'is_deleted', 'attachment']
- authentication = MultiAuthentication(SessionAuthentication(), MultiApiKeyAuthentication())
+ excludes = ['is_deleted', 'attachment']
+ authentication = MultiAuthentication(
+ SessionAuthentication(), MultiApiKeyAuthentication())
authorization = CredAuthorization()
filtering = {
'title': ('exact', 'contains', 'icontains'),
+ 'slug': ('exact', 'contains', 'icontains', 'startswith'),
'url': ('exact', 'startswith', ),
+ 'group': ALL_WITH_RELATIONS,
}
class TagResource(ModelResource):
- # When showing a tag, show all the creds under it, that we are allowed to see
- creds = fields.ToManyField(CredResource,
- attribute=lambda bundle: Cred.objects.visible(bundle.request.user).filter(tags=bundle.obj),
+ # When showing a tag, show all the creds under it,
+ # that we are allowed to see
+ creds = fields.ToManyField(
+ CredResource,
+ attribute=lambda bundle: Cred.objects.visible(
+ bundle.request.user).filter(tags=bundle.obj),
null=True,
)
@@ -170,9 +204,12 @@ class Meta:
queryset = Tag.objects.all()
always_return_data = True
filtering = {
- 'name': ('exact', 'contains', 'icontains', 'startswith', 'istartswith'),
+ 'name': (
+ 'exact', 'contains', 'icontains',
+ 'startswith', 'istartswith'),
}
resource_name = 'tag'
- authentication = MultiAuthentication(SessionAuthentication(), MultiApiKeyAuthentication())
+ authentication = MultiAuthentication(
+ SessionAuthentication(), MultiApiKeyAuthentication())
authorization = TagAuthorization()
validation = FormValidation(form_class=TagForm)
diff --git a/cred/migrations/0001_initial.py b/cred/migrations/0001_initial.py
index a3b854c0..0fa36081 100644
--- a/cred/migrations/0001_initial.py
+++ b/cred/migrations/0001_initial.py
@@ -1,60 +1,86 @@
# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
+from __future__ import unicode_literals
+from django.db import models, migrations
+import cred.fields
+from django.conf import settings
+import cred.storage
-class Migration(SchemaMigration):
- def forwards(self, orm):
- # Adding model 'Cred'
- db.create_table('cred_cred', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('title', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('username', self.gf('django.db.models.fields.CharField')(max_length=250, null=True, blank=True)),
- ('password', self.gf('django.db.models.fields.CharField')(max_length=250)),
- ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.Group'])),
- ))
- db.send_create_signal('cred', ['Cred'])
+class Migration(migrations.Migration):
+ dependencies = [
+ ('auth', '0001_initial'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
- def backwards(self, orm):
- # Deleting model 'Cred'
- db.delete_table('cred_cred')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
+ operations = [
+ migrations.CreateModel(
+ name='Cred',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('title', models.CharField(max_length=64, db_index=True)),
+ ('url', models.URLField(db_index=True, null=True, blank=True)),
+ ('username', models.CharField(db_index=True, max_length=250, null=True, blank=True)),
+ ('password', models.CharField(max_length=250, null=True, blank=True)),
+ ('descriptionmarkdown', models.BooleanField(default=False, verbose_name='Markdown Description')),
+ ('description', models.TextField(null=True, blank=True)),
+ ('iconname', models.CharField(default=b'Key.png', max_length=64, verbose_name=b'Icon')),
+ ('ssh_key', cred.fields.SizedFileField(storage=cred.storage.CredAttachmentStorage(), null=True, upload_to=b'not required', blank=True)),
+ ('attachment', cred.fields.SizedFileField(storage=cred.storage.CredAttachmentStorage(), null=True, upload_to=b'not required', blank=True)),
+ ('is_deleted', models.BooleanField(default=False, db_index=True)),
+ ('modified', models.DateTimeField(db_index=True)),
+ ('created', models.DateTimeField(auto_now_add=True)),
+ ('ssh_key_name', models.CharField(max_length=64, null=True, blank=True)),
+ ('attachment_name', models.CharField(max_length=64, null=True, blank=True)),
+ ('group', models.ForeignKey(to='auth.Group')),
+ ('groups', models.ManyToManyField(default=None, related_name='child_creds', null=True, to='auth.Group', blank=True)),
+ ('latest', models.ForeignKey(related_name='history', blank=True, to='cred.Cred', null=True)),
+ ],
+ options={
+ },
+ bases=(models.Model,),
+ ),
+ migrations.CreateModel(
+ name='CredAudit',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('audittype', models.CharField(max_length=1, choices=[(b'A', 'Added'), (b'C', 'Changed'), (b'M', 'Only Metadata Changed'), (b'V', 'Only Details Viewed'), (b'X', 'Exported'), (b'D', 'Deleted'), (b'S', 'Scheduled For Change'), (b'P', 'Password Viewed')])),
+ ('time', models.DateTimeField(auto_now_add=True)),
+ ('cred', models.ForeignKey(related_name='logs', to='cred.Cred')),
+ ('user', models.ForeignKey(related_name='credlogs', to=settings.AUTH_USER_MODEL)),
+ ],
+ options={
+ 'ordering': ('-time',),
+ 'get_latest_by': 'time',
+ },
+ bases=(models.Model,),
+ ),
+ migrations.CreateModel(
+ name='CredChangeQ',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('time', models.DateTimeField(auto_now_add=True)),
+ ('cred', models.ForeignKey(to='cred.Cred', unique=True)),
+ ],
+ options={
+ },
+ bases=(models.Model,),
+ ),
+ migrations.CreateModel(
+ name='Tag',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('name', models.CharField(unique=True, max_length=64)),
+ ],
+ options={
+ },
+ bases=(models.Model,),
+ ),
+ migrations.AddField(
+ model_name='cred',
+ name='tags',
+ field=models.ManyToManyField(default=None, related_name='child_creds', null=True, to='cred.Tag', blank=True),
+ preserve_default=True,
+ ),
+ ]
diff --git a/cred/migrations/0002_auto_20160707_0102.py b/cred/migrations/0002_auto_20160707_0102.py
new file mode 100644
index 00000000..241c2c26
--- /dev/null
+++ b/cred/migrations/0002_auto_20160707_0102.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import cred.fields
+import cred.storage
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('cred', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='cred',
+ name='slug',
+ field=models.CharField(db_index=True, max_length=64, null=True, verbose_name='Slug', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='attachment',
+ field=cred.fields.SizedFileField(storage=cred.storage.CredAttachmentStorage(), upload_to=b'not required', null=True, verbose_name='Attachment', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='description',
+ field=models.TextField(null=True, verbose_name='Description', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='group',
+ field=models.ForeignKey(verbose_name='Group', to='auth.Group'),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='groups',
+ field=models.ManyToManyField(related_name='child_creds', default=None, to='auth.Group', blank=True, null=True, verbose_name='Groups'),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='password',
+ field=models.CharField(max_length=250, null=True, verbose_name='Password', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='ssh_key',
+ field=cred.fields.SizedFileField(storage=cred.storage.CredAttachmentStorage(), upload_to=b'not required', null=True, verbose_name='SSH key', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='tags',
+ field=models.ManyToManyField(related_name='child_creds', default=None, to='cred.Tag', blank=True, null=True, verbose_name='Tags'),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='title',
+ field=models.CharField(max_length=64, verbose_name='Title', db_index=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='url',
+ field=models.URLField(db_index=True, null=True, verbose_name='URL', blank=True),
+ preserve_default=True,
+ ),
+ migrations.AlterField(
+ model_name='cred',
+ name='username',
+ field=models.CharField(db_index=True, max_length=250, null=True, verbose_name='Username', blank=True),
+ preserve_default=True,
+ ),
+ ]
diff --git a/cred/migrations/0002_auto__add_credaudit.py b/cred/migrations/0002_auto__add_credaudit.py
deleted file mode 100644
index a103f065..00000000
--- a/cred/migrations/0002_auto__add_credaudit.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# -*- coding: 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 'CredAudit'
- db.create_table('cred_credaudit', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('audittype', self.gf('django.db.models.fields.CharField')(max_length=1)),
- ('cred', self.gf('django.db.models.fields.related.ForeignKey')(related_name='logs', to=orm['cred.Cred'])),
- ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='credlogs', to=orm['auth.User'])),
- ('time', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ))
- db.send_create_signal('cred', ['CredAudit'])
-
-
- def backwards(self, orm):
- # Deleting model 'CredAudit'
- db.delete_table('cred_credaudit')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0003_auto__add_category.py b/cred/migrations/0003_auto__add_category.py
deleted file mode 100644
index bb401278..00000000
--- a/cred/migrations/0003_auto__add_category.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# -*- coding: 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 'Category'
- db.create_table('cred_category', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('parent', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='child', null=True, to=orm['cred.Category'])),
- ))
- db.send_create_signal('cred', ['Category'])
-
-
- def backwards(self, orm):
- # Deleting model 'Category'
- db.delete_table('cred_category')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.category': {
- 'Meta': {'object_name': 'Category'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'child'", 'null': 'True', 'to': "orm['cred.Category']"})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0004_auto__add_field_cred_category.py b/cred/migrations/0004_auto__add_field_cred_category.py
deleted file mode 100644
index 6a1004e2..00000000
--- a/cred/migrations/0004_auto__add_field_cred_category.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# -*- coding: 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 field 'Cred.category'
- db.add_column('cred_cred', 'category',
- self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['cred.Category'], null=True, blank=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.category'
- db.delete_column('cred_cred', 'category_id')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.category': {
- 'Meta': {'object_name': 'Category'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'child'", 'null': 'True', 'to': "orm['cred.Category']"})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cred.Category']", 'null': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0005_auto__del_field_category_parent.py b/cred/migrations/0005_auto__del_field_category_parent.py
deleted file mode 100644
index 6e76b24e..00000000
--- a/cred/migrations/0005_auto__del_field_category_parent.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# -*- coding: 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):
- # Deleting field 'Category.parent'
- db.delete_column('cred_category', 'parent_id')
-
-
- def backwards(self, orm):
- # Adding field 'Category.parent'
- db.add_column('cred_category', 'parent',
- self.gf('django.db.models.fields.related.ForeignKey')(related_name='child', null=True, to=orm['cred.Category'], blank=True),
- keep_default=False)
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.category': {
- 'Meta': {'object_name': 'Category'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cred.Category']", 'null': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0006_auto__del_category__add_tag__chg_field_cred_category.py b/cred/migrations/0006_auto__del_category__add_tag__chg_field_cred_category.py
deleted file mode 100644
index ef4bde0c..00000000
--- a/cred/migrations/0006_auto__del_category__add_tag__chg_field_cred_category.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*- coding: 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):
- # Rename table
- db.rename_table('cred_category', 'cred_tag')
- db.send_create_signal('cred', ['Tag'])
-
- # Changing field 'Cred.category'
- db.alter_column('cred_cred', 'category_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cred.Tag'], null=True))
-
- def backwards(self, orm):
- # Rename table
- db.rename_table('cred_tag', 'cred_category')
- db.send_create_signal('cred', ['Category'])
-
- # Changing field 'Cred.category'
- db.alter_column('cred_cred', 'category_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cred.Category'], null=True))
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cred.Tag']", 'null': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0007_auto__add_credchangeq.py b/cred/migrations/0007_auto__add_credchangeq.py
deleted file mode 100644
index 42f07c82..00000000
--- a/cred/migrations/0007_auto__add_credchangeq.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: 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 'CredChangeQ'
- db.create_table('cred_credchangeq', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('cred', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cred.Cred'])),
- ('time', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
- ))
- db.send_create_signal('cred', ['CredChangeQ'])
-
-
- def backwards(self, orm):
- # Deleting model 'CredChangeQ'
- db.delete_table('cred_credchangeq')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cred.Tag']", 'null': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0008_auto.py b/cred/migrations/0008_auto.py
deleted file mode 100644
index 93c679ba..00000000
--- a/cred/migrations/0008_auto.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# -*- coding: 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 M2M table for field tags on 'Cred'
- db.create_table('cred_cred_tags', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('cred', models.ForeignKey(orm['cred.cred'], null=False)),
- ('tag', models.ForeignKey(orm['cred.tag'], null=False))
- ))
- db.create_unique('cred_cred_tags', ['cred_id', 'tag_id'])
-
- if not db.dry_run:
- for c in orm.Cred.objects.all():
- c.tags.add(c.category)
- c.save()
-
-
- def backwards(self, orm):
- # Removing M2M table for field tags on 'Cred'
- db.delete_table('cred_cred_tags')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cred.Tag']", 'null': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0009_auto__del_field_cred_category.py b/cred/migrations/0009_auto__del_field_cred_category.py
deleted file mode 100644
index 731e9b3b..00000000
--- a/cred/migrations/0009_auto__del_field_cred_category.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# -*- coding: 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):
- # Deleting field 'Cred.category'
- db.delete_column('cred_cred', 'category_id')
-
-
- def backwards(self, orm):
- # Adding field 'Cred.category'
- db.add_column('cred_cred', 'category',
- self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['cred.Tag'], null=True, blank=True),
- keep_default=False)
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0010_auto__add_unique_credchangeq_cred.py b/cred/migrations/0010_auto__add_unique_credchangeq_cred.py
deleted file mode 100644
index 5a61d790..00000000
--- a/cred/migrations/0010_auto__add_unique_credchangeq_cred.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*- coding: 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 unique constraint on 'CredChangeQ', fields ['cred']
- db.create_unique('cred_credchangeq', ['cred_id'])
-
-
- def backwards(self, orm):
- # Removing unique constraint on 'CredChangeQ', fields ['cred']
- db.delete_unique('cred_credchangeq', ['cred_id'])
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0011_auto__add_credicon.py b/cred/migrations/0011_auto__add_credicon.py
deleted file mode 100644
index 7172a00e..00000000
--- a/cred/migrations/0011_auto__add_credicon.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# -*- coding: 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 'CredIcon'
- db.create_table('cred_credicon', (
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('name', self.gf('django.db.models.fields.CharField')(max_length=50)),
- ('filename', self.gf('django.db.models.fields.CharField')(max_length=50)),
- ))
- db.send_create_signal('cred', ['CredIcon'])
-
-
- def backwards(self, orm):
- # Deleting model 'CredIcon'
- db.delete_table('cred_credicon')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0012_load_initial_images.py b/cred/migrations/0012_load_initial_images.py
deleted file mode 100644
index cfea3643..00000000
--- a/cred/migrations/0012_load_initial_images.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# -*- coding: 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):
- "Write your forwards methods here."
-
- def backwards(self, orm):
- "Write your backwards methods here."
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
- symmetrical = True
diff --git a/cred/migrations/0013_auto__add_field_cred_icon.py b/cred/migrations/0013_auto__add_field_cred_icon.py
deleted file mode 100644
index 038fd769..00000000
--- a/cred/migrations/0013_auto__add_field_cred_icon.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- coding: 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 field 'Cred.icon'
- db.add_column('cred_cred', 'icon',
- self.gf('django.db.models.fields.related.ForeignKey')(default=58, to=orm['cred.CredIcon']),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.icon'
- db.delete_column('cred_cred', 'icon_id')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0014_auto__add_unique_credicon_name.py b/cred/migrations/0014_auto__add_unique_credicon_name.py
deleted file mode 100644
index 70c4db44..00000000
--- a/cred/migrations/0014_auto__add_unique_credicon_name.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# -*- coding: 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 unique constraint on 'CredIcon', fields ['name']
- db.create_unique('cred_credicon', ['name'])
-
-
- def backwards(self, orm):
- # Removing unique constraint on 'CredIcon', fields ['name']
- db.delete_unique('cred_credicon', ['name'])
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0015_auto__add_field_credicon_xoffset__add_field_credicon_yoffset.py b/cred/migrations/0015_auto__add_field_credicon_xoffset__add_field_credicon_yoffset.py
deleted file mode 100644
index 1694197e..00000000
--- a/cred/migrations/0015_auto__add_field_credicon_xoffset__add_field_credicon_yoffset.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# -*- coding: 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 field 'CredIcon.xoffset'
- db.add_column('cred_credicon', 'xoffset',
- self.gf('django.db.models.fields.IntegerField')(default=0),
- keep_default=False)
-
- # Adding field 'CredIcon.yoffset'
- db.add_column('cred_credicon', 'yoffset',
- self.gf('django.db.models.fields.IntegerField')(default=0),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'CredIcon.xoffset'
- db.delete_column('cred_credicon', 'xoffset')
-
- # Deleting field 'CredIcon.yoffset'
- db.delete_column('cred_credicon', 'yoffset')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0016_remove_broken_icons.py b/cred/migrations/0016_remove_broken_icons.py
deleted file mode 100644
index 814adbf9..00000000
--- a/cred/migrations/0016_remove_broken_icons.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: 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):
- pass
-
- def backwards(self, orm):
- "Write your backwards methods here."
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
- symmetrical = True
diff --git a/cred/migrations/0017_reimport_new_icons.py b/cred/migrations/0017_reimport_new_icons.py
deleted file mode 100644
index 814adbf9..00000000
--- a/cred/migrations/0017_reimport_new_icons.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- coding: 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):
- pass
-
- def backwards(self, orm):
- "Write your backwards methods here."
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
- symmetrical = True
diff --git a/cred/migrations/0018_fix_unicode_filename.py b/cred/migrations/0018_fix_unicode_filename.py
deleted file mode 100644
index d11e37c5..00000000
--- a/cred/migrations/0018_fix_unicode_filename.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# -*- coding: 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):
- "Write your forwards methods here."
- # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
-
- def backwards(self, orm):
- "Write your backwards methods here."
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
- symmetrical = True
diff --git a/cred/migrations/0019_auto__add_field_cred_is_deleted.py b/cred/migrations/0019_auto__add_field_cred_is_deleted.py
deleted file mode 100644
index 8e21ecbb..00000000
--- a/cred/migrations/0019_auto__add_field_cred_is_deleted.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# -*- coding: 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 field 'Cred.is_deleted'
- db.add_column('cred_cred', 'is_deleted',
- self.gf('django.db.models.fields.BooleanField')(default=False),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.is_deleted'
- db.delete_column('cred_cred', 'is_deleted')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0020_auto__add_field_cred_url.py b/cred/migrations/0020_auto__add_field_cred_url.py
deleted file mode 100644
index 5c56c8e9..00000000
--- a/cred/migrations/0020_auto__add_field_cred_url.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# -*- coding: 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 field 'Cred.url'
- db.add_column('cred_cred', 'url',
- self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.url'
- db.delete_column('cred_cred', 'url')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0021_auto__add_field_cred_latest__add_field_cred_created.py b/cred/migrations/0021_auto__add_field_cred_latest__add_field_cred_created.py
deleted file mode 100644
index ecba5cda..00000000
--- a/cred/migrations/0021_auto__add_field_cred_latest__add_field_cred_created.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-from django.utils import timezone
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Make a timezone aware default
- created_default = timezone.make_aware(
- datetime.datetime(2013, 3, 14, 0, 0),
- timezone.get_current_timezone()
- )
-
- # Adding field 'Cred.latest'
- db.add_column('cred_cred', 'latest',
- self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='history', null=True, to=orm['cred.Cred']),
- keep_default=False)
-
- # Adding field 'Cred.created'
- db.add_column('cred_cred', 'created',
- self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, default=created_default, blank=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.latest'
- db.delete_column('cred_cred', 'latest_id')
-
- # Deleting field 'Cred.created'
- db.delete_column('cred_cred', 'created')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0022_auto__add_field_cred_iconname.py b/cred/migrations/0022_auto__add_field_cred_iconname.py
deleted file mode 100644
index cd266c56..00000000
--- a/cred/migrations/0022_auto__add_field_cred_iconname.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# -*- coding: 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 field 'Cred.iconname'
- db.add_column('cred_cred', 'iconname',
- self.gf('django.db.models.fields.CharField')(default='Key.png', max_length=64),
- keep_default=False)
-
- if not db.dry_run:
- for cred in orm.Cred.objects.all():
- cred.iconname = cred.icon.name + '.png'
- cred.save()
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.iconname'
- db.delete_column('cred_cred', 'iconname')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'default': '58', 'to': "orm['cred.CredIcon']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.credicon': {
- 'Meta': {'object_name': 'CredIcon'},
- 'filename': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
- 'xoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
- 'yoffset': ('django.db.models.fields.IntegerField', [], {'default': '0'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0023_auto__del_credicon__del_field_cred_icon.py b/cred/migrations/0023_auto__del_credicon__del_field_cred_icon.py
deleted file mode 100644
index 70dd8dcc..00000000
--- a/cred/migrations/0023_auto__del_credicon__del_field_cred_icon.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# -*- coding: 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):
- # Deleting model 'CredIcon'
- db.delete_table('cred_credicon')
-
- # Deleting field 'Cred.icon'
- db.delete_column('cred_cred', 'icon_id')
-
-
- def backwards(self, orm):
- # Adding model 'CredIcon'
- db.create_table('cred_credicon', (
- ('name', self.gf('django.db.models.fields.CharField')(max_length=50, unique=True)),
- ('yoffset', self.gf('django.db.models.fields.IntegerField')(default=0)),
- ('filename', self.gf('django.db.models.fields.CharField')(max_length=50)),
- ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('xoffset', self.gf('django.db.models.fields.IntegerField')(default=0)),
- ))
- db.send_create_signal('cred', ['CredIcon'])
-
- # Adding field 'Cred.icon'
- db.add_column('cred_cred', 'icon',
- self.gf('django.db.models.fields.related.ForeignKey')(default=58, to=orm['cred.CredIcon']),
- keep_default=False)
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0024_auto__add_field_cred_descriptionmarkdown.py b/cred/migrations/0024_auto__add_field_cred_descriptionmarkdown.py
deleted file mode 100644
index d352055f..00000000
--- a/cred/migrations/0024_auto__add_field_cred_descriptionmarkdown.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# -*- coding: 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 field 'Cred.descriptionmarkdown'
- db.add_column('cred_cred', 'descriptionmarkdown',
- self.gf('django.db.models.fields.BooleanField')(default=False),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.descriptionmarkdown'
- db.delete_column('cred_cred', 'descriptionmarkdown')
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0025_auto.py b/cred/migrations/0025_auto.py
deleted file mode 100644
index 7fcaed95..00000000
--- a/cred/migrations/0025_auto.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# -*- coding: 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 index on 'Cred', fields ['url']
- db.create_index('cred_cred', ['url'])
-
-
- def backwards(self, orm):
- # Removing index on 'Cred', fields ['url']
- db.delete_index('cred_cred', ['url'])
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0026_auto.py b/cred/migrations/0026_auto.py
deleted file mode 100644
index bd229e43..00000000
--- a/cred/migrations/0026_auto.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# -*- coding: 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 index on 'Cred', fields ['title']
- db.create_index('cred_cred', ['title'])
-
- # Adding index on 'Cred', fields ['is_deleted']
- db.create_index('cred_cred', ['is_deleted'])
-
- # Adding index on 'Tag', fields ['name']
- db.create_index('cred_tag', ['name'])
-
-
- def backwards(self, orm):
- # Removing index on 'Tag', fields ['name']
- db.delete_index('cred_tag', ['name'])
-
- # Removing index on 'Cred', fields ['is_deleted']
- db.delete_index('cred_cred', ['is_deleted'])
-
- # Removing index on 'Cred', fields ['title']
- db.delete_index('cred_cred', ['title'])
-
-
- models = {
- 'auth.group': {
- 'Meta': {'object_name': 'Group'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- 'auth.permission': {
- 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- 'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- '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'})
- },
- 'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': "orm['cred.Cred']"}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': "orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- 'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': "orm['cred.Cred']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': "orm['auth.User']"})
- },
- 'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cred.Cred']", 'unique': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- 'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0027_auto__add_field_cred_modified.py b/cred/migrations/0027_auto__add_field_cred_modified.py
deleted file mode 100644
index 569c6f32..00000000
--- a/cred/migrations/0027_auto__add_field_cred_modified.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding field 'Cred.modified'
- db.add_column(u'cred_cred', 'modified',
- self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2014, 3, 25, 0, 0), db_index=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.modified'
- db.delete_column(u'cred_cred', 'modified')
-
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0028_auto__add_index_cred_username.py b/cred/migrations/0028_auto__add_index_cred_username.py
deleted file mode 100644
index 2c982147..00000000
--- a/cred/migrations/0028_auto__add_index_cred_username.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding index on 'Cred', fields ['username']
- db.create_index(u'cred_cred', ['username'])
-
-
- def backwards(self, orm):
- # Removing index on 'Cred', fields ['username']
- db.delete_index(u'cred_cred', ['username'])
-
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0029_auto__add_field_cred_attachment__add_field_cred_attachment_name.py b/cred/migrations/0029_auto__add_field_cred_attachment__add_field_cred_attachment_name.py
deleted file mode 100644
index 63c8c0e1..00000000
--- a/cred/migrations/0029_auto__add_field_cred_attachment__add_field_cred_attachment_name.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding field 'Cred.attachment'
- db.add_column(u'cred_cred', 'attachment',
- self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True, blank=True),
- keep_default=False)
-
- # Adding field 'Cred.attachment_name'
- db.add_column(u'cred_cred', 'attachment_name',
- self.gf('django.db.models.fields.CharField')(max_length=64, null=True, blank=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.attachment'
- db.delete_column(u'cred_cred', 'attachment')
-
- # Deleting field 'Cred.attachment_name'
- db.delete_column(u'cred_cred', 'attachment_name')
-
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0030_auto__chg_field_cred_attachment.py b/cred/migrations/0030_auto__chg_field_cred_attachment.py
deleted file mode 100644
index 00491d27..00000000
--- a/cred/migrations/0030_auto__chg_field_cred_attachment.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
-
- # Changing field 'Cred.attachment'
- db.alter_column(u'cred_cred', 'attachment', self.gf('cred.fields.SizedFileField')(max_length=100, null=True))
-
- def backwards(self, orm):
-
- # Changing field 'Cred.attachment'
- db.alter_column(u'cred_cred', 'attachment', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True))
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0031_auto__del_index_tag_name__add_unique_tag_name.py b/cred/migrations/0031_auto__del_index_tag_name__add_unique_tag_name.py
deleted file mode 100644
index 971f240b..00000000
--- a/cred/migrations/0031_auto__del_index_tag_name__add_unique_tag_name.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Remove duplicates if this is not a dry run
- if not db.dry_run:
- # Go through each tag
- for t in orm['cred.Tag'].objects.all():
- # Build a query to get all Tags
- getall = orm['cred.Tag'].objects.filter(name=t.name)
-
- # If there is more than one with that name
- if getall.count() > 1:
- # Get the first one
- firstofhisname = getall[0]
-
- # For each tags with this name
- for dup in getall[1:]:
- # Add the original to the cred this was on
- for c in dup.child_creds.all():
- c.tags.add(t)
-
- # Delete the duplicate
- dup.delete()
-
- # Adding unique constraint on 'Tag', fields ['name']
- db.create_unique(u'cred_tag', ['name'])
-
-
- def backwards(self, orm):
- # Removing unique constraint on 'Tag', fields ['name']
- db.delete_unique(u'cred_tag', ['name'])
-
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
diff --git a/cred/migrations/0032_auto__chg_field_cred_password.py b/cred/migrations/0032_auto__chg_field_cred_password.py
deleted file mode 100644
index 4e70751a..00000000
--- a/cred/migrations/0032_auto__chg_field_cred_password.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
-
- # Changing field 'Cred.password'
- db.alter_column(u'cred_cred', 'password', self.gf('django.db.models.fields.CharField')(max_length=250, null=True))
-
- def backwards(self, orm):
-
- # Changing field 'Cred.password'
- db.alter_column(u'cred_cred', 'password', self.gf('django.db.models.fields.CharField')(default=None, max_length=250))
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0033_auto__add_table_cred_groups.py b/cred/migrations/0033_auto__add_table_cred_groups.py
deleted file mode 100644
index 6eb40059..00000000
--- a/cred/migrations/0033_auto__add_table_cred_groups.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
-
- # Adding M2M table for field groups on 'Cred'
- db.create_table('cred_cred_groups', (
- ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
- ('cred', models.ForeignKey(orm['cred.cred'], null=False)),
- ('group', models.ForeignKey(orm['auth.group'], null=False))
- ))
- db.create_unique('cred_cred_groups', ['cred_id', 'group_id'])
-
- def backwards(self, orm):
-
- # Removing M2M table for field groups on 'Cred'
- db.delete_table('cred_cred_groups')
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['auth.Group']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/migrations/0034_auto__add_field_cred_ssh_key__add_field_cred_ssh_key_name.py b/cred/migrations/0034_auto__add_field_cred_ssh_key__add_field_cred_ssh_key_name.py
deleted file mode 100644
index e953c6a5..00000000
--- a/cred/migrations/0034_auto__add_field_cred_ssh_key__add_field_cred_ssh_key_name.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding field 'Cred.ssh_key'
- db.add_column(u'cred_cred', 'ssh_key',
- self.gf('cred.fields.SizedFileField')(max_length=100, null=True, blank=True),
- keep_default=False)
-
- # Adding field 'Cred.ssh_key_name'
- db.add_column(u'cred_cred', 'ssh_key_name',
- self.gf('django.db.models.fields.CharField')(max_length=64, null=True, blank=True),
- keep_default=False)
-
-
- def backwards(self, orm):
- # Deleting field 'Cred.ssh_key'
- db.delete_column(u'cred_cred', 'ssh_key')
-
- # Deleting field 'Cred.ssh_key_name'
- db.delete_column(u'cred_cred', 'ssh_key_name')
-
-
- models = {
- u'auth.group': {
- 'Meta': {'object_name': 'Group'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
- 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
- },
- u'auth.permission': {
- 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
- 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
- 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
- },
- u'auth.user': {
- 'Meta': {'object_name': 'User'},
- 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
- 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
- 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
- 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
- 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
- },
- u'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'}),
- u'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'})
- },
- u'cred.cred': {
- 'Meta': {'object_name': 'Cred'},
- 'attachment': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'attachment_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'descriptionmarkdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.Group']"}),
- 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['auth.Group']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'iconname': ('django.db.models.fields.CharField', [], {'default': "'Key.png'", 'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
- 'latest': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'history'", 'null': 'True', 'to': u"orm['cred.Cred']"}),
- 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
- 'password': ('django.db.models.fields.CharField', [], {'max_length': '250', 'null': 'True', 'blank': 'True'}),
- 'ssh_key': ('cred.fields.SizedFileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'ssh_key_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
- 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'child_creds'", 'default': 'None', 'to': u"orm['cred.Tag']", 'blank': 'True', 'symmetrical': 'False', 'null': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
- 'url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'username': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '250', 'null': 'True', 'blank': 'True'})
- },
- u'cred.credaudit': {
- 'Meta': {'ordering': "('-time',)", 'object_name': 'CredAudit'},
- 'audittype': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'logs'", 'to': u"orm['cred.Cred']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'credlogs'", 'to': u"orm['auth.User']"})
- },
- u'cred.credchangeq': {
- 'Meta': {'object_name': 'CredChangeQ'},
- 'cred': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['cred.Cred']", 'unique': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'time': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'})
- },
- u'cred.tag': {
- 'Meta': {'object_name': 'Tag'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
- }
- }
-
- complete_apps = ['cred']
\ No newline at end of file
diff --git a/cred/models.py b/cred/models.py
index 9baa6309..7f13c6b0 100644
--- a/cred/models.py
+++ b/cred/models.py
@@ -38,10 +38,11 @@ def visible(self, user, historical=False, deleted=False):
if not historical:
qs = qs.filter(latest=None)
- qs = qs.filter(Q(group__in=usergroups)
- | Q(latest__group__in=usergroups)
- | Q(groups__in=usergroups)
- | Q(latest__groups__in=usergroups)).distinct()
+ qs = qs.filter(
+ Q(group__in=usergroups)
+ | Q(latest__group__in=usergroups)
+ | Q(groups__in=usergroups)
+ | Q(latest__groups__in=usergroups)).distinct()
return qs
@@ -50,14 +51,18 @@ def change_advice(self, user, grouplist=[]):
# Get a list of changes done
Q(cred__group__in=grouplist, audittype=CredAudit.CREDCHANGE) |
# Combined with a list of views from this user
- Q(cred__group__in=grouplist, audittype__in=[CredAudit.CREDVIEW, CredAudit.CREDPASSVIEW, CredAudit.CREDADD, CredAudit.CREDEXPORT], user=user)
+ Q(cred__group__in=grouplist, audittype__in=[
+ CredAudit.CREDVIEW, CredAudit.CREDPASSVIEW,
+ CredAudit.CREDADD, CredAudit.CREDEXPORT], user=user)
).order_by('time', 'id')
# Go through each entry in time order
tochange = []
for l in logs:
# If this user viewed the password then change it
- if l.audittype in (CredAudit.CREDVIEW, CredAudit.CREDPASSVIEW, CredAudit.CREDADD, CredAudit.CREDEXPORT):
+ if l.audittype in (
+ CredAudit.CREDVIEW, CredAudit.CREDPASSVIEW,
+ CredAudit.CREDADD, CredAudit.CREDEXPORT):
tochange.append(l.cred.id)
# If there was a change done not by this user, dont change it
if l.audittype == CredAudit.CREDCHANGE and l.user != user:
@@ -69,28 +74,54 @@ def change_advice(self, user, grouplist=[]):
class Cred(models.Model):
- METADATA = ('description', 'descriptionmarkdown', 'group', 'groups', 'tags', 'iconname', 'latest', 'id', 'modified', 'attachment_name', 'ssh_key_name')
+ METADATA = (
+ 'description', 'descriptionmarkdown', 'group', 'groups', 'tags',
+ 'iconname', 'latest', 'id', 'modified', 'attachment_name',
+ 'ssh_key_name')
SORTABLES = ('title', 'username', 'group', 'id', 'modified')
- APP_SET = ('is_deleted', 'latest', 'modified', 'attachment_name', 'ssh_key_name')
+ APP_SET = (
+ 'is_deleted', 'latest', 'modified', 'attachment_name', 'ssh_key_name')
objects = SearchManager()
# User changable fields
- title = models.CharField(verbose_name=_('Title'), max_length=64, db_index=True)
- url = models.URLField(verbose_name=_('URL'), blank=True, null=True, db_index=True)
- username = models.CharField(verbose_name=_('Username'), max_length=250, blank=True, null=True, db_index=True)
- password = models.CharField(verbose_name=_('Password'), max_length=250, blank=True, null=True)
- descriptionmarkdown = models.BooleanField(verbose_name=_('Markdown Description'), default=False, )
- description = models.TextField(verbose_name=_('Description'), blank=True, null=True)
+ title = models.CharField(
+ verbose_name=_('Title'), max_length=64, db_index=True)
+ slug = models.CharField(
+ verbose_name=_('Slug'), max_length=64, db_index=True,
+ null=True, blank=True)
+ url = models.URLField(
+ verbose_name=_('URL'), blank=True, null=True, db_index=True)
+ username = models.CharField(
+ verbose_name=_('Username'), max_length=250, blank=True,
+ null=True, db_index=True)
+ password = models.CharField(
+ verbose_name=_('Password'), max_length=250, blank=True, null=True)
+ descriptionmarkdown = models.BooleanField(
+ verbose_name=_('Markdown Description'), default=False, )
+ description = models.TextField(
+ verbose_name=_('Description'), blank=True, null=True)
group = models.ForeignKey(Group, verbose_name=_('Group'))
- groups = models.ManyToManyField(Group, verbose_name=_('Groups'), related_name="child_creds", blank=True, null=True, default=None)
- tags = models.ManyToManyField(Tag, verbose_name=_('Tags'), related_name='child_creds', blank=True, null=True, default=None)
- iconname = models.CharField(verbose_name=_('Icon'), default='Key.png', max_length=64)
- ssh_key = SizedFileField(verbose_name=_('SSH key'), storage=CredAttachmentStorage(), max_upload_size=settings.RATTIC_MAX_ATTACHMENT_SIZE, null=True, blank=True, upload_to='not required')
- attachment = SizedFileField(verbose_name=_('Attachment'), storage=CredAttachmentStorage(), max_upload_size=settings.RATTIC_MAX_ATTACHMENT_SIZE, null=True, blank=True, upload_to='not required')
+ groups = models.ManyToManyField(
+ Group, verbose_name=_('Groups'), related_name="child_creds",
+ blank=True, null=True, default=None)
+ tags = models.ManyToManyField(
+ Tag, verbose_name=_('Tags'), related_name='child_creds',
+ blank=True, null=True, default=None)
+ iconname = models.CharField(
+ verbose_name=_('Icon'), default='Key.png', max_length=64)
+ ssh_key = SizedFileField(
+ verbose_name=_('SSH key'), storage=CredAttachmentStorage(),
+ max_upload_size=settings.RATTIC_MAX_ATTACHMENT_SIZE,
+ null=True, blank=True, upload_to='not required')
+ attachment = SizedFileField(
+ verbose_name=_('Attachment'), storage=CredAttachmentStorage(),
+ max_upload_size=settings.RATTIC_MAX_ATTACHMENT_SIZE,
+ null=True, blank=True, upload_to='not required')
# Application controlled fields
is_deleted = models.BooleanField(default=False, db_index=True)
- latest = models.ForeignKey('Cred', related_name='history', blank=True, null=True, db_index=True)
+ latest = models.ForeignKey(
+ 'Cred', related_name='history', blank=True, null=True, db_index=True)
modified = models.DateTimeField(db_index=True)
created = models.DateTimeField(auto_now_add=True)
@@ -98,6 +129,10 @@ class Cred(models.Model):
attachment_name = models.CharField(max_length=64, null=True, blank=True)
def save(self, *args, **kwargs):
+ # Generate the entry slug if not specified
+ if not self.slug:
+ self.slug = self.title.lower().replace(' ', '_')
+
try:
# Get a copy of the old object from the db
old = Cred.objects.get(id=self.id)
@@ -163,11 +198,15 @@ def is_owned_by(self, user):
return True
# If its the latest and in your group you can see it
- if not self.is_deleted and self.latest is None and self.group in user.groups.all():
+ if (
+ not self.is_deleted and self.latest is None and
+ self.group in user.groups.all()):
return True
# If the latest is in your group you can see it
- if not self.is_deleted and self.latest is not None and self.latest.group in user.groups.all():
+ if (
+ not self.is_deleted and self.latest is not None and
+ self.latest.group in user.groups.all()):
return True
return False
@@ -177,12 +216,20 @@ def is_visible_by(self, user):
if user.is_staff:
return True
- # If its the latest and (in your group or it belongs to a viewer group you also belong to) you can see it
- if not self.is_deleted and self.latest is None and (self.group in user.groups.all() or any([g in user.groups.all() for g in self.groups.all()])):
+ # If its the latest and (in your group or it belongs
+ # to a viewer group you also belong to) you can see it
+ if not self.is_deleted and self.latest is None and (
+ self.group in user.groups.all() or
+ any([g in user.groups.all() for g in self.groups.all()])):
return True
# If the latest is in your group you can see it
- if not self.is_deleted and self.latest is not None and (self.latest.group in user.groups.all() or any([g in user.groups.all() for g in self.latest.groups.all()])):
+ if (not self.is_deleted and self.latest is not None and
+ (self.latest.group in user.groups.all() or
+ any([
+ g in user.groups.all() for g in
+ self.latest.groups.all()
+ ]))):
return True
return False
diff --git a/cred/storage.py b/cred/storage.py
index 5ea495b2..5ecd1118 100644
--- a/cred/storage.py
+++ b/cred/storage.py
@@ -1,6 +1,8 @@
from database_files.storage import DatabaseStorage
+from django.utils.deconstruct import deconstructible
+@deconstructible
class CredAttachmentStorage(DatabaseStorage):
def url(self, name):
return 'Not used in RatticDB. If you see this please raise a bug.'
diff --git a/cred/tests/test_browser.py b/cred/tests/test_browser.py
index 10915cc9..9ce83f87 100644
--- a/cred/tests/test_browser.py
+++ b/cred/tests/test_browser.py
@@ -1,4 +1,4 @@
-from django.test import LiveServerTestCase
+from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from django.core.urlresolvers import reverse
from django.test.utils import override_settings
from django.utils.unittest import SkipTest
@@ -20,7 +20,7 @@
from testconfig import config
-class JavascriptTests(LiveServerTestCase):
+class JavascriptTests(StaticLiveServerTestCase):
def setUp(self):
self.data = TestData()
@@ -57,19 +57,23 @@ def login_as(self, username, password):
def test_search(self):
searchkey = "_secr3t.p@ssw()rd's\\te5t!"
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url, reverse('cred.views.list')))
+ self.selenium.get('%s%s' % (
+ self.live_server_url, reverse('cred.views.list')))
self.waitforload()
searchbox = self.selenium.find_element_by_id("search-box")
searchbox.send_keys(searchkey)
searchbox.send_keys(Keys.ENTER)
self.waitforload()
cur_url = urldecode(self.selenium.current_url)
- plan_url = urldecode('%s%s' % (self.live_server_url, reverse('cred.views.list', args=('search', searchkey))))
+ plan_url = urldecode('%s%s' % (
+ self.live_server_url,
+ reverse('cred.views.list', args=('search', searchkey))))
self.assertEquals(cur_url, plan_url)
def test_password_details(self):
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url,
+ self.selenium.get('%s%s' % (
+ self.live_server_url,
reverse('cred.views.detail', args=(self.data.cred.id,))))
self.waitforload()
elempass = self.selenium.find_element_by_id('password')
@@ -78,44 +82,50 @@ def test_password_details(self):
# Check password isn't correct
self.assertNotEquals(elempass.text, self.data.cred.password)
# Click show button
- self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-pass-fetchcred ')]")[0].click()
+ self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-pass-fetchcred ')]")[0].click() # noqa
# Check password is visible
self.assertTrue('passhidden' not in elempass.get_attribute('class'))
def test_password_edit(self):
timeout = 4
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url,
+ self.selenium.get('%s%s' % (
+ self.live_server_url,
reverse('cred.views.edit', args=(self.data.cred.id,))))
self.waitforload()
elempass = self.selenium.find_element_by_id('id_password')
currpass = elempass.get_attribute('value')
- showbutton = self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-password-visibility ')]")[0]
+ showbutton = self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-password-visibility ')]")[0] # noqa
# Check password
self.assertEqual(currpass, self.data.cred.password)
# Check password is hidden
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('id_password').get_attribute('type') == 'password')
+ lambda driver: driver.find_element_by_id(
+ 'id_password').get_attribute('type') == 'password')
# Click show button
showbutton.click()
# Check password is visible
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('id_password').get_attribute('type') == 'text')
+ lambda driver: driver.find_element_by_id(
+ 'id_password').get_attribute('type') == 'text')
# Click hide button
showbutton.click()
# Check password is hidden
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('id_password').get_attribute('type') == 'password')
+ lambda driver: driver.find_element_by_id(
+ 'id_password').get_attribute('type') == 'password')
def test_password_edit_logo(self):
timeout = 4
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url,
+ self.selenium.get('%s%s' % (
+ self.live_server_url,
reverse('cred.views.edit', args=(self.data.cred.id,))))
self.waitforload()
elemlogo = self.selenium.find_element_by_id('id_iconname')
currlogo = elemlogo.get_attribute('value')
- otherimg = self.selenium.find_element_by_xpath('.//*[@id=\'logoModal\']/div[2]/div/img[8]')
+ otherimg = self.selenium.find_element_by_xpath(
+ './/*[@id=\'logoModal\']/div[2]/div/img[8]')
# Check Logo
self.assertEqual(currlogo, self.data.cred.iconname)
# Click change logo button
@@ -129,7 +139,8 @@ def test_password_edit_logo(self):
WebDriverWait(self.selenium, timeout).until(
lambda driver: not otherimg.is_displayed())
# Check the new iconname is in the list
- iconname = self.selenium.find_element_by_id('id_iconname').get_attribute('value')
+ iconname = self.selenium.find_element_by_id(
+ 'id_iconname').get_attribute('value')
icondata = get_icon_data()[iconname]
# Validate the logo is shown correctly
logodisplay = self.selenium.find_element_by_id('logodisplay')
@@ -146,7 +157,8 @@ def test_password_edit_logo(self):
def test_password_generator(self):
timeout = 4
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url,
+ self.selenium.get('%s%s' % (
+ self.live_server_url,
reverse('cred.views.edit', args=(self.data.cred.id,))))
self.waitforload()
elempass = self.selenium.find_element_by_id('id_password')
@@ -160,18 +172,24 @@ def test_password_generator(self):
self.selenium.find_element_by_id('genpass').click()
# Inject some entropy so we can generate randomness on travis-ci
start = time.time()
- while self.selenium.execute_script("return sjcl.random.isReady()") == 0:
- self.selenium.execute_script("sjcl.random.addEntropy({0}, 1, 'tests')".format(random.randint(0, 30000)))
+ while self.selenium.execute_script(
+ "return sjcl.random.isReady()") == 0:
+ self.selenium.execute_script(
+ "sjcl.random.addEntropy({0}, 1, 'tests')".format(
+ random.randint(0, 30000)))
if time.time() - start > 10:
raise Exception("Failed to seed the test!")
# Wait for dialog
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('genpassconfirm').is_displayed())
+ lambda driver: driver.find_element_by_id(
+ 'genpassconfirm').is_displayed())
# Generate password
self.selenium.find_element_by_id('genpassconfirm').click()
# Wait for dialog
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('id_password').get_attribute('value') != self.data.cred.password)
+ lambda driver: driver.find_element_by_id(
+ 'id_password').get_attribute(
+ 'value') != self.data.cred.password)
currpass = elempass.get_attribute('value')
self.assertNotEqual(currpass, self.data.cred.password)
self.assertEqual(len(currpass), 12)
@@ -179,17 +197,21 @@ def test_password_generator(self):
def test_script_injection(self):
timeout = 4
self.login_as(self.data.unorm.username, self.data.normpass)
- self.selenium.get('%s%s' % (self.live_server_url,
+ self.selenium.get('%s%s' % (
+ self.live_server_url,
reverse('cred.views.detail', args=(self.data.injectcred.id,))))
self.waitforload()
elempass = self.selenium.find_element_by_id('password')
# Hover over password
- self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-pass-fetchcred ')]")[0].click()
+ self.selenium.find_elements_by_xpath("//button[contains(concat(' ', @class, ' '), ' btn-pass-fetchcred ')]")[0].click() # noqa
# Check password is fetched
WebDriverWait(self.selenium, timeout).until(
- lambda driver: driver.find_element_by_id('password').text == self.data.injectcred.password)
+ lambda driver: driver.find_element_by_id(
+ 'password').text == self.data.injectcred.password)
# Check password is visible
self.assertTrue('passhidden' not in elempass.get_attribute('class'))
-JavascriptTests = override_settings(PASSWORD_HASHERS=('django.contrib.auth.hashers.MD5PasswordHasher',))(JavascriptTests)
+JavascriptTests = override_settings(
+ PASSWORD_HASHERS=(
+ 'django.contrib.auth.hashers.MD5PasswordHasher',))(JavascriptTests)
diff --git a/cred/urls.py b/cred/urls.py
index b4c3e0f3..2ef6c8f2 100644
--- a/cred/urls.py
+++ b/cred/urls.py
@@ -1,12 +1,13 @@
from django.conf.urls import patterns, url
from django.conf import settings
-urlpatterns = patterns('cred.views',
+urlpatterns = patterns(
+ 'cred.views',
# New list views
url(r'^list/$', 'list'),
url(r'^list-by-(?P\w+)/(?P[^/]*)/$', 'list'),
- url(r'^list-by-(?P\w+)/(?P[^/]*)/sort-(?Pascending|descending)-by-(?P\w+)/$', 'list'),
- url(r'^list-by-(?P\w+)/(?P[^/]*)/sort-(?Pascending|descending)-by-(?P\w+)/page-(?P\d+)/$', 'list'),
+ url(r'^list-by-(?P\w+)/(?P[^/]*)/sort-(?Pascending|descending)-by-(?P\w+)/$', 'list'), # noqa
+ url(r'^list-by-(?P\w+)/(?P[^/]*)/sort-(?Pascending|descending)-by-(?P\w+)/page-(?P\d+)/$', 'list'), # noqa
# Search dialog for mobile
url(r'^search/$', 'search'),
@@ -37,7 +38,8 @@
)
if not settings.RATTIC_DISABLE_EXPORT:
- urlpatterns += patterns('cred.views',
+ urlpatterns += patterns(
+ 'cred.views',
# Export views
url(r'^export.kdb$', 'download'),
url(r'^export-by-(?P\w+)/(?P[^/]*).kdb$', 'download'),
diff --git a/cred/views.py b/cred/views.py
index 5d35eda5..34c34d20 100644
--- a/cred/views.py
+++ b/cred/views.py
@@ -60,7 +60,8 @@ def download(request, cfilter="special", value="all"):
CredAudit.objects.bulk_create(auditlogs)
# Give the Keepass file to the user
- return export_keepass(creds, form.cleaned_data['password'], filename)
+ return export_keepass(
+ creds, form.cleaned_data['password'], filename)
else:
form = ExportForm() # An unbound form
@@ -70,7 +71,9 @@ def download(request, cfilter="special", value="all"):
@login_required
-def list(request, cfilter='special', value='all', sortdir='ascending', sort='title', page=1):
+def list(
+ request, cfilter='special', value='all', sortdir='ascending',
+ sort='title', page=1):
# Setup basic stuff
viewdict = {
'credtitle': _('All passwords'),
@@ -101,23 +104,29 @@ def list(request, cfilter='special', value='all', sortdir='ascending', sort='tit
groups = Group.objects.all()
# Perform the search
- (search_object, cred_list) = cred_search(request.user, cfilter, value, sortdir, sort, groups)
+ (search_object, cred_list) = cred_search(
+ request.user, cfilter, value, sortdir, sort, groups)
# Apply the filters
if cfilter == 'tag':
- viewdict['credtitle'] = _('Passwords tagged with %(tagname)s') % {'tagname': search_object.name, }
+ viewdict['credtitle'] = _('Passwords tagged with %(tagname)s') % {
+ 'tagname': search_object.name, }
viewdict['buttons']['export'] = True
elif cfilter == 'group':
- viewdict['credtitle'] = _('Passwords in group %(groupname)s') % {'groupname': search_object.name, }
+ viewdict['credtitle'] = _('Passwords in group %(groupname)s') % {
+ 'groupname': search_object.name, }
viewdict['buttons']['export'] = True
elif cfilter == 'search':
- viewdict['credtitle'] = _('Passwords for search "%(searchstring)s"') % {'searchstring': search_object, }
+ viewdict['credtitle'] = _(
+ 'Passwords for search "%(searchstring)s"') % {
+ 'searchstring': search_object, }
viewdict['buttons']['export'] = True
elif cfilter == 'history':
- viewdict['credtitle'] = _('Versions of: "%(credtitle)s"') % {'credtitle': search_object.title, }
+ viewdict['credtitle'] = _('Versions of: "%(credtitle)s"') % {
+ 'credtitle': search_object.title, }
viewdict['buttons']['add'] = False
viewdict['buttons']['delete'] = False
viewdict['buttons']['changeq'] = False
@@ -125,10 +134,14 @@ def list(request, cfilter='special', value='all', sortdir='ascending', sort='tit
elif cfilter == 'changeadvice':
alert = {}
- alert['message'] = _("That user is now disabled. Here is a list of passwords that they have viewed that have not since been changed. You probably want to add them all to the change queue.")
+ alert['message'] = _(
+ "That user is now disabled. Here is a list of passwords that "
+ "they have viewed that have not since been changed. You probably "
+ "want to add them all to the change queue.")
alert['type'] = 'info'
- viewdict['credtitle'] = _('Changes required for "%(username)s"') % {'username': search_object.username}
+ viewdict['credtitle'] = _('Changes required for "%(username)s"') % {
+ 'username': search_object.username}
viewdict['buttons']['add'] = False
viewdict['buttons']['delete'] = True
viewdict['buttons']['changeq'] = True
@@ -198,7 +211,8 @@ def detail(request, cred_id):
if not cred.is_visible_by(request.user):
raise Http404
- CredAudit(audittype=CredAudit.CREDVIEW, cred=cred, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDVIEW, cred=cred, user=request.user).save()
if request.user.is_staff:
credlogs = cred.logs.all()[:5]
@@ -236,13 +250,16 @@ def downloadattachment(request, cred_id, typ="attachment"):
raise Http404
# Write the audit log, as a password view
- CredAudit(audittype=CredAudit.CREDPASSVIEW, cred=cred, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDPASSVIEW, cred=cred, user=request.user).save()
- # Send the result back in a way that prevents the browser from executing it,
+ # Send the result back in a way that prevents
+ # the browser from executing it,
# forces a download, and names it the same as when it was uploaded.
response = HttpResponse(mimetype='application/octet-stream')
response.write(getattr(cred, typ).read())
- response['Content-Disposition'] = 'attachment; filename="%s"' % getattr(cred, "%s_name" % typ)
+ response['Content-Disposition'] = 'attachment; filename="%s"' % getattr(
+ cred, "%s_name" % typ)
response['Content-Length'] = response.tell()
return response
@@ -285,13 +302,17 @@ def add(request):
form = CredForm(request.user, request.POST, request.FILES)
if form.is_valid():
form.save()
- CredAudit(audittype=CredAudit.CREDADD, cred=form.instance, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDADD, cred=form.instance,
+ user=request.user).save()
return HttpResponseRedirect(reverse('cred.views.list'))
else:
form = CredForm(request.user)
- return render(request, 'cred_edit.html', {'form': form, 'action':
- reverse('cred.views.add'), 'icons': get_icon_list()})
+ return render(request, 'cred_edit.html', {
+ 'form': form,
+ 'action': reverse('cred.views.add'), 'icons': get_icon_list()
+ })
@login_required
@@ -308,7 +329,8 @@ def edit(request, cred_id):
raise Http404
if request.method == 'POST':
- form = CredForm(request.user, request.POST, request.FILES, instance=cred)
+ form = CredForm(
+ request.user, request.POST, request.FILES, instance=cred)
# Password change possible only for owner group
if form.is_valid() and cred.group in request.user.groups.all():
@@ -330,14 +352,18 @@ def edit(request, cred_id):
# If we dont have anywhere to go, go to the details page
if next is None:
- return HttpResponseRedirect(reverse('cred.views.detail', args=(cred.id,)))
+ return HttpResponseRedirect(
+ reverse('cred.views.detail', args=(cred.id,)))
else:
return HttpResponseRedirect(next)
else:
form = CredForm(request.user, instance=cred)
- CredAudit(audittype=CredAudit.CREDPASSVIEW, cred=cred, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDPASSVIEW, cred=cred,
+ user=request.user).save()
- return render(request, 'cred_edit.html', {'form': form,
+ return render(request, 'cred_edit.html', {
+ 'form': form,
'action': reverse('cred.views.edit', args=(cred.id,)),
'next': next,
'icons': get_icon_list(),
@@ -364,13 +390,21 @@ def delete(request, cred_id):
if not cred.is_owned_by(request.user):
raise Http404
if request.method == 'POST':
- CredAudit(audittype=CredAudit.CREDDELETE, cred=cred, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDDELETE, cred=cred,
+ user=request.user).save()
cred.delete()
return HttpResponseRedirect(reverse('cred.views.list'))
- CredAudit(audittype=CredAudit.CREDVIEW, cred=cred, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDVIEW, cred=cred, user=request.user).save()
- return render(request, 'cred_detail.html', {'cred': cred, 'lastchange': lastchange, 'action': reverse('cred.views.delete', args=(cred_id,)), 'delete': True})
+ return render(request, 'cred_detail.html', {
+ 'cred': cred,
+ 'lastchange': lastchange,
+ 'action': reverse('cred.views.delete', args=(cred_id,)),
+ 'delete': True
+ })
@login_required
@@ -421,8 +455,11 @@ def addtoqueue(request, cred_id):
if not cred.is_owned_by(request.user):
raise Http404
CredChangeQ.objects.add_to_changeq(cred)
- CredAudit(audittype=CredAudit.CREDSCHEDCHANGE, cred=cred, user=request.user).save()
- return HttpResponseRedirect(reverse('cred.views.list', args=('special', 'changeq')))
+ CredAudit(
+ audittype=CredAudit.CREDSCHEDCHANGE, cred=cred,
+ user=request.user).save()
+ return HttpResponseRedirect(
+ reverse('cred.views.list', args=('special', 'changeq')))
@login_required
@@ -430,7 +467,9 @@ def bulkdelete(request):
todel = Cred.objects.filter(id__in=request.POST.getlist('credcheck'))
for c in todel:
if c.is_owned_by(request.user) and c.latest is None:
- CredAudit(audittype=CredAudit.CREDDELETE, cred=c, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDDELETE, cred=c,
+ user=request.user).save()
c.delete()
redirect = request.POST.get('next', reverse('cred.views.list'))
@@ -442,7 +481,8 @@ def bulkundelete(request):
toundel = Cred.objects.filter(id__in=request.POST.getlist('credcheck'))
for c in toundel:
if c.is_owned_by(request.user):
- CredAudit(audittype=CredAudit.CREDADD, cred=c, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDADD, cred=c, user=request.user).save()
c.is_deleted = False
c.save()
@@ -455,7 +495,9 @@ def bulkaddtoqueue(request):
tochange = Cred.objects.filter(id__in=request.POST.getlist('credcheck'))
for c in tochange:
if c.is_owned_by(request.user) and c.latest is None:
- CredAudit(audittype=CredAudit.CREDSCHEDCHANGE, cred=c, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDSCHEDCHANGE, cred=c,
+ user=request.user).save()
CredChangeQ.objects.add_to_changeq(c)
redirect = request.POST.get('next', reverse('cred.views.list'))
@@ -468,7 +510,9 @@ def bulktagcred(request):
tag = get_object_or_404(Tag, pk=request.POST.get('tag'))
for c in tochange:
if c.is_owned_by(request.user) and c.latest is None:
- CredAudit(audittype=CredAudit.CREDMETACHANGE, cred=c, user=request.user).save()
+ CredAudit(
+ audittype=CredAudit.CREDMETACHANGE, cred=c,
+ user=request.user).save()
c.tags.add(tag)
redirect = request.POST.get('next', reverse('cred.views.list'))
diff --git a/ratticweb/settings.py b/ratticweb/settings.py
index e8a0e043..55c35cae 100644
--- a/ratticweb/settings.py
+++ b/ratticweb/settings.py
@@ -161,7 +161,6 @@ def confgetbool(section, var, default):
'django_otp.plugins.otp_static',
'django_otp.plugins.otp_totp',
'two_factor',
- 'south',
'tastypie',
'kombu.transport.django',
'djcelery',
diff --git a/ratticweb/urls.py b/ratticweb/urls.py
index cdf68aa0..c0fccaca 100644
--- a/ratticweb/urls.py
+++ b/ratticweb/urls.py
@@ -16,7 +16,8 @@
v1_api.register(GroupResource())
# Setup the base paths for applications, and the API
-base_urlpatterns = patterns('',
+base_urlpatterns = patterns(
+ '',
# Apps:
url(r'^$', 'ratticweb.views.home', name='home'),
url(r'^account/', include('account.urls')),
@@ -40,7 +41,8 @@
from django.contrib import admin
admin.autodiscover()
- base_urlpatterns += patterns('',
+ base_urlpatterns += patterns(
+ '',
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
@@ -55,7 +57,8 @@
root = settings.RATTIC_ROOT_URL
# Serve RatticDB from an alternate root if requested
-urlpatterns = patterns('',
+urlpatterns = patterns(
+ '',
url(r'^' + root, include(base_urlpatterns)),
)
diff --git a/requirements-base.txt b/requirements-base.txt
index c95e8599..7b9908a0 100644
--- a/requirements-base.txt
+++ b/requirements-base.txt
@@ -1,12 +1,12 @@
-Django>=1.6,<1.7
+Django>=1.7,<1.8
Markdown>=2.4,<2.5
Pillow>=2.3,<2.4
South>=0.8,<0.9
-django-auth-ldap==1.1.8
+django-auth-ldap==1.2.8
django-database-files==0.1
django-otp==0.2.7
-django-tastypie==0.9.15
-django-two-factor-auth==0.5.0
+django-tastypie==0.12.1
+django-two-factor-auth==1.2.0
django-user-sessions==0.1.3
mimeparse>=0.1,<0.2
pyasn1==0.1.7
diff --git a/staff/api.py b/staff/api.py
index f02723ce..0190647c 100644
--- a/staff/api.py
+++ b/staff/api.py
@@ -60,12 +60,17 @@ def get_object_list(self, request):
if request.user.is_staff:
return super(GroupResource, self).get_object_list(request)
else:
- return super(GroupResource, self).get_object_list(request).filter(id__in=request.user.groups.all())
+ return super(GroupResource, self).get_object_list(request).filter(
+ id__in=request.user.groups.all())
class Meta:
queryset = Group.objects.all()
always_return_data = True
resource_name = 'group'
- authentication = MultiAuthentication(MultiApiKeyAuthentication(), SessionAuthentication())
+ authentication = MultiAuthentication(
+ MultiApiKeyAuthentication(), SessionAuthentication())
authorization = RatticGroupAuthorization()
validation = FormValidation(form_class=GroupForm)
+ filtering = {
+ 'name': ('exact', 'iexact', 'contains', 'icontains'),
+ }
diff --git a/staff/models.py b/staff/models.py
index 1208a634..8d4f44e5 100644
--- a/staff/models.py
+++ b/staff/models.py
@@ -34,7 +34,9 @@ class Meta:
model = User
fields = ('username', 'email', 'is_active', 'is_staff', 'groups')
widgets = {
- 'groups': forms.SelectMultiple(attrs={'class': 'rattic-group-selector'}),
+ 'groups': forms.SelectMultiple(attrs={
+ 'class': 'rattic-group-selector'
+ }),
}
def clean(self):
@@ -80,7 +82,9 @@ def clean(self):
db = keepass(cleaned_data['file'], cleaned_data['password'])
cleaned_data['db'] = db
except AuthenticationError:
- msg = _('Could not read keepass file, the password you gave may not be correct.')
+ msg = _(
+ 'Could not read keepass file, the password you gave '
+ 'may not be correct.')
self._errors['file'] = self.error_class([msg])
del cleaned_data['file']
del cleaned_data['password']
diff --git a/staff/urls.py b/staff/urls.py
index d4d4516d..26bc8763 100644
--- a/staff/urls.py
+++ b/staff/urls.py
@@ -2,7 +2,8 @@
from django.conf import settings
from views import NewUser, UpdateUser
-urlpatterns = patterns('staff.views',
+urlpatterns = patterns(
+ 'staff.views',
# Views in views.py
url(r'^$', 'home'),
@@ -26,18 +27,21 @@
# URLs we remove if using LDAP groups
if not settings.USE_LDAP_GROUPS:
- urlpatterns += patterns('staff.views',
+ urlpatterns += patterns(
+ 'staff.views',
# Group Management
url(r'^groupadd/$', 'groupadd'),
url(r'^groupedit/(?P\d+)/$', 'groupedit'),
url(r'^groupdelete/(?P\d+)/$', 'groupdelete'),
- url(r'^useredit/(?P\d+)/$', UpdateUser.as_view(), name="user_edit"),
+ url(r'^useredit/(?P\d+)/$',
+ UpdateUser.as_view(), name="user_edit"),
url(r'^userdelete/(?P\d+)/$', 'userdelete'),
)
# User add is disabled only when LDAP config exists
if not settings.LDAP_ENABLED:
- urlpatterns += patterns('staff.views',
+ urlpatterns += patterns(
+ 'staff.views',
# User Management
url(r'^useradd/$', NewUser.as_view(), name="user_add"),