Browse Source

Rebased migrations #35

Rafał Pitoń 11 years ago
parent
commit
fc25dbfa95

+ 0 - 504
misago/migrations/0035_auto__add_warn.py

@@ -1,504 +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 model 'Warn'
-        db.create_table(u'misago_warn', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'])),
-            ('giver', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='warnings_given_set', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
-            ('giver_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('giver_slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
-            ('date', self.gf('django.db.models.fields.DateTimeField')()),
-            ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
-            ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('reason_user', self.gf('django.db.models.fields.TextField')()),
-            ('reason_team', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
-            ('canceled', self.gf('django.db.models.fields.BooleanField')(default=False)),
-        ))
-        db.send_create_signal('misago', ['Warn'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'Warn'
-        db.delete_table(u'misago_warn')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason_team': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 51 - 14
misago/migrations/0044_auto__del_field_warn_gived_on__add_field_warn_given_on.py → misago/migrations/0035_auto__add_warn__add_warnlevel__add_field_user_warning_level__add_field.py

@@ -8,27 +8,64 @@ from django.db import models
 class Migration(SchemaMigration):
 
     def forwards(self, orm):
-        # Deleting field 'Warn.gived_on'
-        db.delete_column(u'misago_warn', 'gived_on')
+        # Adding model 'Warn'
+        db.create_table(u'misago_warn', (
+            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='warning_set', to=orm['misago.User'])),
+            ('reason', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('reason_preparsed', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('given_on', self.gf('django.db.models.fields.DateTimeField')()),
+            ('giver', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='warnings_given_set', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
+            ('giver_username', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('giver_slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
+            ('giver_ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
+            ('giver_agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('canceled', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('canceled_on', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
+            ('canceler', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='warnings_canceled_set', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
+            ('canceler_username', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('canceler_slug', self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True)),
+            ('canceler_ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39, null=True, blank=True)),
+            ('canceler_agent', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+        ))
+        db.send_create_signal('misago', ['Warn'])
 
-        # Adding field 'Warn.given_on'
-        db.add_column(u'misago_warn', 'given_on',
-                      self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2014, 1, 1, 0, 0)),
+        # Adding model 'WarnLevel'
+        db.create_table(u'misago_warnlevel', (
+            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
+            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('warning_level', self.gf('django.db.models.fields.PositiveIntegerField')(default=1, db_index=True)),
+            ('expires_after_minutes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
+            ('restrict_posting_replies', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
+            ('restrict_posting_threads', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
+        ))
+        db.send_create_signal('misago', ['WarnLevel'])
+
+        # Adding field 'User.warning_level'
+        db.add_column(u'misago_user', 'warning_level',
+                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
+                      keep_default=False)
+
+        # Adding field 'User.warning_level_update_on'
+        db.add_column(u'misago_user', 'warning_level_update_on',
+                      self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True),
                       keep_default=False)
 
 
     def backwards(self, orm):
+        # Deleting model 'Warn'
+        db.delete_table(u'misago_warn')
 
-        # User chose to not deal with backwards NULL issues for 'Warn.gived_on'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.gived_on' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.gived_on'
-        db.add_column(u'misago_warn', 'gived_on',
-                      self.gf('django.db.models.fields.DateTimeField')(),
-                      keep_default=False)
+        # Deleting model 'WarnLevel'
+        db.delete_table(u'misago_warnlevel')
+
+        # Deleting field 'User.warning_level'
+        db.delete_column(u'misago_user', 'warning_level')
 
-        # Deleting field 'Warn.given_on'
-        db.delete_column(u'misago_warn', 'given_on')
+        # Deleting field 'User.warning_level_update_on'
+        db.delete_column(u'misago_user', 'warning_level_update_on')
 
 
     models = {

+ 0 - 503
misago/migrations/0036_auto__add_field_user_warning_level__add_field_user_update_warning_leve.py

@@ -1,503 +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 'User.warning_level'
-        db.add_column(u'misago_user', 'warning_level',
-                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'User.warning_level_update_on'
-        db.add_column(u'misago_user', 'warning_level_update_on',
-                      self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'User.warning_level'
-        db.delete_column(u'misago_user', 'warning_level')
-
-        # Deleting field 'User.warning_level_update_on'
-        db.delete_column(u'misago_user', 'warning_level_update_on')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason_team': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 514
misago/migrations/0037_auto__add_warnlevel.py

@@ -1,514 +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 model 'WarnLevel'
-        db.create_table(u'misago_warnlevel', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
-            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
-            ('warning_level', self.gf('django.db.models.fields.PositiveIntegerField')(default=1)),
-            ('expires_after_minutes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
-            ('inhibit_posting_threads', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
-            ('inhibit_posting_replies', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
-        ))
-        db.send_create_signal('misago', ['WarnLevel'])
-
-
-    def backwards(self, orm):
-        # Deleting model 'WarnLevel'
-        db.delete_table(u'misago_warnlevel')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason_team': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inhibit_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'inhibit_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 504
misago/migrations/0038_auto__add_index_warnlevel_warning_level.py

@@ -1,504 +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 'WarnLevel', fields ['warning_level']
-        db.create_index(u'misago_warnlevel', ['warning_level'])
-
-
-    def backwards(self, orm):
-        # Removing index on 'WarnLevel', fields ['warning_level']
-        db.delete_index(u'misago_warnlevel', ['warning_level'])
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason_team': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inhibit_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'inhibit_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 525
misago/migrations/0039_auto__del_field_warn_reason_team__del_field_warn_reason_user__add_fiel.py

@@ -1,525 +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):
-        # Deleting field 'Warn.reason_team'
-        db.delete_column(u'misago_warn', 'reason_team')
-
-        # Deleting field 'Warn.reason_user'
-        db.delete_column(u'misago_warn', 'reason_user')
-
-        # Adding field 'Warn.reason'
-        db.add_column(u'misago_warn', 'reason',
-                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Adding field 'Warn.reason_team'
-        db.add_column(u'misago_warn', 'reason_team',
-                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'Warn.reason_user'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.reason_user' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.reason_user'
-        db.add_column(u'misago_warn', 'reason_user',
-                      self.gf('django.db.models.fields.TextField')(),
-                      keep_default=False)
-
-        # Deleting field 'Warn.reason'
-        db.delete_column(u'misago_warn', 'reason')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inhibit_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'inhibit_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 506
misago/migrations/0040_auto__add_field_warn_reason_preparsed.py

@@ -1,506 +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 'Warn.reason_preparsed'
-        db.add_column(u'misago_warn', 'reason_preparsed',
-                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Warn.reason_preparsed'
-        db.delete_column(u'misago_warn', 'reason_preparsed')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'inhibit_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'inhibit_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 530
misago/migrations/0041_auto__del_field_warnlevel_inhibit_posting_threads__del_field_warnlevel.py

@@ -1,530 +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):
-        # Deleting field 'WarnLevel.inhibit_posting_threads'
-        db.delete_column(u'misago_warnlevel', 'inhibit_posting_threads')
-
-        # Deleting field 'WarnLevel.inhibit_posting_replies'
-        db.delete_column(u'misago_warnlevel', 'inhibit_posting_replies')
-
-        # Adding field 'WarnLevel.restrict_posting_replies'
-        db.add_column(u'misago_warnlevel', 'restrict_posting_replies',
-                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'WarnLevel.restrict_posting_threads'
-        db.add_column(u'misago_warnlevel', 'restrict_posting_threads',
-                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Adding field 'WarnLevel.inhibit_posting_threads'
-        db.add_column(u'misago_warnlevel', 'inhibit_posting_threads',
-                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
-                      keep_default=False)
-
-        # Adding field 'WarnLevel.inhibit_posting_replies'
-        db.add_column(u'misago_warnlevel', 'inhibit_posting_replies',
-                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
-                      keep_default=False)
-
-        # Deleting field 'WarnLevel.restrict_posting_replies'
-        db.delete_column(u'misago_warnlevel', 'restrict_posting_replies')
-
-        # Deleting field 'WarnLevel.restrict_posting_threads'
-        db.delete_column(u'misago_warnlevel', 'restrict_posting_threads')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'restrict_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'restrict_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 525
misago/migrations/0042_auto__add_field_warn_canceler__add_field_warn_canceler_name__add_field.py

@@ -1,525 +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 'Warn.canceler'
-        db.add_column(u'misago_warn', 'canceler',
-                      self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='warnings_canceled_set', null=True, on_delete=models.SET_NULL, to=orm['misago.User']),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_name'
-        db.add_column(u'misago_warn', 'canceler_name',
-                      self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_slug'
-        db.add_column(u'misago_warn', 'canceler_slug',
-                      self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-        # Deleting field 'Warn.canceler'
-        db.delete_column(u'misago_warn', 'canceler_id')
-
-        # Deleting field 'Warn.canceler_name'
-        db.delete_column(u'misago_warn', 'canceler_name')
-
-        # Deleting field 'Warn.canceler_slug'
-        db.delete_column(u'misago_warn', 'canceler_slug')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'canceler': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_canceled_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'canceler_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'canceler_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'restrict_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'restrict_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']

+ 0 - 624
misago/migrations/0043_auto__del_field_warn_ip__del_field_warn_canceler_name__del_field_warn_.py

@@ -1,624 +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):
-        # Deleting field 'Warn.ip'
-        db.delete_column(u'misago_warn', 'ip')
-
-        # Deleting field 'Warn.canceler_name'
-        db.delete_column(u'misago_warn', 'canceler_name')
-
-        # Deleting field 'Warn.agent'
-        db.delete_column(u'misago_warn', 'agent')
-
-        # Deleting field 'Warn.date'
-        db.delete_column(u'misago_warn', 'date')
-
-        # Deleting field 'Warn.giver_name'
-        db.delete_column(u'misago_warn', 'giver_name')
-
-        # Adding field 'Warn.gived_on'
-        db.add_column(u'misago_warn', 'gived_on',
-                      self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2014, 1, 1, 0, 0)),
-                      keep_default=False)
-
-        # Adding field 'Warn.giver_username'
-        db.add_column(u'misago_warn', 'giver_username',
-                      self.gf('django.db.models.fields.CharField')(default='-', max_length=255),
-                      keep_default=False)
-
-        # Adding field 'Warn.giver_ip'
-        db.add_column(u'misago_warn', 'giver_ip',
-                      self.gf('django.db.models.fields.GenericIPAddressField')(default='-', max_length=39),
-                      keep_default=False)
-
-        # Adding field 'Warn.giver_agent'
-        db.add_column(u'misago_warn', 'giver_agent',
-                      self.gf('django.db.models.fields.CharField')(default='-', max_length=255),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceled_on'
-        db.add_column(u'misago_warn', 'canceled_on',
-                      self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_username'
-        db.add_column(u'misago_warn', 'canceler_username',
-                      self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_ip'
-        db.add_column(u'misago_warn', 'canceler_ip',
-                      self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39, null=True, blank=True),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_agent'
-        db.add_column(u'misago_warn', 'canceler_agent',
-                      self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
-                      keep_default=False)
-
-
-    def backwards(self, orm):
-
-        # User chose to not deal with backwards NULL issues for 'Warn.ip'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.ip' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.ip'
-        db.add_column(u'misago_warn', 'ip',
-                      self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39),
-                      keep_default=False)
-
-        # Adding field 'Warn.canceler_name'
-        db.add_column(u'misago_warn', 'canceler_name',
-                      self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'Warn.agent'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.agent' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.agent'
-        db.add_column(u'misago_warn', 'agent',
-                      self.gf('django.db.models.fields.CharField')(max_length=255),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'Warn.date'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.date' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.date'
-        db.add_column(u'misago_warn', 'date',
-                      self.gf('django.db.models.fields.DateTimeField')(),
-                      keep_default=False)
-
-
-        # User chose to not deal with backwards NULL issues for 'Warn.giver_name'
-        raise RuntimeError("Cannot reverse this migration. 'Warn.giver_name' and its values cannot be restored.")
-        
-        # The following code is provided here to aid in writing a correct migration        # Adding field 'Warn.giver_name'
-        db.add_column(u'misago_warn', 'giver_name',
-                      self.gf('django.db.models.fields.CharField')(max_length=255),
-                      keep_default=False)
-
-        # Deleting field 'Warn.gived_on'
-        db.delete_column(u'misago_warn', 'gived_on')
-
-        # Deleting field 'Warn.giver_username'
-        db.delete_column(u'misago_warn', 'giver_username')
-
-        # Deleting field 'Warn.giver_ip'
-        db.delete_column(u'misago_warn', 'giver_ip')
-
-        # Deleting field 'Warn.giver_agent'
-        db.delete_column(u'misago_warn', 'giver_agent')
-
-        # Deleting field 'Warn.canceled_on'
-        db.delete_column(u'misago_warn', 'canceled_on')
-
-        # Deleting field 'Warn.canceler_username'
-        db.delete_column(u'misago_warn', 'canceler_username')
-
-        # Deleting field 'Warn.canceler_ip'
-        db.delete_column(u'misago_warn', 'canceler_ip')
-
-        # Deleting field 'Warn.canceler_agent'
-        db.delete_column(u'misago_warn', 'canceler_agent')
-
-
-    models = {
-        'misago.alert': {
-            'Meta': {'object_name': 'Alert'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'message': ('django.db.models.fields.TextField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
-            'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.attachment': {
-            'Meta': {'object_name': 'Attachment'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'content_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
-            'filetype': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.AttachmentType']"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'hash_id': ('django.db.models.fields.CharField', [], {'max_length': '8', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'path': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'session': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'size': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '255'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.attachmenttype': {
-            'Meta': {'object_name': 'AttachmentType'},
-            'extensions': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'size_limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.ban': {
-            'Meta': {'object_name': 'Ban'},
-            'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.change': {
-            'Meta': {'object_name': 'Change'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'post_content': ('django.db.models.fields.TextField', [], {}),
-            'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.checkpoint': {
-            'Meta': {'object_name': 'Checkpoint'},
-            'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'extra': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'old_forum': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'old_forum_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'old_forum_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'target_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'target_user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.fixture': {
-            'Meta': {'object_name': 'Fixture'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.forum': {
-            'Meta': {'object_name': 'Forum'},
-            'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
-            'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'pruned_archive': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Forum']"}),
-            'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
-        },
-        'misago.forumread': {
-            'Meta': {'object_name': 'ForumRead'},
-            'cleared': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.forumrole': {
-            'Meta': {'object_name': 'ForumRole'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.karma': {
-            'Meta': {'object_name': 'Karma'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.monitoritem': {
-            'Meta': {'object_name': 'MonitorItem'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'default': "'int'", 'max_length': '255'}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.newsletter': {
-            'Meta': {'object_name': 'Newsletter'},
-            'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
-            'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
-        },
-        'misago.poll': {
-            'Meta': {'object_name': 'Poll'},
-            '_choices_cache': ('django.db.models.fields.TextField', [], {'db_column': "'choices_cache'"}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'length': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'max_choices': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'thread': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'poll_of'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'vote_changing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.polloption': {
-            'Meta': {'object_name': 'PollOption'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'option_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.pollvote': {
-            'Meta': {'object_name': 'PollVote'},
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.PollOption']", 'null': 'True', 'blank': 'True'}),
-            'poll': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vote_set'", 'to': "orm['misago.Poll']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.post': {
-            'Meta': {'object_name': 'Post'},
-            '_attachments': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'attachments'", 'blank': 'True'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'current_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            'delete_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_attachments': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'post': ('django.db.models.fields.TextField', [], {}),
-            'post_preparsed': ('django.db.models.fields.TextField', [], {}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'reports': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.pruningpolicy': {
-            'Meta': {'object_name': 'PruningPolicy'},
-            'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.rank': {
-            'Meta': {'object_name': 'Rank'},
-            'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'misago.role': {
-            'Meta': {'object_name': 'Role'},
-            '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
-            '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
-        },
-        'misago.session': {
-            'Meta': {'object_name': 'Session'},
-            'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
-        },
-        'misago.setting': {
-            'Meta': {'object_name': 'Setting'},
-            '_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'value'", 'blank': 'True'}),
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
-            'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.settingsgroup': {
-            'Meta': {'object_name': 'SettingsGroup'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.signinattempt': {
-            'Meta': {'object_name': 'SignInAttempt'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
-        },
-        'misago.thread': {
-            'Meta': {'object_name': 'Thread'},
-            'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            'has_poll': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last': ('django.db.models.fields.DateTimeField', [], {}),
-            'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'participants': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'private_thread_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'prefix': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.ThreadPrefix']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'report_for': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'report_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start': ('django.db.models.fields.DateTimeField', [], {}),
-            'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
-            'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-        },
-        'misago.threadprefix': {
-            'Meta': {'object_name': 'ThreadPrefix'},
-            'forums': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Forum']", 'symmetrical': 'False'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'style': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'misago.threadread': {
-            'Meta': {'object_name': 'ThreadRead'},
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'updated': ('django.db.models.fields.DateTimeField', [], {}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        },
-        'misago.token': {
-            'Meta': {'object_name': 'Token'},
-            'accessed': ('django.db.models.fields.DateTimeField', [], {}),
-            'created': ('django.db.models.fields.DateTimeField', [], {}),
-            'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
-        },
-        'misago.user': {
-            'Meta': {'object_name': 'User'},
-            '_avatar_crop': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'avatar_crop'", 'blank': 'True'}),
-            'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'allow_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
-            'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
-            'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
-            'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
-            'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'join_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'last_vote': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'password_date': ('django.db.models.fields.DateTimeField', [], {}),
-            'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
-            'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
-            'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
-            'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
-            'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'sync_pds': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
-            'unread_pds': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
-            'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'warning_level_update_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'misago.usernamechange': {
-            'Meta': {'object_name': 'UsernameChange'},
-            'date': ('django.db.models.fields.DateTimeField', [], {}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
-        },
-        'misago.warn': {
-            'Meta': {'object_name': 'Warn'},
-            'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'canceled_on': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'canceler': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_canceled_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'canceler_agent': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'canceler_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
-            'canceler_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'canceler_username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'gived_on': ('django.db.models.fields.DateTimeField', [], {}),
-            'giver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warnings_given_set'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
-            'giver_agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'giver_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
-            'giver_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'giver_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reason_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'warning_set'", 'to': "orm['misago.User']"})
-        },
-        'misago.warnlevel': {
-            'Meta': {'object_name': 'WarnLevel'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expires_after_minutes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'restrict_posting_replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'restrict_posting_threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
-            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
-            'warning_level': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1', 'db_index': 'True'})
-        },
-        'misago.watchedthread': {
-            'Meta': {'object_name': 'WatchedThread'},
-            'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'last_read': ('django.db.models.fields.DateTimeField', [], {}),
-            'starter': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['misago.User']"}),
-            'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
-            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
-        }
-    }
-
-    complete_apps = ['misago']