Commit 00247e8ccbe7e6ba7294fb0bef898b2fc094cdba
1 parent
6b94127b
Exists in
master
and in
39 other branches
Adding new initial migrations and install readme
-Remove database dependency -Add detailed installation of colab and all of its tools Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Showing
48 changed files
with
635 additions
and
5037 deletions
Show diff stats
README.rst
... | ... | @@ -43,6 +43,10 @@ to get results: natively in XML or JSON, PHP, Ruby and Python and then treatment |
43 | 43 | Installation (Development Environment) |
44 | 44 | ========================================== |
45 | 45 | |
46 | +A detailed installation steps can be found in: | |
47 | + | |
48 | +`Detailed full environment installation <install.rst>`_ | |
49 | + | |
46 | 50 | Here we'll cover how to setup a development environment using a Vagrant |
47 | 51 | virtual machine. |
48 | 52 | |
... | ... | @@ -64,7 +68,7 @@ First you will need to clone the repository: |
64 | 68 | |
65 | 69 | .. code-block:: |
66 | 70 | |
67 | - git clone git@github.com:interlegis/colab.git | |
71 | + git clone git@github.com:colab-community/colab.git | |
68 | 72 | |
69 | 73 | |
70 | 74 | *NOTE:* | ... | ... |
... | ... | @@ -0,0 +1,214 @@ |
1 | +.. -*- coding: utf-8 -*- | |
2 | + | |
3 | +.. highlight:: rest | |
4 | + | |
5 | +.. _colab_software: | |
6 | + | |
7 | +================================= | |
8 | +Installing a full colab environment | |
9 | +================================= | |
10 | + | |
11 | +This file will guide you through the installation of colab's dependencys, | |
12 | +external tools and its integration with colab to help you start using/working. | |
13 | + | |
14 | +The dependecys installation steps will be based of Ubuntu 13.04 but the tools, | |
15 | +integrations and the colab itself runs in a virtual machine so it'll be the same regardless of your system. | |
16 | + | |
17 | + | |
18 | +Fabric + VirtualBox + Vagrant | |
19 | +============== | |
20 | + | |
21 | +You can easily install fabric using pip with | |
22 | + | |
23 | +.. code-block:: | |
24 | + | |
25 | + sudo apt-get install python-pip | |
26 | + sudo pip install fabric | |
27 | + | |
28 | +You can also instal Virtual Box with apt-get | |
29 | + | |
30 | +.. code-block:: | |
31 | + | |
32 | + sudo apt-get install virtualbox | |
33 | + | |
34 | +Now, vagrant has an apt-get but its not supported anymore, so you'll have to manually download and install it from the site | |
35 | + | |
36 | + https://www.vagrantup.com/downloads.html | |
37 | + | |
38 | +Starting the VM and environment | |
39 | +=============================== | |
40 | + | |
41 | +Clone the repository to your system | |
42 | + | |
43 | +.. code-block:: | |
44 | + | |
45 | + git clone https://github.com/colab-community/colab.git | |
46 | + cd colab | |
47 | + | |
48 | +Create your local configuration file(we'll adjust it later) | |
49 | + | |
50 | +.. code-block:: | |
51 | + | |
52 | + cp src/colab/local_settings-dev.py src/colab/local_settings.py | |
53 | + | |
54 | +To startup the VM simple do | |
55 | + | |
56 | +.. code-block:: | |
57 | + | |
58 | + vagrant up | |
59 | + | |
60 | +*NOTE* | |
61 | + | |
62 | + In case you have problems creating the virtual machine you might need to download the linux header files | |
63 | + | |
64 | + .. code-block:: | |
65 | + | |
66 | + linux-headers-generic | |
67 | + | |
68 | +Accessing the VM and configurating the database | |
69 | +=============================================== | |
70 | + | |
71 | +You should now be able to access your VM through | |
72 | + | |
73 | +.. code-block:: | |
74 | + | |
75 | + vagrant ssh | |
76 | + | |
77 | +*NOTE* | |
78 | + | |
79 | + In case you get a connection port refused or ssh error, you might need to activate manually an ssh server(rare) | |
80 | + | |
81 | + .. code-block:: | |
82 | + | |
83 | + sudo apt-get install ssh; sudo service ssh start; | |
84 | + | |
85 | +The VM doesnt come with a databse so, you'll need to install one inside it. | |
86 | +Inside de VM download and install postgresql | |
87 | + | |
88 | +.. code-block:: | |
89 | + | |
90 | + sudo apt-get install postgresql | |
91 | + | |
92 | +Access the postgresql database and create a new database and user colab user | |
93 | + | |
94 | +.. code-block:: | |
95 | + | |
96 | + sudo -u postgres psql | |
97 | + CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE; | |
98 | + ALTER USER colab PASSWORD 'colab'; | |
99 | + CREATE DATABASE colab; | |
100 | + | |
101 | +Also, create the Trac's database(note it needs to support UTF8) | |
102 | + | |
103 | +.. code-block:: | |
104 | + | |
105 | + create database "trac_colab" with owner "colab" encoding 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE=template0; | |
106 | + \q | |
107 | + | |
108 | +That's the database used for Trac, but its needed so colab can make its migrations correctly and adjust solr accordinly | |
109 | + | |
110 | +Installing Trac on the VM | |
111 | +========================= | |
112 | + | |
113 | +Inside the VM(vagrant ssh) download e install trac | |
114 | + | |
115 | +.. code-block:: | |
116 | + | |
117 | + sudo apt-get install trac | |
118 | + sudo pip install --upgrade Trac | |
119 | + | |
120 | +Now you'll need to configure trac so it can access the previously created database. | |
121 | + | |
122 | +.. code-block:: | |
123 | + | |
124 | + mkdir -p /var/local/trac | |
125 | + sudo trac-admin /var/local/trac initenv | |
126 | + | |
127 | +Set the project name to 'Colab' when asked, and the following postgresql connection string | |
128 | + | |
129 | +.. code-block:: | |
130 | + | |
131 | + postgres://colab:colab@/trac_colab?host=localhost | |
132 | + | |
133 | +The trac database should be populated with relations, now need to give trac write access to its folders | |
134 | + | |
135 | +.. code-block:: | |
136 | + | |
137 | + sudo chown -R www-data /var/local/trac | |
138 | + sudo chmod -R 775 /var/local/trac | |
139 | + | |
140 | +Finally, trac can be run by | |
141 | + | |
142 | +.. code-block:: | |
143 | + | |
144 | + tracd --port 5000 /var/local/trac | |
145 | + | |
146 | +Use port 8000 and access it on port 8080 in your local machine to see it works if you'd like(vagrant has port redirects) | |
147 | + | |
148 | +Setting up Colab | |
149 | +========================= | |
150 | + | |
151 | +You can exit the vagrant VM ('exit' inside the ssh shell) but for now leave it running Trac and start a new terminal tab | |
152 | + | |
153 | +Open the /src/colab/local_settings.py file | |
154 | + | |
155 | +Change COLAB_TRAC_URL to | |
156 | + | |
157 | +.. code-block:: | |
158 | + | |
159 | + COLAB_TRAC_URL = 'http://localhost:5000/trac/' | |
160 | + | |
161 | +Or the port you're using to Trac | |
162 | + | |
163 | +Use fabric at colab's root to update the requirements to your VM | |
164 | + | |
165 | +.. code-block:: | |
166 | + | |
167 | + fabric runserver:update | |
168 | + | |
169 | +*NOTE:* | |
170 | + | |
171 | + The fabric installation on ubuntu through 'pip install' might not be added to the path so you'll need to find | |
172 | + where it was installed if thats your case | |
173 | + | |
174 | +Now simply run fabric again to run the server (it'll also sync and migrate colab's database) | |
175 | + | |
176 | +.. code-block:: | |
177 | + | |
178 | + fabric runserver | |
179 | + | |
180 | +You should be able to see colab with its cms service already working at port 8000(because of vagrant redirects) | |
181 | + | |
182 | +*NOTE* | |
183 | + | |
184 | + In case login doesn't work, change the SITE_URL in src/colab/local_settings.py the reflect the django's port | |
185 | + Also, add the following line riht bellow it | |
186 | + BROWSERID_AUDIENCES = [SITE_URL, SITE_URL.replace('https', 'http')] | |
187 | + | |
188 | +Installing Solr and indexing colab's schemas | |
189 | +========================================== | |
190 | +In Progress of making it readable | |
191 | + #http servlet jetty | |
192 | + sudo apt-get install jetty | |
193 | + | |
194 | + #solr | |
195 | + wget http://ftp.unicamp.br/pub/apache/lucene/solr/4.6.1/solr-4.6.1.tgz | |
196 | + tar xvzf solr-4.6.1.tgz | |
197 | + sudo mv solr-4.6.1 /usr/share/solr | |
198 | + | |
199 | + sudo cp /usr/share/solr/example/webapps/solr.war /usr/share/solr/example/solr/solr.war | |
200 | + | |
201 | + python manage.py build_solr_schema >> schema.xml | |
202 | + #existe mais de uma referencia a stopwords_en | |
203 | + trocar no schema.xml stopwords_en.txt por lang/stopwords_en.txt | |
204 | + | |
205 | + sudo cp schema.xml /usr/share/solr/example/solr/collection1/conf | |
206 | + | |
207 | + #inclusive a tag | |
208 | + Remova <updateLog> em solrconfig.xml localizado em /usr/share/solr/example/solr/collection1/conf | |
209 | + | |
210 | + #executa servidor | |
211 | + cd /usr/share/solr/example/; java -jar start.jar; | |
212 | + | |
213 | + #indexa | |
214 | + python manage.py update_index | |
0 | 215 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,116 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +import datetime | |
3 | +from south.db import db | |
4 | +from south.v2 import SchemaMigration | |
5 | +from django.db import models | |
6 | + | |
7 | + | |
8 | +class Migration(SchemaMigration): | |
9 | + | |
10 | + def forwards(self, orm): | |
11 | + # Adding model 'User' | |
12 | + db.create_table(u'accounts_user', ( | |
13 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | + ('password', self.gf('django.db.models.fields.CharField')(max_length=128)), | |
15 | + ('last_login', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), | |
16 | + ('is_superuser', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
17 | + ('username', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), | |
18 | + ('first_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)), | |
19 | + ('last_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)), | |
20 | + ('email', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75, blank=True)), | |
21 | + ('is_staff', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
22 | + ('is_active', self.gf('django.db.models.fields.BooleanField')(default=True)), | |
23 | + ('date_joined', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), | |
24 | + ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
25 | + ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
26 | + ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
27 | + ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
28 | + ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), | |
29 | + ('github', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
30 | + ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)), | |
31 | + ('verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True, blank=True)), | |
32 | + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), | |
33 | + ('bio', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
34 | + )) | |
35 | + db.send_create_signal(u'accounts', ['User']) | |
36 | + | |
37 | + # Adding M2M table for field groups on 'User' | |
38 | + m2m_table_name = db.shorten_name(u'accounts_user_groups') | |
39 | + db.create_table(m2m_table_name, ( | |
40 | + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), | |
41 | + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), | |
42 | + ('group', models.ForeignKey(orm[u'auth.group'], null=False)) | |
43 | + )) | |
44 | + db.create_unique(m2m_table_name, ['user_id', 'group_id']) | |
45 | + | |
46 | + # Adding M2M table for field user_permissions on 'User' | |
47 | + m2m_table_name = db.shorten_name(u'accounts_user_user_permissions') | |
48 | + db.create_table(m2m_table_name, ( | |
49 | + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), | |
50 | + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), | |
51 | + ('permission', models.ForeignKey(orm[u'auth.permission'], null=False)) | |
52 | + )) | |
53 | + db.create_unique(m2m_table_name, ['user_id', 'permission_id']) | |
54 | + | |
55 | + | |
56 | + def backwards(self, orm): | |
57 | + # Deleting model 'User' | |
58 | + db.delete_table(u'accounts_user') | |
59 | + | |
60 | + # Removing M2M table for field groups on 'User' | |
61 | + db.delete_table(db.shorten_name(u'accounts_user_groups')) | |
62 | + | |
63 | + # Removing M2M table for field user_permissions on 'User' | |
64 | + db.delete_table(db.shorten_name(u'accounts_user_user_permissions')) | |
65 | + | |
66 | + | |
67 | + models = { | |
68 | + u'accounts.user': { | |
69 | + 'Meta': {'object_name': 'User'}, | |
70 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
71 | + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
72 | + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
73 | + 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
74 | + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
75 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
76 | + 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
77 | + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
78 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
79 | + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
80 | + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
81 | + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
82 | + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
83 | + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
84 | + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
85 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
86 | + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
87 | + 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
88 | + 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
89 | + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
90 | + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
91 | + 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
92 | + 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
93 | + }, | |
94 | + u'auth.group': { | |
95 | + 'Meta': {'object_name': 'Group'}, | |
96 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
98 | + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
99 | + }, | |
100 | + u'auth.permission': { | |
101 | + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
102 | + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
103 | + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
104 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
105 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
106 | + }, | |
107 | + u'contenttypes.contenttype': { | |
108 | + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
109 | + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
110 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
112 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
113 | + } | |
114 | + } | |
115 | + | |
116 | + complete_apps = ['accounts'] | |
0 | 117 | \ No newline at end of file | ... | ... |
src/accounts/migrations/0001_rename_auth_user_to_accounts_user.py
... | ... | @@ -1,59 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - db.rename_table('auth_user', 'accounts_user') | |
12 | - db.rename_table('auth_user_groups', 'accounts_user_groups') | |
13 | - db.rename_table('auth_user_user_permissions', 'accounts_user_user_permissions') | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - db.rename_table('accounts_user', 'auth_user') | |
17 | - db.rename_table('accounts_user_groups', 'auth_user_groups') | |
18 | - db.rename_table('accounts_user_user_permissions', 'auth_user_user_permissions') | |
19 | - | |
20 | - models = { | |
21 | - u'accounts.user': { | |
22 | - 'Meta': {'object_name': 'User'}, | |
23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
24 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
25 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
26 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
27 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
28 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
29 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
30 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
31 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
32 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
33 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
34 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
35 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
36 | - }, | |
37 | - u'auth.group': { | |
38 | - 'Meta': {'object_name': 'Group'}, | |
39 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
40 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
41 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
42 | - }, | |
43 | - u'auth.permission': { | |
44 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
45 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
46 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
47 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
48 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
49 | - }, | |
50 | - u'contenttypes.contenttype': { | |
51 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
52 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
54 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
56 | - } | |
57 | - } | |
58 | - | |
59 | - complete_apps = ['accounts'] |
src/accounts/migrations/0002_delete_sussumu_dup.py
... | ... | @@ -1,138 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import DataMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(DataMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - try: | |
11 | - sussumu = orm['accounts.User'].objects.get(username='Sussumu') | |
12 | - except orm['accounts.User'].DoesNotExist: | |
13 | - return | |
14 | - profile = orm['super_archives.UserProfile'].objects.get(user_id=sussumu.pk) | |
15 | - sussumu.delete() | |
16 | - profile.delete() | |
17 | - | |
18 | - def backwards(self, orm): | |
19 | - "Write your backwards methods here." | |
20 | - | |
21 | - models = { | |
22 | - u'accounts.user': { | |
23 | - 'Meta': {'object_name': 'User'}, | |
24 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
25 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
27 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
28 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
29 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
30 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
31 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
32 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
33 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
34 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
35 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
36 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
37 | - }, | |
38 | - u'auth.group': { | |
39 | - 'Meta': {'object_name': 'Group'}, | |
40 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
41 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
42 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
43 | - }, | |
44 | - u'auth.permission': { | |
45 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
46 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
47 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
49 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
50 | - }, | |
51 | - u'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - u'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
65 | - }, | |
66 | - u'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - u'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
80 | - }, | |
81 | - u'super_archives.message': { | |
82 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - u'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - u'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - u'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
114 | - }, | |
115 | - u'super_archives.userprofile': { | |
116 | - 'Meta': {'object_name': 'UserProfile'}, | |
117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
119 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), | |
124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
126 | - }, | |
127 | - u'super_archives.vote': { | |
128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
133 | - } | |
134 | - } | |
135 | - | |
136 | - complete_apps = ['accounts', 'super_archives'] | |
137 | - symmetrical = True | |
138 | - |
src/accounts/migrations/0003_auto__add_field_user_institution__add_field_user_role__add_field_user_.py
... | ... | @@ -1,122 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'User.institution' | |
12 | - db.add_column(u'accounts_user', 'institution', | |
13 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
14 | - keep_default=False) | |
15 | - | |
16 | - # Adding field 'User.role' | |
17 | - db.add_column(u'accounts_user', 'role', | |
18 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
19 | - keep_default=False) | |
20 | - | |
21 | - # Adding field 'User.twitter' | |
22 | - db.add_column(u'accounts_user', 'twitter', | |
23 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
24 | - keep_default=False) | |
25 | - | |
26 | - # Adding field 'User.facebook' | |
27 | - db.add_column(u'accounts_user', 'facebook', | |
28 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
29 | - keep_default=False) | |
30 | - | |
31 | - # Adding field 'User.google_talk' | |
32 | - db.add_column(u'accounts_user', 'google_talk', | |
33 | - self.gf('django.db.models.fields.EmailField')(max_length=75, null=True), | |
34 | - keep_default=False) | |
35 | - | |
36 | - # Adding field 'User.webpage' | |
37 | - db.add_column(u'accounts_user', 'webpage', | |
38 | - self.gf('django.db.models.fields.CharField')(max_length=256, null=True), | |
39 | - keep_default=False) | |
40 | - | |
41 | - # Adding field 'User.verification_hash' | |
42 | - db.add_column(u'accounts_user', 'verification_hash', | |
43 | - self.gf('django.db.models.fields.CharField')(max_length=32, null=True), | |
44 | - keep_default=False) | |
45 | - | |
46 | - # Adding unique constraint on 'User', fields ['email'] | |
47 | - db.create_unique(u'accounts_user', ['email']) | |
48 | - | |
49 | - | |
50 | - def backwards(self, orm): | |
51 | - # Removing unique constraint on 'User', fields ['email'] | |
52 | - db.delete_unique(u'accounts_user', ['email']) | |
53 | - | |
54 | - # Deleting field 'User.institution' | |
55 | - db.delete_column(u'accounts_user', 'institution') | |
56 | - | |
57 | - # Deleting field 'User.role' | |
58 | - db.delete_column(u'accounts_user', 'role') | |
59 | - | |
60 | - # Deleting field 'User.twitter' | |
61 | - db.delete_column(u'accounts_user', 'twitter') | |
62 | - | |
63 | - # Deleting field 'User.facebook' | |
64 | - db.delete_column(u'accounts_user', 'facebook') | |
65 | - | |
66 | - # Deleting field 'User.google_talk' | |
67 | - db.delete_column(u'accounts_user', 'google_talk') | |
68 | - | |
69 | - # Deleting field 'User.webpage' | |
70 | - db.delete_column(u'accounts_user', 'webpage') | |
71 | - | |
72 | - # Deleting field 'User.verification_hash' | |
73 | - db.delete_column(u'accounts_user', 'verification_hash') | |
74 | - | |
75 | - | |
76 | - models = { | |
77 | - u'accounts.user': { | |
78 | - 'Meta': {'object_name': 'User'}, | |
79 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
80 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
81 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
82 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
83 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
84 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
87 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
88 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
89 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
90 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
91 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
92 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
93 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
94 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
95 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
96 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
97 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
98 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
99 | - }, | |
100 | - u'auth.group': { | |
101 | - 'Meta': {'object_name': 'Group'}, | |
102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
103 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
104 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
105 | - }, | |
106 | - u'auth.permission': { | |
107 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
108 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
109 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
112 | - }, | |
113 | - u'contenttypes.contenttype': { | |
114 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
115 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
116 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
117 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
119 | - } | |
120 | - } | |
121 | - | |
122 | - complete_apps = ['accounts'] | |
123 | 0 | \ No newline at end of file |
src/accounts/migrations/0004_copy_profile_data.py
... | ... | @@ -1,81 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import DataMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(DataMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - fields = ('institution', 'role', 'twitter', 'facebook', | |
11 | - 'google_talk', 'webpage') | |
12 | - | |
13 | - for userprofile in orm['super_archives.UserProfile'].objects.iterator(): | |
14 | - user = orm['accounts.User'].objects.get(id=userprofile.user_id) | |
15 | - for field in fields: | |
16 | - setattr(user, field, getattr(userprofile, field)) | |
17 | - user.save() | |
18 | - | |
19 | - def backwards(self, orm): | |
20 | - "Write your backwards methods here." | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
45 | - }, | |
46 | - u'auth.group': { | |
47 | - 'Meta': {'object_name': 'Group'}, | |
48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
51 | - }, | |
52 | - u'auth.permission': { | |
53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
58 | - }, | |
59 | - u'contenttypes.contenttype': { | |
60 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
61 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
63 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
64 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
65 | - }, | |
66 | - u'super_archives.userprofile': { | |
67 | - 'Meta': {'object_name': 'UserProfile'}, | |
68 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
69 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
70 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
72 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
73 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
74 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), | |
75 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
76 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
77 | - } | |
78 | - } | |
79 | - | |
80 | - complete_apps = ['accounts'] | |
81 | - symmetrical = True |
src/accounts/migrations/0005_remove_host_from_social_accounts.py
... | ... | @@ -1,74 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -import urlparse | |
4 | -from south.db import db | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | -class Migration(DataMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - for user in orm.User.objects.iterator(): | |
12 | - if user.twitter: | |
13 | - user.twitter = user.twitter.split('/')[-1] | |
14 | - if user.facebook: | |
15 | - if '?' in user.facebook: | |
16 | - query_string = user.facebook.split('?')[-1] | |
17 | - query_dict = dict(urlparse.parse_qsl(query_string)) | |
18 | - user.facebook = query_dict.get('id') | |
19 | - else: | |
20 | - user.facebook = user.facebook.split('/')[-1] | |
21 | - | |
22 | - user.save() | |
23 | - | |
24 | - def backwards(self, orm): | |
25 | - "Write your backwards methods here." | |
26 | - | |
27 | - models = { | |
28 | - u'accounts.user': { | |
29 | - 'Meta': {'object_name': 'User'}, | |
30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
50 | - }, | |
51 | - u'auth.group': { | |
52 | - 'Meta': {'object_name': 'Group'}, | |
53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
56 | - }, | |
57 | - u'auth.permission': { | |
58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
63 | - }, | |
64 | - u'contenttypes.contenttype': { | |
65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
70 | - } | |
71 | - } | |
72 | - | |
73 | - complete_apps = ['accounts'] | |
74 | - symmetrical = True |
src/accounts/migrations/0006_auto__add_field_user_modified.py
... | ... | @@ -1,69 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -from south.db import db | |
3 | -from south.v2 import SchemaMigration | |
4 | -from django.db import models | |
5 | -from django.utils import timezone | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'User.modified' | |
12 | - db.add_column(u'accounts_user', 'modified', | |
13 | - self.gf('django.db.models.fields.DateTimeField')(auto_now=True, default=timezone.now, blank=True), | |
14 | - keep_default=False) | |
15 | - | |
16 | - | |
17 | - def backwards(self, orm): | |
18 | - # Deleting field 'User.modified' | |
19 | - db.delete_column(u'accounts_user', 'modified') | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
46 | - }, | |
47 | - u'auth.group': { | |
48 | - 'Meta': {'object_name': 'Group'}, | |
49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
52 | - }, | |
53 | - u'auth.permission': { | |
54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
59 | - }, | |
60 | - u'contenttypes.contenttype': { | |
61 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
62 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
63 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
64 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
65 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
66 | - } | |
67 | - } | |
68 | - | |
69 | - complete_apps = ['accounts'] |
src/accounts/migrations/0007_remove_at_from_username.py
... | ... | @@ -1,69 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import DataMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(DataMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - "Write your forwards methods here." | |
11 | - # Note: Don't use "from appname.models import ModelName". | |
12 | - # Use orm.ModelName to refer to models in this application, | |
13 | - # and orm['appname.ModelName'] for models in other applications. | |
14 | - for u in orm.User.objects.filter(username__contains='@'): | |
15 | - u.username = u.username.split('@')[0] | |
16 | - u.save() | |
17 | - | |
18 | - def backwards(self, orm): | |
19 | - pass | |
20 | - | |
21 | - models = { | |
22 | - u'accounts.user': { | |
23 | - 'Meta': {'object_name': 'User'}, | |
24 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
25 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
26 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
27 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
28 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
29 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
30 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
31 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
32 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
33 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
34 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
36 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
37 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
45 | - }, | |
46 | - u'auth.group': { | |
47 | - 'Meta': {'object_name': 'Group'}, | |
48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
51 | - }, | |
52 | - u'auth.permission': { | |
53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
58 | - }, | |
59 | - u'contenttypes.contenttype': { | |
60 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
61 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
63 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
64 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
65 | - } | |
66 | - } | |
67 | - | |
68 | - complete_apps = ['accounts'] | |
69 | - symmetrical = True |
src/accounts/migrations/0008_auto__add_field_user_bio.py
... | ... | @@ -1,70 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'User.bio' | |
12 | - db.add_column(u'accounts_user', 'bio', | |
13 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
14 | - keep_default=False) | |
15 | - | |
16 | - | |
17 | - def backwards(self, orm): | |
18 | - # Deleting field 'User.bio' | |
19 | - db.delete_column(u'accounts_user', 'bio') | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
26 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
27 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
28 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
29 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
30 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
31 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
32 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
34 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
35 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
37 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
39 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
40 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
41 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
42 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
43 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
44 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
45 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
46 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
47 | - }, | |
48 | - u'auth.group': { | |
49 | - 'Meta': {'object_name': 'Group'}, | |
50 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
51 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
52 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
53 | - }, | |
54 | - u'auth.permission': { | |
55 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
56 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
57 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
58 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
59 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
60 | - }, | |
61 | - u'contenttypes.contenttype': { | |
62 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
63 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
64 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
65 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
66 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
67 | - } | |
68 | - } | |
69 | - | |
70 | - complete_apps = ['accounts'] | |
71 | 0 | \ No newline at end of file |
src/accounts/migrations/0009_auto__add_field_user_identi_ca.py
... | ... | @@ -1,71 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'User.identi_ca' | |
12 | - db.add_column(u'accounts_user', 'identi_ca', | |
13 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
14 | - keep_default=False) | |
15 | - | |
16 | - | |
17 | - def backwards(self, orm): | |
18 | - # Deleting field 'User.identi_ca' | |
19 | - db.delete_column(u'accounts_user', 'identi_ca') | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
26 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
27 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
28 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
29 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
30 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
31 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
32 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'identi_ca': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
34 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
35 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
36 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
37 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
38 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
39 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
48 | - }, | |
49 | - u'auth.group': { | |
50 | - 'Meta': {'object_name': 'Group'}, | |
51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
54 | - }, | |
55 | - u'auth.permission': { | |
56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
61 | - }, | |
62 | - u'contenttypes.contenttype': { | |
63 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
64 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
66 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
67 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
68 | - } | |
69 | - } | |
70 | - | |
71 | - complete_apps = ['accounts'] | |
72 | 0 | \ No newline at end of file |
src/accounts/migrations/0010_auto__del_field_user_identi_ca__add_field_user_github.py
... | ... | @@ -1,79 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Deleting field 'User.identi_ca' | |
12 | - db.delete_column(u'accounts_user', 'identi_ca') | |
13 | - | |
14 | - # Adding field 'User.github' | |
15 | - db.add_column(u'accounts_user', 'github', | |
16 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
17 | - keep_default=False) | |
18 | - | |
19 | - | |
20 | - def backwards(self, orm): | |
21 | - # Adding field 'User.identi_ca' | |
22 | - db.add_column(u'accounts_user', 'identi_ca', | |
23 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
24 | - keep_default=False) | |
25 | - | |
26 | - # Deleting field 'User.github' | |
27 | - db.delete_column(u'accounts_user', 'github') | |
28 | - | |
29 | - | |
30 | - models = { | |
31 | - u'accounts.user': { | |
32 | - 'Meta': {'object_name': 'User'}, | |
33 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
34 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
35 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
36 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
37 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
39 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
41 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
43 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
44 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
46 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
47 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
48 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
49 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
50 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
51 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
52 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
53 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
54 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
55 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
56 | - }, | |
57 | - u'auth.group': { | |
58 | - 'Meta': {'object_name': 'Group'}, | |
59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
60 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
61 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
62 | - }, | |
63 | - u'auth.permission': { | |
64 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
65 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
66 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
69 | - }, | |
70 | - u'contenttypes.contenttype': { | |
71 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
72 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
74 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
75 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
76 | - } | |
77 | - } | |
78 | - | |
79 | - complete_apps = ['accounts'] | |
80 | 0 | \ No newline at end of file |
src/badger/migrations/0001_initial.py
... | ... | @@ -11,13 +11,14 @@ class Migration(SchemaMigration): |
11 | 11 | # Adding model 'Badge' |
12 | 12 | db.create_table(u'badger_badge', ( |
13 | 13 | (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), |
14 | - ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), | |
15 | - ('description', self.gf('django.db.models.fields.CharField')(max_length=200)), | |
16 | - ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)), | |
14 | + ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
15 | + ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
16 | + ('image_base64', self.gf('django.db.models.fields.TextField')()), | |
17 | 17 | ('type', self.gf('django.db.models.fields.CharField')(max_length=200)), |
18 | 18 | ('user_attr', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), |
19 | 19 | ('comparison', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), |
20 | 20 | ('value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(null=True, blank=True)), |
21 | + ('order', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=100)), | |
21 | 22 | )) |
22 | 23 | db.send_create_signal(u'badger', ['Badge']) |
23 | 24 | |
... | ... | @@ -30,22 +31,43 @@ class Migration(SchemaMigration): |
30 | 31 | )) |
31 | 32 | db.create_unique(m2m_table_name, ['badge_id', 'user_id']) |
32 | 33 | |
34 | + # Adding model 'BadgeI18N' | |
35 | + db.create_table(u'badger_badgei18n', ( | |
36 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
37 | + ('i18n_language', self.gf('django.db.models.fields.CharField')(max_length=10)), | |
38 | + ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
39 | + ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
40 | + ('i18n_source', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', to=orm['badger.Badge'])), | |
41 | + )) | |
42 | + db.send_create_signal(u'badger', ['BadgeI18N']) | |
43 | + | |
44 | + # Adding unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
45 | + db.create_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
46 | + | |
33 | 47 | |
34 | 48 | def backwards(self, orm): |
49 | + # Removing unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
50 | + db.delete_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
51 | + | |
35 | 52 | # Deleting model 'Badge' |
36 | 53 | db.delete_table(u'badger_badge') |
37 | 54 | |
38 | 55 | # Removing M2M table for field awardees on 'Badge' |
39 | 56 | db.delete_table(db.shorten_name(u'badger_badge_awardees')) |
40 | 57 | |
58 | + # Deleting model 'BadgeI18N' | |
59 | + db.delete_table(u'badger_badgei18n') | |
60 | + | |
41 | 61 | |
42 | 62 | models = { |
43 | 63 | u'accounts.user': { |
44 | 64 | 'Meta': {'object_name': 'User'}, |
65 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
45 | 66 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
46 | 67 | 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), |
47 | 68 | 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
48 | 69 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
70 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
49 | 71 | 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), |
50 | 72 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), |
51 | 73 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
... | ... | @@ -55,6 +77,7 @@ class Migration(SchemaMigration): |
55 | 77 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
56 | 78 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
57 | 79 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
80 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
58 | 81 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
59 | 82 | 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
60 | 83 | 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
... | ... | @@ -77,17 +100,26 @@ class Migration(SchemaMigration): |
77 | 100 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
78 | 101 | }, |
79 | 102 | u'badger.badge': { |
80 | - 'Meta': {'object_name': 'Badge'}, | |
103 | + 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
81 | 104 | 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), |
82 | 105 | 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), |
83 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
106 | + 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
84 | 107 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
85 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
86 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
108 | + 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
109 | + 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
110 | + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
87 | 111 | 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), |
88 | 112 | 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), |
89 | 113 | 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) |
90 | 114 | }, |
115 | + u'badger.badgei18n': { | |
116 | + 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
117 | + 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
118 | + 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
119 | + 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
120 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
121 | + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
122 | + }, | |
91 | 123 | u'contenttypes.contenttype': { |
92 | 124 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
93 | 125 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ... | ... |
src/badger/migrations/0002_auto__add_field_badge_title_en__add_field_badge_title_es__add_field_ba.py
... | ... | @@ -1,120 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'Badge.title_en' | |
12 | - db.add_column(u'badger_badge', 'title_en', | |
13 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
14 | - keep_default=False) | |
15 | - | |
16 | - # Adding field 'Badge.title_es' | |
17 | - db.add_column(u'badger_badge', 'title_es', | |
18 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
19 | - keep_default=False) | |
20 | - | |
21 | - # Adding field 'Badge.description_en' | |
22 | - db.add_column(u'badger_badge', 'description_en', | |
23 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
24 | - keep_default=False) | |
25 | - | |
26 | - # Adding field 'Badge.description_es' | |
27 | - db.add_column(u'badger_badge', 'description_es', | |
28 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
29 | - keep_default=False) | |
30 | - | |
31 | - | |
32 | - # Changing field 'Badge.description' | |
33 | - db.alter_column(u'badger_badge', 'description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True)) | |
34 | - | |
35 | - # Changing field 'Badge.title' | |
36 | - db.alter_column(u'badger_badge', 'title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True)) | |
37 | - | |
38 | - def backwards(self, orm): | |
39 | - # Deleting field 'Badge.title_en' | |
40 | - db.delete_column(u'badger_badge', 'title_en') | |
41 | - | |
42 | - # Deleting field 'Badge.title_es' | |
43 | - db.delete_column(u'badger_badge', 'title_es') | |
44 | - | |
45 | - # Deleting field 'Badge.description_en' | |
46 | - db.delete_column(u'badger_badge', 'description_en') | |
47 | - | |
48 | - # Deleting field 'Badge.description_es' | |
49 | - db.delete_column(u'badger_badge', 'description_es') | |
50 | - | |
51 | - | |
52 | - # Changing field 'Badge.description' | |
53 | - db.alter_column(u'badger_badge', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=200)) | |
54 | - | |
55 | - # Changing field 'Badge.title' | |
56 | - db.alter_column(u'badger_badge', 'title', self.gf('django.db.models.fields.CharField')(default='', max_length=200)) | |
57 | - | |
58 | - models = { | |
59 | - u'accounts.user': { | |
60 | - 'Meta': {'object_name': 'User'}, | |
61 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
62 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
63 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
64 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
65 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
66 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
69 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
70 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
71 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
72 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
73 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
74 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
75 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
76 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
77 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
78 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
79 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
80 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
81 | - }, | |
82 | - u'auth.group': { | |
83 | - 'Meta': {'object_name': 'Group'}, | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
86 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
87 | - }, | |
88 | - u'auth.permission': { | |
89 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
90 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
91 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
92 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
93 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
94 | - }, | |
95 | - u'badger.badge': { | |
96 | - 'Meta': {'object_name': 'Badge'}, | |
97 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
98 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
99 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
100 | - 'description_en': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
101 | - 'description_es': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
103 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
104 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
105 | - 'title_en': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
106 | - 'title_es': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
107 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
108 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
109 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
110 | - }, | |
111 | - u'contenttypes.contenttype': { | |
112 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
113 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
114 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
115 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
116 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
117 | - } | |
118 | - } | |
119 | - | |
120 | - complete_apps = ['badger'] | |
121 | 0 | \ No newline at end of file |
src/badger/migrations/0003_auto__add_badgei18n__add_unique_badgei18n_i18n_source_i18n_language__d.py
... | ... | @@ -1,131 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding model 'BadgeI18N' | |
12 | - db.create_table(u'badger_badgei18n', ( | |
13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | - ('i18n_language', self.gf('django.db.models.fields.CharField')(max_length=10)), | |
15 | - ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
16 | - ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
17 | - ('i18n_source', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', to=orm['badger.Badge'])), | |
18 | - )) | |
19 | - db.send_create_signal(u'badger', ['BadgeI18N']) | |
20 | - | |
21 | - # Adding unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
22 | - db.create_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
23 | - | |
24 | - # Deleting field 'Badge.title_en' | |
25 | - db.delete_column(u'badger_badge', 'title_en') | |
26 | - | |
27 | - # Deleting field 'Badge.description_en' | |
28 | - db.delete_column(u'badger_badge', 'description_en') | |
29 | - | |
30 | - # Deleting field 'Badge.title_es' | |
31 | - db.delete_column(u'badger_badge', 'title_es') | |
32 | - | |
33 | - # Deleting field 'Badge.description_es' | |
34 | - db.delete_column(u'badger_badge', 'description_es') | |
35 | - | |
36 | - | |
37 | - def backwards(self, orm): | |
38 | - # Removing unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
39 | - db.delete_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
40 | - | |
41 | - # Deleting model 'BadgeI18N' | |
42 | - db.delete_table(u'badger_badgei18n') | |
43 | - | |
44 | - # Adding field 'Badge.title_en' | |
45 | - db.add_column(u'badger_badge', 'title_en', | |
46 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
47 | - keep_default=False) | |
48 | - | |
49 | - # Adding field 'Badge.description_en' | |
50 | - db.add_column(u'badger_badge', 'description_en', | |
51 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
52 | - keep_default=False) | |
53 | - | |
54 | - # Adding field 'Badge.title_es' | |
55 | - db.add_column(u'badger_badge', 'title_es', | |
56 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
57 | - keep_default=False) | |
58 | - | |
59 | - # Adding field 'Badge.description_es' | |
60 | - db.add_column(u'badger_badge', 'description_es', | |
61 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
62 | - keep_default=False) | |
63 | - | |
64 | - | |
65 | - models = { | |
66 | - u'accounts.user': { | |
67 | - 'Meta': {'object_name': 'User'}, | |
68 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
70 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
71 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
72 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
73 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
75 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
76 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
77 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
78 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
79 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
80 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
81 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
82 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
83 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
84 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
85 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
86 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
87 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
88 | - }, | |
89 | - u'auth.group': { | |
90 | - 'Meta': {'object_name': 'Group'}, | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
93 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
94 | - }, | |
95 | - u'auth.permission': { | |
96 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
97 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
98 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
100 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
101 | - }, | |
102 | - u'badger.badge': { | |
103 | - 'Meta': {'object_name': 'Badge'}, | |
104 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
105 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
106 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
107 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
108 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
109 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
110 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
111 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
112 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
113 | - }, | |
114 | - u'badger.badgei18n': { | |
115 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
116 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
117 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
118 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
119 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
120 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
121 | - }, | |
122 | - u'contenttypes.contenttype': { | |
123 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
124 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
125 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
126 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
127 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
128 | - } | |
129 | - } | |
130 | - | |
131 | - complete_apps = ['badger'] | |
132 | 0 | \ No newline at end of file |
src/badger/migrations/0004_auto__add_field_badge_order.py
... | ... | @@ -1,89 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'Badge.order' | |
12 | - db.add_column(u'badger_badge', 'order', | |
13 | - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=100), | |
14 | - keep_default=False) | |
15 | - | |
16 | - | |
17 | - def backwards(self, orm): | |
18 | - # Deleting field 'Badge.order' | |
19 | - db.delete_column(u'badger_badge', 'order') | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
45 | - }, | |
46 | - u'auth.group': { | |
47 | - 'Meta': {'object_name': 'Group'}, | |
48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
51 | - }, | |
52 | - u'auth.permission': { | |
53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
58 | - }, | |
59 | - u'badger.badge': { | |
60 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
61 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
62 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
63 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
64 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
65 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
66 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
67 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
68 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
69 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
70 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
71 | - }, | |
72 | - u'badger.badgei18n': { | |
73 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
74 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
75 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
76 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
77 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
79 | - }, | |
80 | - u'contenttypes.contenttype': { | |
81 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
82 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
85 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
86 | - } | |
87 | - } | |
88 | - | |
89 | - complete_apps = ['badger'] | |
90 | 0 | \ No newline at end of file |
src/badger/migrations/0005_auto__add_field_badge_image_base64.py
... | ... | @@ -1,91 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding field 'Badge.image_base64' | |
12 | - db.add_column(u'badger_badge', 'image_base64', | |
13 | - self.gf('django.db.models.fields.TextField')(default=''), | |
14 | - keep_default=False) | |
15 | - | |
16 | - | |
17 | - def backwards(self, orm): | |
18 | - # Deleting field 'Badge.image_base64' | |
19 | - db.delete_column(u'badger_badge', 'image_base64') | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
46 | - }, | |
47 | - u'auth.group': { | |
48 | - 'Meta': {'object_name': 'Group'}, | |
49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
52 | - }, | |
53 | - u'auth.permission': { | |
54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
59 | - }, | |
60 | - u'badger.badge': { | |
61 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
62 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
63 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
64 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
66 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
67 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
68 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
69 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
70 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
71 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
72 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
73 | - }, | |
74 | - u'badger.badgei18n': { | |
75 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
76 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
77 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
78 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
79 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
80 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
81 | - }, | |
82 | - u'contenttypes.contenttype': { | |
83 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
84 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
88 | - } | |
89 | - } | |
90 | - | |
91 | - complete_apps = ['badger'] | |
92 | 0 | \ No newline at end of file |
src/badger/migrations/0006_imgpath_to_base64_field.py
... | ... | @@ -1,94 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import base64 | |
3 | -import os | |
4 | - | |
5 | -import datetime | |
6 | -from south.db import db | |
7 | -from south.v2 import DataMigration | |
8 | -from django.db import models | |
9 | -from django.conf import settings | |
10 | - | |
11 | -class Migration(DataMigration): | |
12 | - | |
13 | - def forwards(self, orm): | |
14 | - for obj in orm.Badge.objects.all(): | |
15 | - img = open(os.path.join(settings.MEDIA_ROOT, obj.image.path)) | |
16 | - obj.image_base64 = base64.b64encode(img.read()) | |
17 | - obj.save() | |
18 | - | |
19 | - def backwards(self, orm): | |
20 | - for obj in orm.Badge.objects.all(): | |
21 | - obj.image_base64 = '' | |
22 | - obj.save() | |
23 | - | |
24 | - models = { | |
25 | - u'accounts.user': { | |
26 | - 'Meta': {'object_name': 'User'}, | |
27 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
28 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
29 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
30 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
31 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
32 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
33 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
34 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
35 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
36 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
37 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
38 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
39 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
48 | - }, | |
49 | - u'auth.group': { | |
50 | - 'Meta': {'object_name': 'Group'}, | |
51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
54 | - }, | |
55 | - u'auth.permission': { | |
56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
61 | - }, | |
62 | - u'badger.badge': { | |
63 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
64 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
65 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
66 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
69 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
70 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
71 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
72 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
73 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
74 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
75 | - }, | |
76 | - u'badger.badgei18n': { | |
77 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
78 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
79 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
80 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
82 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
83 | - }, | |
84 | - u'contenttypes.contenttype': { | |
85 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
86 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
88 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
89 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
90 | - } | |
91 | - } | |
92 | - | |
93 | - complete_apps = ['badger'] | |
94 | - symmetrical = True |
src/badger/migrations/0007_auto__del_field_badge_image.py
... | ... | @@ -1,90 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Deleting field 'Badge.image' | |
12 | - db.delete_column(u'badger_badge', 'image') | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - # Adding field 'Badge.image' | |
17 | - db.add_column(u'badger_badge', 'image', | |
18 | - self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100), | |
19 | - keep_default=False) | |
20 | - | |
21 | - | |
22 | - models = { | |
23 | - u'accounts.user': { | |
24 | - 'Meta': {'object_name': 'User'}, | |
25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
46 | - }, | |
47 | - u'auth.group': { | |
48 | - 'Meta': {'object_name': 'Group'}, | |
49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
52 | - }, | |
53 | - u'auth.permission': { | |
54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
59 | - }, | |
60 | - u'badger.badge': { | |
61 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
62 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
63 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
64 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
66 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
67 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
68 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
69 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
70 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
71 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
72 | - }, | |
73 | - u'badger.badgei18n': { | |
74 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
75 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
76 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
77 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
78 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
79 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
80 | - }, | |
81 | - u'contenttypes.contenttype': { | |
82 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
83 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
86 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
87 | - } | |
88 | - } | |
89 | - | |
90 | - complete_apps = ['badger'] | |
91 | 0 | \ No newline at end of file |
src/proxy/migrations/0001_create_views.py
... | ... | @@ -1,115 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from django.db import connections | |
4 | -from south.db import db | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | - | |
9 | -class Migration(DataMigration): | |
10 | - | |
11 | - def forwards(self, orm): | |
12 | - # Selecting trac database | |
13 | - connection = connections['trac'] | |
14 | - | |
15 | - cursor = connection.cursor() | |
16 | - cursor.execute(''' | |
17 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
18 | - wiki.name AS name, | |
19 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
20 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
21 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
22 | - AND wiki3.version = 1) AS author, | |
23 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
26 | - FROM wiki | |
27 | - GROUP BY wiki.name; | |
28 | - | |
29 | - CREATE OR REPLACE VIEW ticket_view AS SELECT | |
30 | - ticket.id AS id, | |
31 | - ticket.summary as summary, | |
32 | - ticket.description as description, | |
33 | - ticket.milestone as milestone, | |
34 | - ticket.priority as priority, | |
35 | - ticket.component as component, | |
36 | - ticket.version as version, | |
37 | - ticket.severity as severity, | |
38 | - ticket.reporter as reporter, | |
39 | - ticket.reporter as author, | |
40 | - ticket.status as status, | |
41 | - ticket.keywords as keywords, | |
42 | - (SELECT | |
43 | - string_agg(DISTINCT ticket_change.author, ', ') | |
44 | - FROM ticket_change WHERE ticket_change.ticket = ticket.id | |
45 | - GROUP BY ticket_change.ticket) as collaborators, | |
46 | - TIMESTAMP WITH TIME ZONE 'epoch' + (time/1000000)* INTERVAL '1s' AS created, | |
47 | - TIMESTAMP WITH TIME ZONE 'epoch' + (changetime/1000000) * INTERVAL '1s' AS modified | |
48 | - FROM ticket; | |
49 | - | |
50 | - CREATE OR REPLACE VIEW revision_view AS SELECT | |
51 | - revision.rev, | |
52 | - revision.author, | |
53 | - revision.message, | |
54 | - repository.value AS repository_name, | |
55 | - TIMESTAMP WITH TIME ZONE 'epoch' + (revision.time/1000000) * INTERVAL '1s' AS created | |
56 | - FROM revision | |
57 | - INNER JOIN repository ON( | |
58 | - repository.id = revision.repos | |
59 | - AND repository.name = 'name' | |
60 | - AND repository.value != '' | |
61 | - ); | |
62 | - ''') | |
63 | - | |
64 | - def backwards(self, orm): | |
65 | - # Selecting trac database | |
66 | - connection = connections['trac'] | |
67 | - | |
68 | - cursor = connection.cursor() | |
69 | - cursor.execute(''' | |
70 | - DROP VIEW IF EXISTS revision_view; | |
71 | - DROP VIEW IF EXISTS ticket_view; | |
72 | - DROP VIEW IF EXISTS wiki_view; | |
73 | - ''') | |
74 | - | |
75 | - | |
76 | - models = { | |
77 | - u'proxy.revision': { | |
78 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
79 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
80 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
81 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
82 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
83 | - 'rev': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}) | |
84 | - }, | |
85 | - u'proxy.ticket': { | |
86 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
87 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
88 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
89 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
90 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
91 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
92 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
93 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
94 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
95 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
96 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
97 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
98 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
99 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
100 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
101 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
102 | - }, | |
103 | - u'proxy.wiki': { | |
104 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
105 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
106 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
107 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
108 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
109 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
110 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
111 | - } | |
112 | - } | |
113 | - | |
114 | - complete_apps = ['proxy'] | |
115 | - symmetrical = True |
... | ... | @@ -0,0 +1,79 @@ |
1 | +# -*- coding: utf-8 -*- | |
2 | +import datetime | |
3 | +from south.db import db | |
4 | +from south.v2 import SchemaMigration | |
5 | +from django.db import models | |
6 | + | |
7 | + | |
8 | +class Migration(SchemaMigration): | |
9 | + | |
10 | + def forwards(self, orm): | |
11 | + pass | |
12 | + | |
13 | + def backwards(self, orm): | |
14 | + pass | |
15 | + | |
16 | + models = { | |
17 | + u'proxy.attachment': { | |
18 | + 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
19 | + 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
20 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
21 | + 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
22 | + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
23 | + 'filename': ('django.db.models.fields.TextField', [], {}), | |
24 | + 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
25 | + 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
26 | + 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
27 | + 'used_by': ('django.db.models.fields.TextField', [], {}) | |
28 | + }, | |
29 | + u'proxy.revision': { | |
30 | + 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
31 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
32 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
33 | + 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
34 | + 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
35 | + 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
36 | + 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
37 | + }, | |
38 | + u'proxy.ticket': { | |
39 | + 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
40 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
41 | + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
42 | + 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
43 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
44 | + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
45 | + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
46 | + 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
47 | + 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
48 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
49 | + 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
50 | + 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
51 | + 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
52 | + 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
53 | + 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
54 | + 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
55 | + 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
56 | + }, | |
57 | + u'proxy.ticketcollabcount': { | |
58 | + 'Meta': {'object_name': 'TicketCollabCount', 'db_table': "'ticket_collab_count_view'", 'managed': 'False'}, | |
59 | + 'author': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
60 | + 'count': ('django.db.models.fields.IntegerField', [], {}) | |
61 | + }, | |
62 | + u'proxy.wiki': { | |
63 | + 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
64 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
65 | + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
66 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
67 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
68 | + 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
69 | + 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
70 | + 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
71 | + }, | |
72 | + u'proxy.wikicollabcount': { | |
73 | + 'Meta': {'object_name': 'WikiCollabCount', 'db_table': "'wiki_collab_count_view'", 'managed': 'False'}, | |
74 | + 'author': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
75 | + 'count': ('django.db.models.fields.IntegerField', [], {}) | |
76 | + } | |
77 | + } | |
78 | + | |
79 | + complete_apps = ['proxy'] | |
0 | 80 | \ No newline at end of file | ... | ... |
src/proxy/migrations/0002_add_key_to_revision_view.py
... | ... | @@ -1,79 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from django.db import connections | |
4 | -from south.db import db | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | -class Migration(DataMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Selecting trac database | |
12 | - connection = connections['trac'] | |
13 | - | |
14 | - cursor = connection.cursor() | |
15 | - cursor.execute(''' | |
16 | - CREATE OR REPLACE VIEW revision_view AS SELECT | |
17 | - revision.rev, | |
18 | - revision.author, | |
19 | - revision.message, | |
20 | - repository.value AS repository_name, | |
21 | - TIMESTAMP WITH TIME ZONE 'epoch' + (revision.time/1000000) * INTERVAL '1s' AS created, | |
22 | - CONCAT(revision.repos, '-', revision.rev) AS key | |
23 | - FROM revision | |
24 | - INNER JOIN repository ON( | |
25 | - repository.id = revision.repos | |
26 | - AND repository.name = 'name' | |
27 | - AND repository.value != '' | |
28 | - ); | |
29 | - ''') | |
30 | - | |
31 | - def backwards(self, orm): | |
32 | - # Selecting trac database | |
33 | - connection = connections['trac'] | |
34 | - | |
35 | - cursor = connection.cursor() | |
36 | - cursor.execute(''' | |
37 | - ALTER VIEW revision_view ALTER COLUMN key DROP DEFAULT; | |
38 | - ''') | |
39 | - | |
40 | - models = { | |
41 | - u'proxy.revision': { | |
42 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
43 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
44 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
45 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
46 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
47 | - 'rev': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}) | |
48 | - }, | |
49 | - u'proxy.ticket': { | |
50 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
51 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
52 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
53 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
54 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
55 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
56 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
57 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
58 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
59 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
60 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
61 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
62 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
63 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
64 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
65 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
66 | - }, | |
67 | - u'proxy.wiki': { | |
68 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
69 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
70 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
71 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
72 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
73 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
74 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
75 | - } | |
76 | - } | |
77 | - | |
78 | - complete_apps = ['proxy'] | |
79 | - symmetrical = True |
src/proxy/migrations/0003_create_attachment_view.py
... | ... | @@ -1,87 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from django.db import connections | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | -class Migration(DataMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Selecting trac database | |
12 | - connection = connections['trac'] | |
13 | - | |
14 | - cursor = connection.cursor() | |
15 | - cursor.execute(''' | |
16 | - CREATE OR REPLACE VIEW attachment_view AS SELECT | |
17 | - CONCAT(attachment.type, '/' , attachment.id, '/', attachment.filename) AS url, | |
18 | - attachment.type AS used_by, | |
19 | - attachment.filename AS filename, | |
20 | - attachment.id as attach_id, | |
21 | - (SELECT LOWER(SUBSTRING(attachment.filename FROM '\.(\w+)$'))) AS mimetype, | |
22 | - attachment.author AS author, | |
23 | - attachment.description AS description, | |
24 | - attachment.size AS size, | |
25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (attachment.time/1000000)* INTERVAL '1s' AS created | |
26 | - FROM attachment; | |
27 | - ''') | |
28 | - | |
29 | - def backwards(self, orm): | |
30 | - # Selecting trac database | |
31 | - connection = connections['trac'] | |
32 | - | |
33 | - cursor = connection.cursor() | |
34 | - cursor.execute('DROP VIEW IF EXISTS attachment_view;') | |
35 | - | |
36 | - models = { | |
37 | - u'proxy.attachment': { | |
38 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment'", 'managed': 'False'}, | |
39 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
40 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
41 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
42 | - 'id': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
43 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
44 | - 'size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
45 | - 'time': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
46 | - 'type': ('django.db.models.fields.TextField', [], {}) | |
47 | - }, | |
48 | - u'proxy.revision': { | |
49 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
50 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
51 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
52 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
53 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
54 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
55 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
56 | - }, | |
57 | - u'proxy.ticket': { | |
58 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
59 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
60 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
61 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
62 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
63 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
64 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
65 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
66 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
67 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
68 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
69 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
70 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
71 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
72 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
73 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
74 | - }, | |
75 | - u'proxy.wiki': { | |
76 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
77 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
78 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
79 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
80 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
81 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
82 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
83 | - } | |
84 | - } | |
85 | - | |
86 | - complete_apps = ['proxy'] | |
87 | - symmetrical = True |
src/proxy/migrations/0004_replace_wiki_view.py
... | ... | @@ -1,102 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from django.db import connections | |
4 | -from south.db import db | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | -class Migration(DataMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Selecting trac database | |
12 | - connection = connections['trac'] | |
13 | - | |
14 | - cursor = connection.cursor() | |
15 | - | |
16 | - cursor.execute(''' | |
17 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
18 | - wiki.name AS name, | |
19 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
20 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
21 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
22 | - AND wiki3.version = 1) AS author, | |
23 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
26 | - FROM wiki | |
27 | - GROUP BY wiki.name; | |
28 | - ''') | |
29 | - | |
30 | - def backwards(self, orm): | |
31 | - # Selecting trac database | |
32 | - connection = connections['trac'] | |
33 | - | |
34 | - cursor = connection.cursor() | |
35 | - | |
36 | - cursor.execute(''' | |
37 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
38 | - wiki.name AS name, | |
39 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
40 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
41 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
42 | - AND wiki3.version = 1) AS author, | |
43 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
44 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
45 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
46 | - FROM wiki | |
47 | - GROUP BY wiki.name; | |
48 | - ''') | |
49 | - | |
50 | - models = { | |
51 | - u'proxy.attachment': { | |
52 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
53 | - 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
54 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
55 | - 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
56 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
57 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
58 | - 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
59 | - 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
60 | - 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
61 | - 'used_by': ('django.db.models.fields.TextField', [], {}) | |
62 | - }, | |
63 | - u'proxy.revision': { | |
64 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
65 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
66 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
67 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
68 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
69 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
70 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
71 | - }, | |
72 | - u'proxy.ticket': { | |
73 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
74 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
75 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
76 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
77 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
78 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
79 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
80 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
81 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
82 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
83 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
84 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
85 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
86 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
87 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
88 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
89 | - }, | |
90 | - u'proxy.wiki': { | |
91 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
92 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
93 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
94 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
95 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
96 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
97 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
98 | - } | |
99 | - } | |
100 | - | |
101 | - complete_apps = ['proxy'] | |
102 | - symmetrical = True |
src/proxy/migrations/0005_adding_modified_by.py
... | ... | @@ -1,125 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from django.db import connections | |
4 | -from south.db import db | |
5 | -from south.v2 import DataMigration | |
6 | -from django.db import models | |
7 | - | |
8 | -class Migration(DataMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Selecting trac database | |
12 | - connection = connections['trac'] | |
13 | - | |
14 | - cursor = connection.cursor() | |
15 | - cursor.execute(''' | |
16 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
17 | - wiki.name AS name, | |
18 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
19 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
20 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
21 | - AND wiki3.version = 1) AS author, | |
22 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
23 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS modified, | |
25 | - (SELECT wiki4.author FROM wiki AS wiki4 WHERE wiki4.name = wiki.name | |
26 | - AND wiki4.version = MAX(wiki.version)) AS modified_by | |
27 | - FROM wiki | |
28 | - GROUP BY wiki.name; | |
29 | - | |
30 | - CREATE OR REPLACE VIEW ticket_view AS SELECT | |
31 | - ticket.id AS id, | |
32 | - ticket.summary as summary, | |
33 | - ticket.description as description, | |
34 | - ticket.milestone as milestone, | |
35 | - ticket.priority as priority, | |
36 | - ticket.component as component, | |
37 | - ticket.version as version, | |
38 | - ticket.severity as severity, | |
39 | - ticket.reporter as reporter, | |
40 | - ticket.reporter as author, | |
41 | - ticket.status as status, | |
42 | - ticket.keywords as keywords, | |
43 | - (SELECT | |
44 | - string_agg(DISTINCT ticket_change.author, ', ') | |
45 | - FROM ticket_change WHERE ticket_change.ticket = ticket.id | |
46 | - GROUP BY ticket_change.ticket) as collaborators, | |
47 | - TIMESTAMP WITH TIME ZONE 'epoch' + (time/1000000)* INTERVAL '1s' AS created, | |
48 | - TIMESTAMP WITH TIME ZONE 'epoch' + (changetime/1000000) * INTERVAL '1s' AS modified, | |
49 | - (SELECT | |
50 | - ticket_change.author | |
51 | - FROM ticket_change | |
52 | - WHERE ticket_change.ticket = ticket.id | |
53 | - AND ticket_change.time = ticket.changetime | |
54 | - LIMIT 1 | |
55 | - ) AS modified_by | |
56 | - FROM ticket; | |
57 | - ''') | |
58 | - | |
59 | - | |
60 | - def backwards(self, orm): | |
61 | - # Selecting trac database | |
62 | - connection = connections['trac'] | |
63 | - | |
64 | - cursor = connection.cursor() | |
65 | - cursor.execute(''' | |
66 | - ALTER VIEW wiki_view ALTER COLUMN modified_by DROP DEFAULT; | |
67 | - ALTER VIEW ticket_view ALTER COLUMN modified_by DROP DEFAULT; | |
68 | - ''') | |
69 | - | |
70 | - | |
71 | - models = { | |
72 | - u'proxy.attachment': { | |
73 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
74 | - 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
75 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
76 | - 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
77 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
78 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
79 | - 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
80 | - 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
81 | - 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
82 | - 'used_by': ('django.db.models.fields.TextField', [], {}) | |
83 | - }, | |
84 | - u'proxy.revision': { | |
85 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
86 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
87 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
88 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
89 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
90 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
91 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
92 | - }, | |
93 | - u'proxy.ticket': { | |
94 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
95 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
96 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
97 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
98 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
99 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
100 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
101 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
102 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
103 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
104 | - 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
105 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
106 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
107 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
108 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
109 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
110 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
111 | - }, | |
112 | - u'proxy.wiki': { | |
113 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
114 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
115 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
116 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
117 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
118 | - 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
119 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
120 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
121 | - } | |
122 | - } | |
123 | - | |
124 | - complete_apps = ['proxy'] | |
125 | - symmetrical = True |
src/proxy/migrations/0006_views_to_count_collabs.py
... | ... | @@ -1,46 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -from django.db import connections | |
3 | -from south.v2 import DataMigration | |
4 | - | |
5 | -class Migration(DataMigration): | |
6 | - | |
7 | - def forwards(self, orm): | |
8 | - # Selecting trac database | |
9 | - connection = connections['trac'] | |
10 | - | |
11 | - cursor = connection.cursor() | |
12 | - cursor.execute(''' | |
13 | - CREATE OR REPLACE VIEW ticket_collab_count_view AS | |
14 | - SELECT | |
15 | - COALESCE (t1.author, t2.author) as author, | |
16 | - (COALESCE(t1.count, 0) + COALESCE(t2.count, 0)) as count | |
17 | - FROM | |
18 | - (SELECT author, count(*) as count | |
19 | - FROM ticket_change | |
20 | - GROUP BY author | |
21 | - ORDER BY author | |
22 | - ) AS t1 | |
23 | - FULL OUTER JOIN | |
24 | - (SELECT reporter as author, count(*) as count | |
25 | - FROM ticket | |
26 | - GROUP BY reporter | |
27 | - ORDER BY reporter | |
28 | - ) AS t2 | |
29 | - ON t1.author = t2.author; | |
30 | - | |
31 | - CREATE OR REPLACE VIEW wiki_collab_count_view AS | |
32 | - SELECT author, count(*) from wiki GROUP BY author; | |
33 | - ''') | |
34 | - | |
35 | - def backwards(self, orm): | |
36 | - # Selecting trac database | |
37 | - connection = connections['trac'] | |
38 | - | |
39 | - cursor = connection.cursor() | |
40 | - cursor.execute(''' | |
41 | - DROP VIEW ticket_collab_count_view; | |
42 | - DROP VIEW wiki_collab_count_view; | |
43 | - ''') | |
44 | - | |
45 | - complete_apps = ['proxy'] | |
46 | - symmetrical = True |
src/super_archives/migrations/0001_initial.py
1 | -# encoding: utf-8 | |
1 | +# -*- coding: utf-8 -*- | |
2 | 2 | import datetime |
3 | 3 | from south.db import db |
4 | 4 | from south.v2 import SchemaMigration |
5 | 5 | from django.db import models |
6 | 6 | |
7 | + | |
7 | 8 | class Migration(SchemaMigration): |
8 | 9 | |
9 | 10 | def forwards(self, orm): |
10 | - | |
11 | - # Adding model 'PageHit' | |
12 | - db.create_table('super_archives_pagehit', ( | |
13 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | - ('url_path', self.gf('django.db.models.fields.CharField')(unique=True, max_length=2048, db_index=True)), | |
15 | - ('hit_count', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
11 | + # Adding model 'EmailAddressValidation' | |
12 | + db.create_table(u'super_archives_emailaddressvalidation', ( | |
13 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | + ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), | |
15 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails_not_validated', null=True, to=orm['accounts.User'])), | |
16 | + ('validation_key', self.gf('django.db.models.fields.CharField')(default='143df80aa814429f9938d3b165148480', max_length=32, null=True)), | |
17 | + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
16 | 18 | )) |
17 | - db.send_create_signal('super_archives', ['PageHit']) | |
19 | + db.send_create_signal(u'super_archives', ['EmailAddressValidation']) | |
20 | + | |
21 | + # Adding unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
22 | + db.create_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
18 | 23 | |
19 | 24 | # Adding model 'EmailAddress' |
20 | - db.create_table('super_archives_emailaddress', ( | |
21 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
22 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails', null=True, to=orm['auth.User'])), | |
25 | + db.create_table(u'super_archives_emailaddress', ( | |
26 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
27 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails', null=True, on_delete=models.SET_NULL, to=orm['accounts.User'])), | |
23 | 28 | ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), |
24 | - ('real_name', self.gf('django.db.models.fields.CharField')(max_length=64, blank=True)), | |
29 | + ('real_name', self.gf('django.db.models.fields.CharField')(db_index=True, max_length=64, blank=True)), | |
25 | 30 | ('md5', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)), |
26 | 31 | )) |
27 | - db.send_create_signal('super_archives', ['EmailAddress']) | |
28 | - | |
29 | - # Adding model 'UserProfile' | |
30 | - db.create_table('super_archives_userprofile', ( | |
31 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
32 | - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), | |
33 | - ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
34 | - ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
35 | - ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
36 | - ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
37 | - ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True)), | |
38 | - ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256)), | |
39 | - )) | |
40 | - db.send_create_signal('super_archives', ['UserProfile']) | |
32 | + db.send_create_signal(u'super_archives', ['EmailAddress']) | |
41 | 33 | |
42 | 34 | # Adding model 'MailingList' |
43 | - db.create_table('super_archives_mailinglist', ( | |
44 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
35 | + db.create_table(u'super_archives_mailinglist', ( | |
36 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
45 | 37 | ('name', self.gf('django.db.models.fields.CharField')(max_length=80)), |
46 | 38 | ('email', self.gf('django.db.models.fields.EmailField')(max_length=75)), |
47 | 39 | ('description', self.gf('django.db.models.fields.TextField')()), |
48 | 40 | ('logo', self.gf('django.db.models.fields.files.FileField')(max_length=100)), |
49 | 41 | ('last_imported_index', self.gf('django.db.models.fields.IntegerField')(default=0)), |
50 | 42 | )) |
51 | - db.send_create_signal('super_archives', ['MailingList']) | |
43 | + db.send_create_signal(u'super_archives', ['MailingList']) | |
52 | 44 | |
53 | 45 | # Adding model 'MailingListMembership' |
54 | - db.create_table('super_archives_mailinglistmembership', ( | |
55 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
56 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), | |
46 | + db.create_table(u'super_archives_mailinglistmembership', ( | |
47 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
48 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])), | |
57 | 49 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), |
58 | 50 | )) |
59 | - db.send_create_signal('super_archives', ['MailingListMembership']) | |
51 | + db.send_create_signal(u'super_archives', ['MailingListMembership']) | |
52 | + | |
53 | + # Adding model 'Keyword' | |
54 | + db.create_table(u'super_archives_keyword', ( | |
55 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
56 | + ('keyword', self.gf('django.db.models.fields.CharField')(max_length='128')), | |
57 | + ('weight', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
58 | + ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'])), | |
59 | + )) | |
60 | + db.send_create_signal(u'super_archives', ['Keyword']) | |
60 | 61 | |
61 | 62 | # Adding model 'Thread' |
62 | - db.create_table('super_archives_thread', ( | |
63 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
63 | + db.create_table(u'super_archives_thread', ( | |
64 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
64 | 65 | ('subject_token', self.gf('django.db.models.fields.CharField')(max_length=512)), |
65 | 66 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), |
66 | 67 | ('latest_message', self.gf('django.db.models.fields.related.OneToOneField')(related_name='+', unique=True, null=True, to=orm['super_archives.Message'])), |
68 | + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
69 | + ('spam', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
67 | 70 | )) |
68 | - db.send_create_signal('super_archives', ['Thread']) | |
71 | + db.send_create_signal(u'super_archives', ['Thread']) | |
69 | 72 | |
70 | 73 | # Adding unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] |
71 | - db.create_unique('super_archives_thread', ['subject_token', 'mailinglist_id']) | |
74 | + db.create_unique(u'super_archives_thread', ['subject_token', 'mailinglist_id']) | |
72 | 75 | |
73 | 76 | # Adding model 'Vote' |
74 | - db.create_table('super_archives_vote', ( | |
75 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
76 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), | |
77 | + db.create_table(u'super_archives_vote', ( | |
78 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
79 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])), | |
77 | 80 | ('message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), |
81 | + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
78 | 82 | )) |
79 | - db.send_create_signal('super_archives', ['Vote']) | |
83 | + db.send_create_signal(u'super_archives', ['Vote']) | |
80 | 84 | |
81 | 85 | # Adding unique constraint on 'Vote', fields ['user', 'message'] |
82 | - db.create_unique('super_archives_vote', ['user_id', 'message_id']) | |
86 | + db.create_unique(u'super_archives_vote', ['user_id', 'message_id']) | |
83 | 87 | |
84 | 88 | # Adding model 'Message' |
85 | - db.create_table('super_archives_message', ( | |
86 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
89 | + db.create_table(u'super_archives_message', ( | |
90 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
87 | 91 | ('from_address', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.EmailAddress'])), |
88 | - ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), | |
89 | 92 | ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'], null=True)), |
90 | - ('subject', self.gf('django.db.models.fields.CharField')(max_length=512)), | |
91 | - ('subject_clean', self.gf('django.db.models.fields.CharField')(max_length=512)), | |
93 | + ('subject', self.gf('django.db.models.fields.CharField')(max_length=512, db_index=True)), | |
94 | + ('subject_clean', self.gf('django.db.models.fields.CharField')(max_length=512, db_index=True)), | |
92 | 95 | ('body', self.gf('django.db.models.fields.TextField')(default='')), |
93 | - ('received_time', self.gf('django.db.models.fields.DateTimeField')()), | |
96 | + ('received_time', self.gf('django.db.models.fields.DateTimeField')(db_index=True)), | |
94 | 97 | ('message_id', self.gf('django.db.models.fields.CharField')(max_length=512)), |
98 | + ('spam', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
95 | 99 | )) |
96 | - db.send_create_signal('super_archives', ['Message']) | |
100 | + db.send_create_signal(u'super_archives', ['Message']) | |
101 | + | |
102 | + # Adding unique constraint on 'Message', fields ['thread', 'message_id'] | |
103 | + db.create_unique(u'super_archives_message', ['thread_id', 'message_id']) | |
104 | + | |
105 | + # Adding model 'MessageBlock' | |
106 | + db.create_table(u'super_archives_messageblock', ( | |
107 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
108 | + ('message', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blocks', to=orm['super_archives.Message'])), | |
109 | + ('text', self.gf('django.db.models.fields.TextField')()), | |
110 | + ('is_reply', self.gf('django.db.models.fields.BooleanField')()), | |
111 | + ('order', self.gf('django.db.models.fields.IntegerField')()), | |
112 | + )) | |
113 | + db.send_create_signal(u'super_archives', ['MessageBlock']) | |
97 | 114 | |
98 | 115 | # Adding model 'MessageMetadata' |
99 | - db.create_table('super_archives_messagemetadata', ( | |
100 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
116 | + db.create_table(u'super_archives_messagemetadata', ( | |
117 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
101 | 118 | ('Message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), |
102 | 119 | ('name', self.gf('django.db.models.fields.CharField')(max_length=512)), |
103 | 120 | ('value', self.gf('django.db.models.fields.TextField')()), |
104 | 121 | )) |
105 | - db.send_create_signal('super_archives', ['MessageMetadata']) | |
122 | + db.send_create_signal(u'super_archives', ['MessageMetadata']) | |
106 | 123 | |
107 | 124 | |
108 | 125 | def backwards(self, orm): |
109 | - | |
126 | + # Removing unique constraint on 'Message', fields ['thread', 'message_id'] | |
127 | + db.delete_unique(u'super_archives_message', ['thread_id', 'message_id']) | |
128 | + | |
110 | 129 | # Removing unique constraint on 'Vote', fields ['user', 'message'] |
111 | - db.delete_unique('super_archives_vote', ['user_id', 'message_id']) | |
130 | + db.delete_unique(u'super_archives_vote', ['user_id', 'message_id']) | |
112 | 131 | |
113 | 132 | # Removing unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] |
114 | - db.delete_unique('super_archives_thread', ['subject_token', 'mailinglist_id']) | |
133 | + db.delete_unique(u'super_archives_thread', ['subject_token', 'mailinglist_id']) | |
115 | 134 | |
116 | - # Deleting model 'PageHit' | |
117 | - db.delete_table('super_archives_pagehit') | |
135 | + # Removing unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
136 | + db.delete_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
118 | 137 | |
119 | - # Deleting model 'EmailAddress' | |
120 | - db.delete_table('super_archives_emailaddress') | |
138 | + # Deleting model 'EmailAddressValidation' | |
139 | + db.delete_table(u'super_archives_emailaddressvalidation') | |
121 | 140 | |
122 | - # Deleting model 'UserProfile' | |
123 | - db.delete_table('super_archives_userprofile') | |
141 | + # Deleting model 'EmailAddress' | |
142 | + db.delete_table(u'super_archives_emailaddress') | |
124 | 143 | |
125 | 144 | # Deleting model 'MailingList' |
126 | - db.delete_table('super_archives_mailinglist') | |
145 | + db.delete_table(u'super_archives_mailinglist') | |
127 | 146 | |
128 | 147 | # Deleting model 'MailingListMembership' |
129 | - db.delete_table('super_archives_mailinglistmembership') | |
148 | + db.delete_table(u'super_archives_mailinglistmembership') | |
149 | + | |
150 | + # Deleting model 'Keyword' | |
151 | + db.delete_table(u'super_archives_keyword') | |
130 | 152 | |
131 | 153 | # Deleting model 'Thread' |
132 | - db.delete_table('super_archives_thread') | |
154 | + db.delete_table(u'super_archives_thread') | |
133 | 155 | |
134 | 156 | # Deleting model 'Vote' |
135 | - db.delete_table('super_archives_vote') | |
157 | + db.delete_table(u'super_archives_vote') | |
136 | 158 | |
137 | 159 | # Deleting model 'Message' |
138 | - db.delete_table('super_archives_message') | |
160 | + db.delete_table(u'super_archives_message') | |
161 | + | |
162 | + # Deleting model 'MessageBlock' | |
163 | + db.delete_table(u'super_archives_messageblock') | |
139 | 164 | |
140 | 165 | # Deleting model 'MessageMetadata' |
141 | - db.delete_table('super_archives_messagemetadata') | |
166 | + db.delete_table(u'super_archives_messagemetadata') | |
142 | 167 | |
143 | 168 | |
144 | 169 | models = { |
145 | - 'auth.group': { | |
146 | - 'Meta': {'object_name': 'Group'}, | |
147 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
148 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
149 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
150 | - }, | |
151 | - 'auth.permission': { | |
152 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
153 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
154 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
155 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
156 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
157 | - }, | |
158 | - 'auth.user': { | |
170 | + u'accounts.user': { | |
159 | 171 | 'Meta': {'object_name': 'User'}, |
172 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
160 | 173 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
161 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
174 | + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
175 | + 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
162 | 176 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
163 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
164 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
177 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
178 | + 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
179 | + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
180 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
181 | + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
165 | 182 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
166 | 183 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
167 | 184 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
168 | 185 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
169 | 186 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
187 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
170 | 188 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
171 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
172 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
189 | + 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
190 | + 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
191 | + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
192 | + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
193 | + 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
194 | + 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
195 | + }, | |
196 | + u'auth.group': { | |
197 | + 'Meta': {'object_name': 'Group'}, | |
198 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
199 | + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
200 | + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
201 | + }, | |
202 | + u'auth.permission': { | |
203 | + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
204 | + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
205 | + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
206 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
207 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
173 | 208 | }, |
174 | - 'contenttypes.contenttype': { | |
209 | + u'contenttypes.contenttype': { | |
175 | 210 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
176 | 211 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
177 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
212 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
178 | 213 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
179 | 214 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) |
180 | 215 | }, |
181 | - 'super_archives.emailaddress': { | |
182 | - 'Meta': {'object_name': 'EmailAddress'}, | |
216 | + u'super_archives.emailaddress': { | |
217 | + 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
183 | 218 | 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), |
184 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
219 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
185 | 220 | 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
186 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
187 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
221 | + 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
222 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
223 | + }, | |
224 | + u'super_archives.emailaddressvalidation': { | |
225 | + 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
226 | + 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
227 | + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
228 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
229 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
230 | + 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'aa4ac05f39464a05932308e9fda2daf5'", 'max_length': '32', 'null': 'True'}) | |
188 | 231 | }, |
189 | - 'super_archives.mailinglist': { | |
232 | + u'super_archives.keyword': { | |
233 | + 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
234 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
235 | + 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
236 | + 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
237 | + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
238 | + }, | |
239 | + u'super_archives.mailinglist': { | |
190 | 240 | 'Meta': {'object_name': 'MailingList'}, |
191 | 241 | 'description': ('django.db.models.fields.TextField', [], {}), |
192 | 242 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), |
193 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
243 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
194 | 244 | 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
195 | 245 | 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), |
196 | 246 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) |
197 | 247 | }, |
198 | - 'super_archives.mailinglistmembership': { | |
248 | + u'super_archives.mailinglistmembership': { | |
199 | 249 | 'Meta': {'object_name': 'MailingListMembership'}, |
200 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
201 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
202 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
250 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
251 | + 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
252 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
203 | 253 | }, |
204 | - 'super_archives.message': { | |
205 | - 'Meta': {'object_name': 'Message'}, | |
254 | + u'super_archives.message': { | |
255 | + 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
206 | 256 | 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), |
207 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
208 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
209 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
257 | + 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
258 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
210 | 259 | 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
211 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
212 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
213 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
214 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
260 | + 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
261 | + 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
262 | + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
263 | + 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
264 | + 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
265 | + }, | |
266 | + u'super_archives.messageblock': { | |
267 | + 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
268 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
269 | + 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
270 | + 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
271 | + 'order': ('django.db.models.fields.IntegerField', [], {}), | |
272 | + 'text': ('django.db.models.fields.TextField', [], {}) | |
215 | 273 | }, |
216 | - 'super_archives.messagemetadata': { | |
217 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
274 | + u'super_archives.messagemetadata': { | |
275 | + 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
218 | 276 | 'Meta': {'object_name': 'MessageMetadata'}, |
219 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
277 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
220 | 278 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
221 | 279 | 'value': ('django.db.models.fields.TextField', [], {}) |
222 | 280 | }, |
223 | - 'super_archives.pagehit': { | |
224 | - 'Meta': {'object_name': 'PageHit'}, | |
225 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
226 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
227 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
228 | - }, | |
229 | - 'super_archives.thread': { | |
230 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
231 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
232 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
233 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
281 | + u'super_archives.thread': { | |
282 | + 'Meta': {'ordering': "('-latest_message__received_time',)", 'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
283 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
284 | + 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
285 | + 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
286 | + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
287 | + 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
234 | 288 | 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) |
235 | 289 | }, |
236 | - 'super_archives.userprofile': { | |
237 | - 'Meta': {'object_name': 'UserProfile'}, | |
238 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
239 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
240 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
241 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
242 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
243 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
244 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
245 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
246 | - }, | |
247 | - 'super_archives.vote': { | |
290 | + u'super_archives.vote': { | |
248 | 291 | 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, |
249 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
250 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
251 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
292 | + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
293 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
294 | + 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
295 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
252 | 296 | } |
253 | 297 | } |
254 | 298 | |
255 | 299 | - complete_apps = ['super_archives'] |
300 | + complete_apps = ['super_archives'] | |
256 | 301 | \ No newline at end of file | ... | ... |
src/super_archives/migrations/0002_auto__add_field_userprofile_verification_hash.py
... | ... | @@ -1,133 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding field 'UserProfile.verification_hash' | |
12 | - db.add_column('super_archives_userprofile', 'verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True), keep_default=False) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Deleting field 'UserProfile.verification_hash' | |
18 | - db.delete_column('super_archives_userprofile', 'verification_hash') | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - 'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - 'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - 'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
111 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
112 | - }, | |
113 | - 'super_archives.userprofile': { | |
114 | - 'Meta': {'object_name': 'UserProfile'}, | |
115 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
116 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
117 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
119 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
120 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
122 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
123 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
124 | - }, | |
125 | - 'super_archives.vote': { | |
126 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
127 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
128 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
129 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
130 | - } | |
131 | - } | |
132 | - | |
133 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0003_auto__add_field_thread_score.py
... | ... | @@ -1,134 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding field 'Thread.score' | |
12 | - db.add_column('super_archives_thread', 'score', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Deleting field 'Thread.score' | |
18 | - db.delete_column('super_archives_thread', 'score') | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - 'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - 'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - 'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
113 | - }, | |
114 | - 'super_archives.userprofile': { | |
115 | - 'Meta': {'object_name': 'UserProfile'}, | |
116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
118 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
125 | - }, | |
126 | - 'super_archives.vote': { | |
127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
128 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
129 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
130 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
131 | - } | |
132 | - } | |
133 | - | |
134 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0004_auto__add_field_vote_created.py
... | ... | @@ -1,135 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding field 'Vote.created' | |
12 | - db.add_column('super_archives_vote', 'created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, default=datetime.datetime(2012, 1, 19, 18, 8, 46, 813949), blank=True), keep_default=False) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Deleting field 'Vote.created' | |
18 | - db.delete_column('super_archives_vote', 'created') | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - 'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - 'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - 'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
113 | - }, | |
114 | - 'super_archives.userprofile': { | |
115 | - 'Meta': {'object_name': 'UserProfile'}, | |
116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
118 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
125 | - }, | |
126 | - 'super_archives.vote': { | |
127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
128 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
129 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
130 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
131 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
132 | - } | |
133 | - } | |
134 | - | |
135 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0005_auto__add_field_message_spam__add_field_thread_spam.py
... | ... | @@ -1,143 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding field 'Message.spam' | |
12 | - db.add_column('super_archives_message', 'spam', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) | |
13 | - | |
14 | - # Adding field 'Thread.spam' | |
15 | - db.add_column('super_archives_thread', 'spam', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) | |
16 | - | |
17 | - | |
18 | - def backwards(self, orm): | |
19 | - | |
20 | - # Deleting field 'Message.spam' | |
21 | - db.delete_column('super_archives_message', 'spam') | |
22 | - | |
23 | - # Deleting field 'Thread.spam' | |
24 | - db.delete_column('super_archives_thread', 'spam') | |
25 | - | |
26 | - | |
27 | - models = { | |
28 | - 'auth.group': { | |
29 | - 'Meta': {'object_name': 'Group'}, | |
30 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
31 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
32 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
33 | - }, | |
34 | - 'auth.permission': { | |
35 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
36 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
37 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
38 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
39 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
40 | - }, | |
41 | - 'auth.user': { | |
42 | - 'Meta': {'object_name': 'User'}, | |
43 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
44 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
45 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
46 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
47 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
48 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
49 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
50 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
51 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
52 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
53 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
54 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
55 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
56 | - }, | |
57 | - 'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - 'super_archives.emailaddress': { | |
65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
71 | - }, | |
72 | - 'super_archives.mailinglist': { | |
73 | - 'Meta': {'object_name': 'MailingList'}, | |
74 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
75 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
76 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
78 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
79 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
80 | - }, | |
81 | - 'super_archives.mailinglistmembership': { | |
82 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
83 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
85 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
86 | - }, | |
87 | - 'super_archives.message': { | |
88 | - 'Meta': {'object_name': 'Message'}, | |
89 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
90 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
91 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
93 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
94 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
95 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
96 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
97 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
99 | - }, | |
100 | - 'super_archives.messagemetadata': { | |
101 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
102 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
105 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
106 | - }, | |
107 | - 'super_archives.pagehit': { | |
108 | - 'Meta': {'object_name': 'PageHit'}, | |
109 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
110 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
112 | - }, | |
113 | - 'super_archives.thread': { | |
114 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
115 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
116 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
117 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
118 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
119 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
120 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
121 | - }, | |
122 | - 'super_archives.userprofile': { | |
123 | - 'Meta': {'object_name': 'UserProfile'}, | |
124 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
125 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
126 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
127 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
128 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
129 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
130 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
131 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
132 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
133 | - }, | |
134 | - 'super_archives.vote': { | |
135 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
136 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
137 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
138 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
139 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
140 | - } | |
141 | - } | |
142 | - | |
143 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0006_auto.py
... | ... | @@ -1,143 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding index on 'Message', fields ['subject_clean'] | |
12 | - db.create_index('super_archives_message', ['subject_clean']) | |
13 | - | |
14 | - # Adding index on 'Message', fields ['subject'] | |
15 | - db.create_index('super_archives_message', ['subject']) | |
16 | - | |
17 | - | |
18 | - def backwards(self, orm): | |
19 | - | |
20 | - # Removing index on 'Message', fields ['subject'] | |
21 | - db.delete_index('super_archives_message', ['subject']) | |
22 | - | |
23 | - # Removing index on 'Message', fields ['subject_clean'] | |
24 | - db.delete_index('super_archives_message', ['subject_clean']) | |
25 | - | |
26 | - | |
27 | - models = { | |
28 | - 'auth.group': { | |
29 | - 'Meta': {'object_name': 'Group'}, | |
30 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
31 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
32 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
33 | - }, | |
34 | - 'auth.permission': { | |
35 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
36 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
37 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
38 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
39 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
40 | - }, | |
41 | - 'auth.user': { | |
42 | - 'Meta': {'object_name': 'User'}, | |
43 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
44 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
45 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
46 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
47 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
48 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
49 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
50 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
51 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
52 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
53 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
54 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
55 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
56 | - }, | |
57 | - 'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - 'super_archives.emailaddress': { | |
65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
71 | - }, | |
72 | - 'super_archives.mailinglist': { | |
73 | - 'Meta': {'object_name': 'MailingList'}, | |
74 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
75 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
76 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
78 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
79 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
80 | - }, | |
81 | - 'super_archives.mailinglistmembership': { | |
82 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
83 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
85 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
86 | - }, | |
87 | - 'super_archives.message': { | |
88 | - 'Meta': {'object_name': 'Message'}, | |
89 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
90 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
91 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
93 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
94 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
95 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
96 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
97 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
98 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
99 | - }, | |
100 | - 'super_archives.messagemetadata': { | |
101 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
102 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
105 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
106 | - }, | |
107 | - 'super_archives.pagehit': { | |
108 | - 'Meta': {'object_name': 'PageHit'}, | |
109 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
110 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
112 | - }, | |
113 | - 'super_archives.thread': { | |
114 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
115 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
116 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
117 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
118 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
119 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
120 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
121 | - }, | |
122 | - 'super_archives.userprofile': { | |
123 | - 'Meta': {'object_name': 'UserProfile'}, | |
124 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
125 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
126 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
127 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
128 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
129 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
130 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
131 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
132 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
133 | - }, | |
134 | - 'super_archives.vote': { | |
135 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
136 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
137 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
138 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
139 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
140 | - } | |
141 | - } | |
142 | - | |
143 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0007_auto.py
... | ... | @@ -1,137 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding index on 'EmailAddress', fields ['real_name'] | |
12 | - db.create_index('super_archives_emailaddress', ['real_name']) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Removing index on 'EmailAddress', fields ['real_name'] | |
18 | - db.delete_index('super_archives_emailaddress', ['real_name']) | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
89 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
90 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
91 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
92 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
93 | - }, | |
94 | - 'super_archives.messagemetadata': { | |
95 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
96 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
97 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
98 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
99 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
100 | - }, | |
101 | - 'super_archives.pagehit': { | |
102 | - 'Meta': {'object_name': 'PageHit'}, | |
103 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
104 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
105 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
106 | - }, | |
107 | - 'super_archives.thread': { | |
108 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
109 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
110 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
111 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
112 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
113 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
114 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
115 | - }, | |
116 | - 'super_archives.userprofile': { | |
117 | - 'Meta': {'object_name': 'UserProfile'}, | |
118 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
119 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
120 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
121 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
123 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
124 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
125 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
126 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
127 | - }, | |
128 | - 'super_archives.vote': { | |
129 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
130 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
131 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
132 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
133 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
134 | - } | |
135 | - } | |
136 | - | |
137 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0008_add_mailinglist_name_to_url.py
... | ... | @@ -1,142 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import DataMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(DataMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - page_hits = orm.PageHit.objects.all() | |
11 | - for page_hit in page_hits: | |
12 | - if page_hit.url_path.startswith('/archives/thread/'): | |
13 | - token = page_hit.url_path.split('/')[-1] | |
14 | - threads = orm.Thread.objects.filter(subject_token=token) | |
15 | - if not len(threads): continue | |
16 | - thread = threads[0] | |
17 | - new_url = '/archives/thread/%s/%s' % (thread.mailinglist.name, | |
18 | - thread.subject_token) | |
19 | - page_hit.url_path = new_url | |
20 | - page_hit.save() | |
21 | - | |
22 | - | |
23 | - def backwards(self, orm): | |
24 | - raise RuntimeError("Cannot reverse this migration.") | |
25 | - | |
26 | - models = { | |
27 | - 'auth.group': { | |
28 | - 'Meta': {'object_name': 'Group'}, | |
29 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
30 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
31 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
32 | - }, | |
33 | - 'auth.permission': { | |
34 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
35 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
36 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
37 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
38 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
39 | - }, | |
40 | - 'auth.user': { | |
41 | - 'Meta': {'object_name': 'User'}, | |
42 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
43 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
44 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
45 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
46 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
47 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
48 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
49 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
50 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
51 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
52 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
53 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
54 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
55 | - }, | |
56 | - 'contenttypes.contenttype': { | |
57 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
58 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
59 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
60 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
61 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
62 | - }, | |
63 | - 'super_archives.emailaddress': { | |
64 | - 'Meta': {'object_name': 'EmailAddress'}, | |
65 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
66 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
67 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
68 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
69 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
70 | - }, | |
71 | - 'super_archives.mailinglist': { | |
72 | - 'Meta': {'object_name': 'MailingList'}, | |
73 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
74 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
75 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
76 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
77 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
78 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
79 | - }, | |
80 | - 'super_archives.mailinglistmembership': { | |
81 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
82 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
83 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
85 | - }, | |
86 | - 'super_archives.message': { | |
87 | - 'Meta': {'object_name': 'Message'}, | |
88 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
89 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
90 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
91 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
92 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
93 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
94 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
95 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
96 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
97 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
98 | - }, | |
99 | - 'super_archives.messagemetadata': { | |
100 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
101 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
102 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
103 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
104 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
105 | - }, | |
106 | - 'super_archives.pagehit': { | |
107 | - 'Meta': {'object_name': 'PageHit'}, | |
108 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
109 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
110 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
111 | - }, | |
112 | - 'super_archives.thread': { | |
113 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
114 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
115 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
116 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
117 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
118 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
119 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
120 | - }, | |
121 | - 'super_archives.userprofile': { | |
122 | - 'Meta': {'object_name': 'UserProfile'}, | |
123 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
124 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
125 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
126 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
127 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
128 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
129 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
130 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
131 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
132 | - }, | |
133 | - 'super_archives.vote': { | |
134 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
135 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
136 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
137 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
138 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
139 | - } | |
140 | - } | |
141 | - | |
142 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0009_auto__del_field_message_mailinglist.py
... | ... | @@ -1,136 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Deleting field 'Message.mailinglist' | |
12 | - db.delete_column('super_archives_message', 'mailinglist_id') | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # User chose to not deal with backwards NULL issues for 'Message.mailinglist' | |
18 | - raise RuntimeError("Cannot reverse this migration. 'Message.mailinglist' and its values cannot be restored.") | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - 'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - 'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - 'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
114 | - }, | |
115 | - 'super_archives.userprofile': { | |
116 | - 'Meta': {'object_name': 'UserProfile'}, | |
117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
119 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
126 | - }, | |
127 | - 'super_archives.vote': { | |
128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
130 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
133 | - } | |
134 | - } | |
135 | - | |
136 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0010_auto__add_unique_message_message_id_thread.py
... | ... | @@ -1,136 +0,0 @@ |
1 | -# encoding: utf-8 | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | -class Migration(SchemaMigration): | |
8 | - | |
9 | - def forwards(self, orm): | |
10 | - | |
11 | - # Adding unique constraint on 'Message', fields ['message_id', 'thread'] | |
12 | - db.create_unique('super_archives_message', ['message_id', 'thread_id']) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Removing unique constraint on 'Message', fields ['message_id', 'thread'] | |
18 | - db.delete_unique('super_archives_message', ['message_id', 'thread_id']) | |
19 | - | |
20 | - | |
21 | - models = { | |
22 | - 'auth.group': { | |
23 | - 'Meta': {'object_name': 'Group'}, | |
24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
27 | - }, | |
28 | - 'auth.permission': { | |
29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
34 | - }, | |
35 | - 'auth.user': { | |
36 | - 'Meta': {'object_name': 'User'}, | |
37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
50 | - }, | |
51 | - 'contenttypes.contenttype': { | |
52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
57 | - }, | |
58 | - 'super_archives.emailaddress': { | |
59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
65 | - }, | |
66 | - 'super_archives.mailinglist': { | |
67 | - 'Meta': {'object_name': 'MailingList'}, | |
68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
74 | - }, | |
75 | - 'super_archives.mailinglistmembership': { | |
76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
80 | - }, | |
81 | - 'super_archives.message': { | |
82 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
92 | - }, | |
93 | - 'super_archives.messagemetadata': { | |
94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
99 | - }, | |
100 | - 'super_archives.pagehit': { | |
101 | - 'Meta': {'object_name': 'PageHit'}, | |
102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
105 | - }, | |
106 | - 'super_archives.thread': { | |
107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
114 | - }, | |
115 | - 'super_archives.userprofile': { | |
116 | - 'Meta': {'object_name': 'UserProfile'}, | |
117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
119 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
126 | - }, | |
127 | - 'super_archives.vote': { | |
128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
130 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
133 | - } | |
134 | - } | |
135 | - | |
136 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0011_auto__chg_field_userprofile_webpage.py
... | ... | @@ -1,135 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - | |
12 | - # Changing field 'UserProfile.webpage' | |
13 | - db.alter_column(u'super_archives_userprofile', 'webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True)) | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # User chose to not deal with backwards NULL issues for 'UserProfile.webpage' | |
18 | - raise RuntimeError("Cannot reverse this migration. 'UserProfile.webpage' and its values cannot be restored.") | |
19 | - | |
20 | - models = { | |
21 | - u'auth.group': { | |
22 | - 'Meta': {'object_name': 'Group'}, | |
23 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
24 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
25 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
26 | - }, | |
27 | - u'auth.permission': { | |
28 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
29 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
30 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
32 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
33 | - }, | |
34 | - u'auth.user': { | |
35 | - 'Meta': {'object_name': 'User'}, | |
36 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
37 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
38 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
39 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
40 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
41 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
42 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
43 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
44 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
45 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
46 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
47 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
48 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
49 | - }, | |
50 | - u'contenttypes.contenttype': { | |
51 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
52 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
54 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
56 | - }, | |
57 | - u'super_archives.emailaddress': { | |
58 | - 'Meta': {'object_name': 'EmailAddress'}, | |
59 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
62 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
63 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['auth.User']"}) | |
64 | - }, | |
65 | - u'super_archives.mailinglist': { | |
66 | - 'Meta': {'object_name': 'MailingList'}, | |
67 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
68 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
69 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
70 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
71 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
72 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
73 | - }, | |
74 | - u'super_archives.mailinglistmembership': { | |
75 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
78 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}) | |
79 | - }, | |
80 | - u'super_archives.message': { | |
81 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
82 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
83 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
86 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
87 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
88 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
89 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
90 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
91 | - }, | |
92 | - u'super_archives.messagemetadata': { | |
93 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
94 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
95 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
96 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
97 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
98 | - }, | |
99 | - u'super_archives.pagehit': { | |
100 | - 'Meta': {'object_name': 'PageHit'}, | |
101 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
103 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
104 | - }, | |
105 | - u'super_archives.thread': { | |
106 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
107 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
108 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
109 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
110 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
111 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
113 | - }, | |
114 | - u'super_archives.userprofile': { | |
115 | - 'Meta': {'object_name': 'UserProfile'}, | |
116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
118 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True'}), | |
123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
125 | - }, | |
126 | - u'super_archives.vote': { | |
127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
128 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
130 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
131 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}) | |
132 | - } | |
133 | - } | |
134 | - | |
135 | - complete_apps = ['super_archives'] | |
136 | 0 | \ No newline at end of file |
src/super_archives/migrations/0012_auto__del_userprofile__chg_field_vote_user__chg_field_emailaddress_use.py
... | ... | @@ -1,159 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Deleting model 'UserProfile' | |
12 | - db.delete_table(u'super_archives_userprofile') | |
13 | - | |
14 | - | |
15 | - # Changing field 'Vote.user' | |
16 | - db.alter_column(u'super_archives_vote', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])) | |
17 | - | |
18 | - # Changing field 'EmailAddress.user' | |
19 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['accounts.User'])) | |
20 | - | |
21 | - # Changing field 'MailingListMembership.user' | |
22 | - db.alter_column(u'super_archives_mailinglistmembership', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])) | |
23 | - | |
24 | - def backwards(self, orm): | |
25 | - # Adding model 'UserProfile' | |
26 | - db.create_table(u'super_archives_userprofile', ( | |
27 | - ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True)), | |
28 | - ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
29 | - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), | |
30 | - ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True)), | |
31 | - ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
32 | - ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
33 | - ('verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)), | |
34 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
35 | - ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
36 | - )) | |
37 | - db.send_create_signal(u'super_archives', ['UserProfile']) | |
38 | - | |
39 | - | |
40 | - # Changing field 'Vote.user' | |
41 | - db.alter_column(u'super_archives_vote', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])) | |
42 | - | |
43 | - # Changing field 'EmailAddress.user' | |
44 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['auth.User'])) | |
45 | - | |
46 | - # Changing field 'MailingListMembership.user' | |
47 | - db.alter_column(u'super_archives_mailinglistmembership', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])) | |
48 | - | |
49 | - models = { | |
50 | - u'accounts.user': { | |
51 | - 'Meta': {'object_name': 'User'}, | |
52 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
53 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
54 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
55 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
56 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
57 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
58 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
59 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
60 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
61 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
62 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
63 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
64 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
65 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
66 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
67 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
68 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
69 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
70 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
71 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
72 | - }, | |
73 | - u'auth.group': { | |
74 | - 'Meta': {'object_name': 'Group'}, | |
75 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
76 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
77 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
78 | - }, | |
79 | - u'auth.permission': { | |
80 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
81 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
82 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
85 | - }, | |
86 | - u'contenttypes.contenttype': { | |
87 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
88 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
89 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
90 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
91 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
92 | - }, | |
93 | - u'super_archives.emailaddress': { | |
94 | - 'Meta': {'object_name': 'EmailAddress'}, | |
95 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
98 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
99 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
100 | - }, | |
101 | - u'super_archives.mailinglist': { | |
102 | - 'Meta': {'object_name': 'MailingList'}, | |
103 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
104 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
105 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
106 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
107 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
108 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
109 | - }, | |
110 | - u'super_archives.mailinglistmembership': { | |
111 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
113 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
114 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
115 | - }, | |
116 | - u'super_archives.message': { | |
117 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
118 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
119 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
120 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
121 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
122 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
123 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
124 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
125 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
126 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
127 | - }, | |
128 | - u'super_archives.messagemetadata': { | |
129 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
130 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
131 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
132 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
133 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
134 | - }, | |
135 | - u'super_archives.pagehit': { | |
136 | - 'Meta': {'object_name': 'PageHit'}, | |
137 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
138 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
139 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
140 | - }, | |
141 | - u'super_archives.thread': { | |
142 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
143 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
144 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
145 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
146 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
147 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
148 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
149 | - }, | |
150 | - u'super_archives.vote': { | |
151 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
152 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
153 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
154 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
155 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
156 | - } | |
157 | - } | |
158 | - | |
159 | - complete_apps = ['super_archives'] | |
160 | 0 | \ No newline at end of file |
src/super_archives/migrations/0013_auto__add_emailaddressvalidation.py
... | ... | @@ -1,145 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding model 'EmailAddressValidation' | |
12 | - db.create_table(u'super_archives_emailaddressvalidation', ( | |
13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | - ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), | |
15 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails_not_validated', null=True, to=orm['accounts.User'])), | |
16 | - ('validation_key', self.gf('django.db.models.fields.CharField')(default='2a261e5a2f944d36b252629b1a108e7b', max_length=32)), | |
17 | - ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
18 | - )) | |
19 | - db.send_create_signal(u'super_archives', ['EmailAddressValidation']) | |
20 | - | |
21 | - | |
22 | - def backwards(self, orm): | |
23 | - # Deleting model 'EmailAddressValidation' | |
24 | - db.delete_table(u'super_archives_emailaddressvalidation') | |
25 | - | |
26 | - | |
27 | - models = { | |
28 | - u'accounts.user': { | |
29 | - 'Meta': {'object_name': 'User'}, | |
30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
50 | - }, | |
51 | - u'auth.group': { | |
52 | - 'Meta': {'object_name': 'Group'}, | |
53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
56 | - }, | |
57 | - u'auth.permission': { | |
58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
63 | - }, | |
64 | - u'contenttypes.contenttype': { | |
65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
70 | - }, | |
71 | - u'super_archives.emailaddress': { | |
72 | - 'Meta': {'object_name': 'EmailAddress'}, | |
73 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
75 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
76 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
78 | - }, | |
79 | - u'super_archives.emailaddressvalidation': { | |
80 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
81 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
82 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
85 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'0dd1ae4b49bc43ff904c1cfa3b2e6ef6'", 'max_length': '32'}) | |
86 | - }, | |
87 | - u'super_archives.mailinglist': { | |
88 | - 'Meta': {'object_name': 'MailingList'}, | |
89 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
90 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
93 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
94 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
95 | - }, | |
96 | - u'super_archives.mailinglistmembership': { | |
97 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
99 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
100 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
101 | - }, | |
102 | - u'super_archives.message': { | |
103 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
104 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
105 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
106 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
107 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
108 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
109 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
110 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
111 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
112 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
113 | - }, | |
114 | - u'super_archives.messagemetadata': { | |
115 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
116 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
119 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
120 | - }, | |
121 | - u'super_archives.pagehit': { | |
122 | - 'Meta': {'object_name': 'PageHit'}, | |
123 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
124 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
125 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
126 | - }, | |
127 | - u'super_archives.thread': { | |
128 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
130 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
131 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
132 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
133 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
134 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
135 | - }, | |
136 | - u'super_archives.vote': { | |
137 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
138 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
140 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
141 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
142 | - } | |
143 | - } | |
144 | - | |
145 | - complete_apps = ['super_archives'] | |
146 | 0 | \ No newline at end of file |
src/super_archives/migrations/0014_auto__chg_field_emailaddressvalidation_validation_key.py
... | ... | @@ -1,138 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - | |
12 | - # Changing field 'EmailAddressValidation.validation_key' | |
13 | - db.alter_column(u'super_archives_emailaddressvalidation', 'validation_key', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)) | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Changing field 'EmailAddressValidation.validation_key' | |
18 | - db.alter_column(u'super_archives_emailaddressvalidation', 'validation_key', self.gf('django.db.models.fields.CharField')(max_length=32)) | |
19 | - | |
20 | - models = { | |
21 | - u'accounts.user': { | |
22 | - 'Meta': {'object_name': 'User'}, | |
23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
43 | - }, | |
44 | - u'auth.group': { | |
45 | - 'Meta': {'object_name': 'Group'}, | |
46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
49 | - }, | |
50 | - u'auth.permission': { | |
51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
56 | - }, | |
57 | - u'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - u'super_archives.emailaddress': { | |
65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
71 | - }, | |
72 | - u'super_archives.emailaddressvalidation': { | |
73 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'30a2065c72c1402986a11e7c5369f5a5'", 'max_length': '32', 'null': 'True'}) | |
79 | - }, | |
80 | - u'super_archives.mailinglist': { | |
81 | - 'Meta': {'object_name': 'MailingList'}, | |
82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
88 | - }, | |
89 | - u'super_archives.mailinglistmembership': { | |
90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
94 | - }, | |
95 | - u'super_archives.message': { | |
96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
106 | - }, | |
107 | - u'super_archives.messagemetadata': { | |
108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
113 | - }, | |
114 | - u'super_archives.pagehit': { | |
115 | - 'Meta': {'object_name': 'PageHit'}, | |
116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
119 | - }, | |
120 | - u'super_archives.thread': { | |
121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
128 | - }, | |
129 | - u'super_archives.vote': { | |
130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
135 | - } | |
136 | - } | |
137 | - | |
138 | - complete_apps = ['super_archives'] | |
139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0015_auto__chg_field_emailaddress_user.py
... | ... | @@ -1,138 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - | |
12 | - # Changing field 'EmailAddress.user' | |
13 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, on_delete=models.SET_NULL, to=orm['accounts.User'])) | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - | |
17 | - # Changing field 'EmailAddress.user' | |
18 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['accounts.User'])) | |
19 | - | |
20 | - models = { | |
21 | - u'accounts.user': { | |
22 | - 'Meta': {'object_name': 'User'}, | |
23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
43 | - }, | |
44 | - u'auth.group': { | |
45 | - 'Meta': {'object_name': 'Group'}, | |
46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
49 | - }, | |
50 | - u'auth.permission': { | |
51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
56 | - }, | |
57 | - u'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - u'super_archives.emailaddress': { | |
65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
71 | - }, | |
72 | - u'super_archives.emailaddressvalidation': { | |
73 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'a9cfbe23d1be41e4beeafa7790325e26'", 'max_length': '32', 'null': 'True'}) | |
79 | - }, | |
80 | - u'super_archives.mailinglist': { | |
81 | - 'Meta': {'object_name': 'MailingList'}, | |
82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
88 | - }, | |
89 | - u'super_archives.mailinglistmembership': { | |
90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
94 | - }, | |
95 | - u'super_archives.message': { | |
96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
106 | - }, | |
107 | - u'super_archives.messagemetadata': { | |
108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
113 | - }, | |
114 | - u'super_archives.pagehit': { | |
115 | - 'Meta': {'object_name': 'PageHit'}, | |
116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
119 | - }, | |
120 | - u'super_archives.thread': { | |
121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
128 | - }, | |
129 | - u'super_archives.vote': { | |
130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
135 | - } | |
136 | - } | |
137 | - | |
138 | - complete_apps = ['super_archives'] | |
139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0016_auto__add_unique_emailaddressvalidation_user_address.py
... | ... | @@ -1,138 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
12 | - db.create_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - # Removing unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
17 | - db.delete_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
18 | - | |
19 | - | |
20 | - models = { | |
21 | - u'accounts.user': { | |
22 | - 'Meta': {'object_name': 'User'}, | |
23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
43 | - }, | |
44 | - u'auth.group': { | |
45 | - 'Meta': {'object_name': 'Group'}, | |
46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
49 | - }, | |
50 | - u'auth.permission': { | |
51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
56 | - }, | |
57 | - u'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - u'super_archives.emailaddress': { | |
65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
71 | - }, | |
72 | - u'super_archives.emailaddressvalidation': { | |
73 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'cfda46852e7e4e4a9e34a57c3d3b2330'", 'max_length': '32', 'null': 'True'}) | |
79 | - }, | |
80 | - u'super_archives.mailinglist': { | |
81 | - 'Meta': {'object_name': 'MailingList'}, | |
82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
88 | - }, | |
89 | - u'super_archives.mailinglistmembership': { | |
90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
94 | - }, | |
95 | - u'super_archives.message': { | |
96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
106 | - }, | |
107 | - u'super_archives.messagemetadata': { | |
108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
113 | - }, | |
114 | - u'super_archives.pagehit': { | |
115 | - 'Meta': {'object_name': 'PageHit'}, | |
116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
119 | - }, | |
120 | - u'super_archives.thread': { | |
121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
128 | - }, | |
129 | - u'super_archives.vote': { | |
130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
135 | - } | |
136 | - } | |
137 | - | |
138 | - complete_apps = ['super_archives'] | |
139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0017_auto__add_keyword.py
... | ... | @@ -1,151 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding model 'Keyword' | |
12 | - db.create_table(u'super_archives_keyword', ( | |
13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | - ('keyword', self.gf('django.db.models.fields.CharField')(max_length='128')), | |
15 | - ('weight', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
16 | - ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'])), | |
17 | - )) | |
18 | - db.send_create_signal(u'super_archives', ['Keyword']) | |
19 | - | |
20 | - | |
21 | - def backwards(self, orm): | |
22 | - # Deleting model 'Keyword' | |
23 | - db.delete_table(u'super_archives_keyword') | |
24 | - | |
25 | - | |
26 | - models = { | |
27 | - u'accounts.user': { | |
28 | - 'Meta': {'object_name': 'User'}, | |
29 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
30 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
31 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
32 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
33 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
34 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
35 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
36 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
37 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
38 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
39 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
40 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
41 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
42 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
43 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
44 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
45 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
46 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
47 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
48 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
49 | - }, | |
50 | - u'auth.group': { | |
51 | - 'Meta': {'object_name': 'Group'}, | |
52 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
53 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
54 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
55 | - }, | |
56 | - u'auth.permission': { | |
57 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
58 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
59 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
62 | - }, | |
63 | - u'contenttypes.contenttype': { | |
64 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
65 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
66 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
67 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
68 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
69 | - }, | |
70 | - u'super_archives.emailaddress': { | |
71 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
72 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
74 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
75 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
76 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
77 | - }, | |
78 | - u'super_archives.emailaddressvalidation': { | |
79 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
80 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
81 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
82 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
83 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
84 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'e2d18f1f8d6445fc91c04d17acdbe23a'", 'max_length': '32', 'null': 'True'}) | |
85 | - }, | |
86 | - u'super_archives.keyword': { | |
87 | - 'Meta': {'object_name': 'Keyword'}, | |
88 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
89 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
90 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
91 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
92 | - }, | |
93 | - u'super_archives.mailinglist': { | |
94 | - 'Meta': {'object_name': 'MailingList'}, | |
95 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
96 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
97 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
98 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
99 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
100 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
101 | - }, | |
102 | - u'super_archives.mailinglistmembership': { | |
103 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
104 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
105 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
106 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
107 | - }, | |
108 | - u'super_archives.message': { | |
109 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
110 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
111 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
113 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
114 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
115 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
116 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
117 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
118 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
119 | - }, | |
120 | - u'super_archives.messagemetadata': { | |
121 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
122 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
123 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
124 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
125 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
126 | - }, | |
127 | - u'super_archives.pagehit': { | |
128 | - 'Meta': {'object_name': 'PageHit'}, | |
129 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
131 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
132 | - }, | |
133 | - u'super_archives.thread': { | |
134 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
135 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
136 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
137 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
138 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
139 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
140 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
141 | - }, | |
142 | - u'super_archives.vote': { | |
143 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
144 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
145 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
146 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
147 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
148 | - } | |
149 | - } | |
150 | - | |
151 | - complete_apps = ['super_archives'] | |
152 | 0 | \ No newline at end of file |
src/super_archives/migrations/0018_auto__add_index_message_received_time.py
... | ... | @@ -1,145 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding index on 'Message', fields ['received_time'] | |
12 | - db.create_index(u'super_archives_message', ['received_time']) | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - # Removing index on 'Message', fields ['received_time'] | |
17 | - db.delete_index(u'super_archives_message', ['received_time']) | |
18 | - | |
19 | - | |
20 | - models = { | |
21 | - u'accounts.user': { | |
22 | - 'Meta': {'object_name': 'User'}, | |
23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
43 | - }, | |
44 | - u'auth.group': { | |
45 | - 'Meta': {'object_name': 'Group'}, | |
46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
49 | - }, | |
50 | - u'auth.permission': { | |
51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
56 | - }, | |
57 | - u'contenttypes.contenttype': { | |
58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
63 | - }, | |
64 | - u'super_archives.emailaddress': { | |
65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
71 | - }, | |
72 | - u'super_archives.emailaddressvalidation': { | |
73 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'1775e2bdc5e341a9b9b8a6346eec1024'", 'max_length': '32', 'null': 'True'}) | |
79 | - }, | |
80 | - u'super_archives.keyword': { | |
81 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
82 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
83 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
84 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
85 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
86 | - }, | |
87 | - u'super_archives.mailinglist': { | |
88 | - 'Meta': {'object_name': 'MailingList'}, | |
89 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
90 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
92 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
93 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
94 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
95 | - }, | |
96 | - u'super_archives.mailinglistmembership': { | |
97 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
99 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
100 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
101 | - }, | |
102 | - u'super_archives.message': { | |
103 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
104 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
105 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
106 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
107 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
108 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
109 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
110 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
111 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
112 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
113 | - }, | |
114 | - u'super_archives.messagemetadata': { | |
115 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
116 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
119 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
120 | - }, | |
121 | - u'super_archives.pagehit': { | |
122 | - 'Meta': {'object_name': 'PageHit'}, | |
123 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
124 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
125 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
126 | - }, | |
127 | - u'super_archives.thread': { | |
128 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
130 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
131 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
132 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
133 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
134 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
135 | - }, | |
136 | - u'super_archives.vote': { | |
137 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
138 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
140 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
141 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
142 | - } | |
143 | - } | |
144 | - | |
145 | - complete_apps = ['super_archives'] | |
146 | 0 | \ No newline at end of file |
src/super_archives/migrations/0019_auto__add_messageblock.py
... | ... | @@ -1,160 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Adding model 'MessageBlock' | |
12 | - db.create_table(u'super_archives_messageblock', ( | |
13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
14 | - ('message', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blocks', to=orm['super_archives.Message'])), | |
15 | - ('text', self.gf('django.db.models.fields.TextField')()), | |
16 | - ('is_reply', self.gf('django.db.models.fields.BooleanField')()), | |
17 | - ('order', self.gf('django.db.models.fields.IntegerField')()), | |
18 | - )) | |
19 | - db.send_create_signal(u'super_archives', ['MessageBlock']) | |
20 | - | |
21 | - | |
22 | - def backwards(self, orm): | |
23 | - # Deleting model 'MessageBlock' | |
24 | - db.delete_table(u'super_archives_messageblock') | |
25 | - | |
26 | - | |
27 | - models = { | |
28 | - u'accounts.user': { | |
29 | - 'Meta': {'object_name': 'User'}, | |
30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
50 | - }, | |
51 | - u'auth.group': { | |
52 | - 'Meta': {'object_name': 'Group'}, | |
53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
56 | - }, | |
57 | - u'auth.permission': { | |
58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
63 | - }, | |
64 | - u'contenttypes.contenttype': { | |
65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
70 | - }, | |
71 | - u'super_archives.emailaddress': { | |
72 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
73 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
75 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
76 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
78 | - }, | |
79 | - u'super_archives.emailaddressvalidation': { | |
80 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
81 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
82 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
85 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'f7c4c15797f34834bf5a8b9bd84fabee'", 'max_length': '32', 'null': 'True'}) | |
86 | - }, | |
87 | - u'super_archives.keyword': { | |
88 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
89 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
90 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
92 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
93 | - }, | |
94 | - u'super_archives.mailinglist': { | |
95 | - 'Meta': {'object_name': 'MailingList'}, | |
96 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
97 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
99 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
100 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
101 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
102 | - }, | |
103 | - u'super_archives.mailinglistmembership': { | |
104 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
105 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
106 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
107 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
108 | - }, | |
109 | - u'super_archives.message': { | |
110 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
111 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
112 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
113 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
114 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
115 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
116 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
117 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
118 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
119 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
120 | - }, | |
121 | - u'super_archives.messageblock': { | |
122 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
123 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
124 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
125 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
126 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
127 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
128 | - }, | |
129 | - u'super_archives.messagemetadata': { | |
130 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
131 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
133 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
134 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
135 | - }, | |
136 | - u'super_archives.pagehit': { | |
137 | - 'Meta': {'object_name': 'PageHit'}, | |
138 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
140 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
141 | - }, | |
142 | - u'super_archives.thread': { | |
143 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
144 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
145 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
146 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
147 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
148 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
149 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
150 | - }, | |
151 | - u'super_archives.vote': { | |
152 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
153 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
154 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
155 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
156 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
157 | - } | |
158 | - } | |
159 | - | |
160 | - complete_apps = ['super_archives'] | |
161 | 0 | \ No newline at end of file |
src/super_archives/migrations/0020_pagehit_to_hitcounter.py
... | ... | @@ -1,190 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | - | |
3 | -import datetime | |
4 | - | |
5 | -from south.db import db | |
6 | -from south.logger import _logger | |
7 | -from south.v2 import DataMigration | |
8 | -from django.core.urlresolvers import resolve | |
9 | -from django.db import models | |
10 | - | |
11 | - | |
12 | -class Migration(DataMigration): | |
13 | - | |
14 | - def forwards(self, orm): | |
15 | - """Migrate all data from the PageHit model to the given object with | |
16 | - the HitCounterMixin.""" | |
17 | - | |
18 | - content_type = orm['contenttypes.ContentType'].objects.get( | |
19 | - model='thread', | |
20 | - app_label='super_archives' | |
21 | - ) | |
22 | - | |
23 | - for obj in orm.PageHit.objects.all(): | |
24 | - view = resolve(obj.url_path) | |
25 | - | |
26 | - try: | |
27 | - thread = orm.Thread.objects.get( | |
28 | - subject_token=view.kwargs.get('thread_token'), | |
29 | - mailinglist__name=view.kwargs.get('mailinglist'), | |
30 | - ) | |
31 | - except orm.Thread.DoesNotExist: | |
32 | - continue | |
33 | - | |
34 | - hit_obj, created = orm['hitcounter.Hit'].objects.get_or_create( | |
35 | - content_type=content_type, | |
36 | - object_pk=thread.pk, | |
37 | - defaults={'hits': obj.hit_count}, | |
38 | - ) | |
39 | - | |
40 | - if not created: | |
41 | - hit_obj.hits = obj.hit_count | |
42 | - hit_obj.save() | |
43 | - | |
44 | - def backwards(self, orm): | |
45 | - _logger.warning(u"This backwards don't get the data of PageHit back.") | |
46 | - | |
47 | - models = { | |
48 | - u'accounts.user': { | |
49 | - 'Meta': {'object_name': 'User'}, | |
50 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
51 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
52 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
53 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
54 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
55 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
57 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
58 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
59 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
60 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
61 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
62 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
63 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
64 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
65 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
66 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
67 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
68 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
69 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
70 | - }, | |
71 | - u'auth.group': { | |
72 | - 'Meta': {'object_name': 'Group'}, | |
73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
74 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
75 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
76 | - }, | |
77 | - u'auth.permission': { | |
78 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
79 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
80 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
82 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
83 | - }, | |
84 | - u'contenttypes.contenttype': { | |
85 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
86 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
88 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
89 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
90 | - }, | |
91 | - u'hitcounter.hit': { | |
92 | - 'Meta': {'unique_together': "(('content_type', 'object_pk'),)", 'object_name': 'Hit'}, | |
93 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
94 | - 'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}), | |
95 | - 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), | |
96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'object_pk': ('django.db.models.fields.CharField', [], {'max_length': '256'}), | |
98 | - 'updated': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}) | |
99 | - }, | |
100 | - u'super_archives.emailaddress': { | |
101 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
102 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
105 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
106 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
107 | - }, | |
108 | - u'super_archives.emailaddressvalidation': { | |
109 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
110 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
111 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
113 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
114 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'60d2bcbd9d924d9f8139c2d1227223ed'", 'max_length': '32', 'null': 'True'}) | |
115 | - }, | |
116 | - u'super_archives.keyword': { | |
117 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
118 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
119 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
120 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
121 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
122 | - }, | |
123 | - u'super_archives.mailinglist': { | |
124 | - 'Meta': {'object_name': 'MailingList'}, | |
125 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
126 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
127 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
128 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
129 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
130 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
131 | - }, | |
132 | - u'super_archives.mailinglistmembership': { | |
133 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
134 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
135 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
136 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
137 | - }, | |
138 | - u'super_archives.message': { | |
139 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
140 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
141 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
142 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
143 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
144 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
145 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
146 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
147 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
148 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
149 | - }, | |
150 | - u'super_archives.messageblock': { | |
151 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
152 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
153 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
154 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
155 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
156 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
157 | - }, | |
158 | - u'super_archives.messagemetadata': { | |
159 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
160 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
161 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
162 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
163 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
164 | - }, | |
165 | - u'super_archives.pagehit': { | |
166 | - 'Meta': {'object_name': 'PageHit'}, | |
167 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
168 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
169 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
170 | - }, | |
171 | - u'super_archives.thread': { | |
172 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
173 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
174 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
175 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
176 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
177 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
178 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
179 | - }, | |
180 | - u'super_archives.vote': { | |
181 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
182 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
183 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
184 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
185 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
186 | - } | |
187 | - } | |
188 | - | |
189 | - complete_apps = ['hitcounter', 'super_archives'] | |
190 | - symmetrical = True |
src/super_archives/migrations/0021_auto__del_pagehit.py
... | ... | @@ -1,152 +0,0 @@ |
1 | -# -*- coding: utf-8 -*- | |
2 | -import datetime | |
3 | -from south.db import db | |
4 | -from south.v2 import SchemaMigration | |
5 | -from django.db import models | |
6 | - | |
7 | - | |
8 | -class Migration(SchemaMigration): | |
9 | - | |
10 | - def forwards(self, orm): | |
11 | - # Deleting model 'PageHit' | |
12 | - db.delete_table(u'super_archives_pagehit') | |
13 | - | |
14 | - | |
15 | - def backwards(self, orm): | |
16 | - # Adding model 'PageHit' | |
17 | - db.create_table(u'super_archives_pagehit', ( | |
18 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
19 | - ('hit_count', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
20 | - ('url_path', self.gf('django.db.models.fields.CharField')(max_length=2048, unique=True, db_index=True)), | |
21 | - )) | |
22 | - db.send_create_signal(u'super_archives', ['PageHit']) | |
23 | - | |
24 | - | |
25 | - models = { | |
26 | - u'accounts.user': { | |
27 | - 'Meta': {'object_name': 'User'}, | |
28 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
29 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
30 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
31 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
32 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
33 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
34 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
35 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
36 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
37 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
38 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
39 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
40 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
48 | - }, | |
49 | - u'auth.group': { | |
50 | - 'Meta': {'object_name': 'Group'}, | |
51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
54 | - }, | |
55 | - u'auth.permission': { | |
56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
61 | - }, | |
62 | - u'contenttypes.contenttype': { | |
63 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
64 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
66 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
67 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
68 | - }, | |
69 | - u'super_archives.emailaddress': { | |
70 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
71 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
72 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
73 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
74 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
75 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
76 | - }, | |
77 | - u'super_archives.emailaddressvalidation': { | |
78 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
79 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
80 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
82 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
83 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'dabb0135cf6c436da11caf5dac7e8c10'", 'max_length': '32', 'null': 'True'}) | |
84 | - }, | |
85 | - u'super_archives.keyword': { | |
86 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
88 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
89 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
90 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
91 | - }, | |
92 | - u'super_archives.mailinglist': { | |
93 | - 'Meta': {'object_name': 'MailingList'}, | |
94 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
95 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
97 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
98 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
99 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
100 | - }, | |
101 | - u'super_archives.mailinglistmembership': { | |
102 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
104 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
105 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
106 | - }, | |
107 | - u'super_archives.message': { | |
108 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
109 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
110 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
111 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
112 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
113 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
114 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
115 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
116 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
117 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
118 | - }, | |
119 | - u'super_archives.messageblock': { | |
120 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
121 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
122 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
123 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
124 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
125 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
126 | - }, | |
127 | - u'super_archives.messagemetadata': { | |
128 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
129 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
131 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
132 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
133 | - }, | |
134 | - u'super_archives.thread': { | |
135 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
136 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
137 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
138 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
139 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
140 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
141 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
142 | - }, | |
143 | - u'super_archives.vote': { | |
144 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
145 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
146 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
147 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
148 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
149 | - } | |
150 | - } | |
151 | - | |
152 | - complete_apps = ['super_archives'] | |
153 | 0 | \ No newline at end of file |