Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / migrations / 0058_moderation_fix.py @ d5421da4

History | View | Annotate | Download (25.6 kB)

1 d5421da4 Giorgos Korfiatis
# -*- coding: utf-8 -*-
2 d5421da4 Giorgos Korfiatis
import datetime
3 d5421da4 Giorgos Korfiatis
from south.db import db
4 d5421da4 Giorgos Korfiatis
from south.v2 import DataMigration
5 d5421da4 Giorgos Korfiatis
from django.db import models
6 d5421da4 Giorgos Korfiatis
7 d5421da4 Giorgos Korfiatis
class Migration(DataMigration):
8 d5421da4 Giorgos Korfiatis
9 d5421da4 Giorgos Korfiatis
    def forwards(self, orm):
10 d5421da4 Giorgos Korfiatis
        objs = orm.AstakosUser.objects.filter(
11 d5421da4 Giorgos Korfiatis
            email_verified=False, moderated=True)
12 d5421da4 Giorgos Korfiatis
13 d5421da4 Giorgos Korfiatis
        inactive = list(objs.filter(is_active=False))
14 d5421da4 Giorgos Korfiatis
        if inactive:
15 d5421da4 Giorgos Korfiatis
            print "Reverted moderation of %s inactive users:" % len(inactive)
16 d5421da4 Giorgos Korfiatis
            print ", ".join([u.username for u in inactive])
17 d5421da4 Giorgos Korfiatis
18 d5421da4 Giorgos Korfiatis
            objs.filter(is_active=False).\
19 d5421da4 Giorgos Korfiatis
                update(moderated=False, is_rejected=False,
20 d5421da4 Giorgos Korfiatis
                       accepted_policy=None, moderated_at=None)
21 d5421da4 Giorgos Korfiatis
22 d5421da4 Giorgos Korfiatis
        active = objs.filter(is_active=True).count()
23 d5421da4 Giorgos Korfiatis
        if active:
24 d5421da4 Giorgos Korfiatis
            print ("***WARNING*** Found %s active users whose email has not "
25 d5421da4 Giorgos Korfiatis
                   "been verified. You may need to examine these cases." %
26 d5421da4 Giorgos Korfiatis
                   active)
27 d5421da4 Giorgos Korfiatis
28 d5421da4 Giorgos Korfiatis
    def backwards(self, orm):
29 d5421da4 Giorgos Korfiatis
        "Write your backwards methods here."
30 d5421da4 Giorgos Korfiatis
31 d5421da4 Giorgos Korfiatis
    models = {
32 d5421da4 Giorgos Korfiatis
        'auth.group': {
33 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Group'},
34 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
35 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
36 d5421da4 Giorgos Korfiatis
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
37 d5421da4 Giorgos Korfiatis
        },
38 d5421da4 Giorgos Korfiatis
        'auth.permission': {
39 d5421da4 Giorgos Korfiatis
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
40 d5421da4 Giorgos Korfiatis
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
41 d5421da4 Giorgos Korfiatis
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
42 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
43 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
44 d5421da4 Giorgos Korfiatis
        },
45 d5421da4 Giorgos Korfiatis
        'auth.user': {
46 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'User'},
47 d5421da4 Giorgos Korfiatis
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
48 d5421da4 Giorgos Korfiatis
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
49 d5421da4 Giorgos Korfiatis
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
50 d5421da4 Giorgos Korfiatis
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
51 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
52 d5421da4 Giorgos Korfiatis
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
53 d5421da4 Giorgos Korfiatis
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
54 d5421da4 Giorgos Korfiatis
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
55 d5421da4 Giorgos Korfiatis
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
56 d5421da4 Giorgos Korfiatis
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
57 d5421da4 Giorgos Korfiatis
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
58 d5421da4 Giorgos Korfiatis
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
59 d5421da4 Giorgos Korfiatis
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
60 d5421da4 Giorgos Korfiatis
        },
61 d5421da4 Giorgos Korfiatis
        'contenttypes.contenttype': {
62 d5421da4 Giorgos Korfiatis
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
63 d5421da4 Giorgos Korfiatis
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
64 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
65 d5421da4 Giorgos Korfiatis
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
66 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
67 d5421da4 Giorgos Korfiatis
        },
68 d5421da4 Giorgos Korfiatis
        'im.additionalmail': {
69 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'AdditionalMail'},
70 d5421da4 Giorgos Korfiatis
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
71 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
72 d5421da4 Giorgos Korfiatis
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
73 d5421da4 Giorgos Korfiatis
        },
74 d5421da4 Giorgos Korfiatis
        'im.approvalterms': {
75 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'ApprovalTerms'},
76 d5421da4 Giorgos Korfiatis
            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
77 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78 d5421da4 Giorgos Korfiatis
            'location': ('django.db.models.fields.CharField', [], {'max_length': '255'})
79 d5421da4 Giorgos Korfiatis
        },
80 d5421da4 Giorgos Korfiatis
        'im.astakosuser': {
81 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'AstakosUser', '_ormbases': ['auth.User']},
82 d5421da4 Giorgos Korfiatis
            'accepted_email': ('django.db.models.fields.EmailField', [], {'default': 'None', 'max_length': '75', 'null': 'True', 'blank': 'True'}),
83 d5421da4 Giorgos Korfiatis
            'accepted_policy': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
84 d5421da4 Giorgos Korfiatis
            'activation_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
85 d5421da4 Giorgos Korfiatis
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
86 d5421da4 Giorgos Korfiatis
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '64', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
87 d5421da4 Giorgos Korfiatis
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
88 d5421da4 Giorgos Korfiatis
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
89 d5421da4 Giorgos Korfiatis
            'date_signed_terms': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
90 d5421da4 Giorgos Korfiatis
            'deactivated_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
91 d5421da4 Giorgos Korfiatis
            'deactivated_reason': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
92 d5421da4 Giorgos Korfiatis
            'disturbed_quota': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
93 d5421da4 Giorgos Korfiatis
            'email_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
94 d5421da4 Giorgos Korfiatis
            'has_credits': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
95 d5421da4 Giorgos Korfiatis
            'has_signed_terms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
96 d5421da4 Giorgos Korfiatis
            'invitations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
97 d5421da4 Giorgos Korfiatis
            'is_rejected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
98 d5421da4 Giorgos Korfiatis
            'is_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
99 d5421da4 Giorgos Korfiatis
            'level': ('django.db.models.fields.IntegerField', [], {'default': '4'}),
100 d5421da4 Giorgos Korfiatis
            'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
101 d5421da4 Giorgos Korfiatis
            'moderated_at': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
102 d5421da4 Giorgos Korfiatis
            'moderated_data': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
103 d5421da4 Giorgos Korfiatis
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosUserQuota']", 'symmetrical': 'False'}),
104 d5421da4 Giorgos Korfiatis
            'rejected_reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
105 d5421da4 Giorgos Korfiatis
            'updated': ('django.db.models.fields.DateTimeField', [], {}),
106 d5421da4 Giorgos Korfiatis
            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}),
107 d5421da4 Giorgos Korfiatis
            'uuid': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True'}),
108 d5421da4 Giorgos Korfiatis
            'verification_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True'}),
109 d5421da4 Giorgos Korfiatis
            'verified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})
110 d5421da4 Giorgos Korfiatis
        },
111 d5421da4 Giorgos Korfiatis
        'im.astakosuserauthprovider': {
112 d5421da4 Giorgos Korfiatis
            'Meta': {'ordering': "('module', 'created')", 'unique_together': "(('identifier', 'module', 'user'),)", 'object_name': 'AstakosUserAuthProvider'},
113 d5421da4 Giorgos Korfiatis
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
114 d5421da4 Giorgos Korfiatis
            'affiliation': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
115 d5421da4 Giorgos Korfiatis
            'auth_backend': ('django.db.models.fields.CharField', [], {'default': "'astakos'", 'max_length': '255'}),
116 d5421da4 Giorgos Korfiatis
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
117 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
118 d5421da4 Giorgos Korfiatis
            'identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
119 d5421da4 Giorgos Korfiatis
            'info_data': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
120 d5421da4 Giorgos Korfiatis
            'module': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '255'}),
121 d5421da4 Giorgos Korfiatis
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_providers'", 'to': "orm['im.AstakosUser']"})
122 d5421da4 Giorgos Korfiatis
        },
123 d5421da4 Giorgos Korfiatis
        'im.astakosuserquota': {
124 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('resource', 'user'),)", 'object_name': 'AstakosUserQuota'},
125 d5421da4 Giorgos Korfiatis
            'capacity': ('django.db.models.fields.BigIntegerField', [], {}),
126 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
127 d5421da4 Giorgos Korfiatis
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"}),
128 d5421da4 Giorgos Korfiatis
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
129 d5421da4 Giorgos Korfiatis
        },
130 d5421da4 Giorgos Korfiatis
        'im.authproviderpolicyprofile': {
131 d5421da4 Giorgos Korfiatis
            'Meta': {'ordering': "['priority']", 'object_name': 'AuthProviderPolicyProfile'},
132 d5421da4 Giorgos Korfiatis
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
133 d5421da4 Giorgos Korfiatis
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'authpolicy_profiles'", 'symmetrical': 'False', 'to': "orm['auth.Group']"}),
134 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
135 d5421da4 Giorgos Korfiatis
            'is_exclusive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
136 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
137 d5421da4 Giorgos Korfiatis
            'policy_add': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
138 d5421da4 Giorgos Korfiatis
            'policy_automoderate': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
139 d5421da4 Giorgos Korfiatis
            'policy_create': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
140 d5421da4 Giorgos Korfiatis
            'policy_limit': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
141 d5421da4 Giorgos Korfiatis
            'policy_login': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
142 d5421da4 Giorgos Korfiatis
            'policy_remove': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
143 d5421da4 Giorgos Korfiatis
            'policy_required': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
144 d5421da4 Giorgos Korfiatis
            'policy_switch': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
145 d5421da4 Giorgos Korfiatis
            'priority': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
146 d5421da4 Giorgos Korfiatis
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
147 d5421da4 Giorgos Korfiatis
            'users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'authpolicy_profiles'", 'symmetrical': 'False', 'to': "orm['im.AstakosUser']"})
148 d5421da4 Giorgos Korfiatis
        },
149 d5421da4 Giorgos Korfiatis
        'im.chain': {
150 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Chain'},
151 d5421da4 Giorgos Korfiatis
            'chain': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
152 d5421da4 Giorgos Korfiatis
        },
153 d5421da4 Giorgos Korfiatis
        'im.component': {
154 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Component'},
155 d5421da4 Giorgos Korfiatis
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '64', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
156 d5421da4 Giorgos Korfiatis
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
157 d5421da4 Giorgos Korfiatis
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
158 d5421da4 Giorgos Korfiatis
            'base_url': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'}),
159 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
160 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
161 d5421da4 Giorgos Korfiatis
            'url': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'})
162 d5421da4 Giorgos Korfiatis
        },
163 d5421da4 Giorgos Korfiatis
        'im.emailchange': {
164 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'EmailChange'},
165 d5421da4 Giorgos Korfiatis
            'activation_key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
166 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
167 d5421da4 Giorgos Korfiatis
            'new_email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
168 d5421da4 Giorgos Korfiatis
            'requested_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
169 d5421da4 Giorgos Korfiatis
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emailchanges'", 'unique': 'True', 'to': "orm['im.AstakosUser']"})
170 d5421da4 Giorgos Korfiatis
        },
171 d5421da4 Giorgos Korfiatis
        'im.endpoint': {
172 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Endpoint'},
173 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
174 d5421da4 Giorgos Korfiatis
            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'endpoints'", 'to': "orm['im.Service']"})
175 d5421da4 Giorgos Korfiatis
        },
176 d5421da4 Giorgos Korfiatis
        'im.endpointdata': {
177 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('endpoint', 'key'),)", 'object_name': 'EndpointData'},
178 d5421da4 Giorgos Korfiatis
            'endpoint': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'data'", 'to': "orm['im.Endpoint']"}),
179 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
180 d5421da4 Giorgos Korfiatis
            'key': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
181 d5421da4 Giorgos Korfiatis
            'value': ('django.db.models.fields.CharField', [], {'max_length': '1024'})
182 d5421da4 Giorgos Korfiatis
        },
183 d5421da4 Giorgos Korfiatis
        'im.invitation': {
184 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Invitation'},
185 d5421da4 Giorgos Korfiatis
            'code': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
186 d5421da4 Giorgos Korfiatis
            'consumed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
187 d5421da4 Giorgos Korfiatis
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
188 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
189 d5421da4 Giorgos Korfiatis
            'inviter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invitations_sent'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
190 d5421da4 Giorgos Korfiatis
            'is_consumed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
191 d5421da4 Giorgos Korfiatis
            'realname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
192 d5421da4 Giorgos Korfiatis
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
193 d5421da4 Giorgos Korfiatis
        },
194 d5421da4 Giorgos Korfiatis
        'im.pendingthirdpartyuser': {
195 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('provider', 'third_party_identifier'),)", 'object_name': 'PendingThirdPartyUser'},
196 d5421da4 Giorgos Korfiatis
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
197 d5421da4 Giorgos Korfiatis
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
198 d5421da4 Giorgos Korfiatis
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
199 d5421da4 Giorgos Korfiatis
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
200 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
201 d5421da4 Giorgos Korfiatis
            'info': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
202 d5421da4 Giorgos Korfiatis
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
203 d5421da4 Giorgos Korfiatis
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
204 d5421da4 Giorgos Korfiatis
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
205 d5421da4 Giorgos Korfiatis
            'token': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
206 d5421da4 Giorgos Korfiatis
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
207 d5421da4 Giorgos Korfiatis
        },
208 d5421da4 Giorgos Korfiatis
        'im.project': {
209 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Project'},
210 d5421da4 Giorgos Korfiatis
            'application': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'project'", 'unique': 'True', 'to': "orm['im.ProjectApplication']"}),
211 d5421da4 Giorgos Korfiatis
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
212 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.BigIntegerField', [], {'primary_key': 'True', 'db_column': "'id'"}),
213 d5421da4 Giorgos Korfiatis
            'members': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.AstakosUser']", 'through': "orm['im.ProjectMembership']", 'symmetrical': 'False'}),
214 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True', 'null': 'True', 'db_index': 'True'}),
215 d5421da4 Giorgos Korfiatis
            'state': ('django.db.models.fields.IntegerField', [], {'default': '1', 'db_index': 'True'})
216 d5421da4 Giorgos Korfiatis
        },
217 d5421da4 Giorgos Korfiatis
        'im.projectapplication': {
218 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('chain', 'id'),)", 'object_name': 'ProjectApplication'},
219 d5421da4 Giorgos Korfiatis
            'applicant': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_applied'", 'to': "orm['im.AstakosUser']"}),
220 d5421da4 Giorgos Korfiatis
            'chain': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'chained_apps'", 'db_column': "'chain'", 'to': "orm['im.Project']"}),
221 d5421da4 Giorgos Korfiatis
            'comments': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
222 d5421da4 Giorgos Korfiatis
            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
223 d5421da4 Giorgos Korfiatis
            'end_date': ('django.db.models.fields.DateTimeField', [], {}),
224 d5421da4 Giorgos Korfiatis
            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '255', 'null': 'True'}),
225 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
226 d5421da4 Giorgos Korfiatis
            'issue_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
227 d5421da4 Giorgos Korfiatis
            'limit_on_members_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
228 d5421da4 Giorgos Korfiatis
            'member_join_policy': ('django.db.models.fields.IntegerField', [], {}),
229 d5421da4 Giorgos Korfiatis
            'member_leave_policy': ('django.db.models.fields.IntegerField', [], {}),
230 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
231 d5421da4 Giorgos Korfiatis
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_owned'", 'to': "orm['im.AstakosUser']"}),
232 d5421da4 Giorgos Korfiatis
            'resource_grants': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.ProjectResourceGrant']", 'blank': 'True'}),
233 d5421da4 Giorgos Korfiatis
            'response': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
234 d5421da4 Giorgos Korfiatis
            'response_actor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'responded_apps'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
235 d5421da4 Giorgos Korfiatis
            'response_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
236 d5421da4 Giorgos Korfiatis
            'start_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
237 d5421da4 Giorgos Korfiatis
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
238 d5421da4 Giorgos Korfiatis
            'waive_actor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'waived_apps'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
239 d5421da4 Giorgos Korfiatis
            'waive_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
240 d5421da4 Giorgos Korfiatis
            'waive_reason': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
241 d5421da4 Giorgos Korfiatis
        },
242 d5421da4 Giorgos Korfiatis
        'im.projectlock': {
243 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'ProjectLock'},
244 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
245 d5421da4 Giorgos Korfiatis
        },
246 d5421da4 Giorgos Korfiatis
        'im.projectlog': {
247 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'ProjectLog'},
248 d5421da4 Giorgos Korfiatis
            'actor': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']", 'null': 'True'}),
249 d5421da4 Giorgos Korfiatis
            'comments': ('django.db.models.fields.TextField', [], {'null': 'True'}),
250 d5421da4 Giorgos Korfiatis
            'date': ('django.db.models.fields.DateTimeField', [], {}),
251 d5421da4 Giorgos Korfiatis
            'from_state': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
252 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
253 d5421da4 Giorgos Korfiatis
            'project': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'log'", 'to': "orm['im.Project']"}),
254 d5421da4 Giorgos Korfiatis
            'reason': ('django.db.models.fields.TextField', [], {'null': 'True'}),
255 d5421da4 Giorgos Korfiatis
            'to_state': ('django.db.models.fields.IntegerField', [], {})
256 d5421da4 Giorgos Korfiatis
        },
257 d5421da4 Giorgos Korfiatis
        'im.projectmembership': {
258 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('person', 'project'),)", 'object_name': 'ProjectMembership'},
259 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
260 d5421da4 Giorgos Korfiatis
            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"}),
261 d5421da4 Giorgos Korfiatis
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Project']"}),
262 d5421da4 Giorgos Korfiatis
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
263 d5421da4 Giorgos Korfiatis
        },
264 d5421da4 Giorgos Korfiatis
        'im.projectmembershiplog': {
265 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'ProjectMembershipLog'},
266 d5421da4 Giorgos Korfiatis
            'actor': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']", 'null': 'True'}),
267 d5421da4 Giorgos Korfiatis
            'comments': ('django.db.models.fields.TextField', [], {'null': 'True'}),
268 d5421da4 Giorgos Korfiatis
            'date': ('django.db.models.fields.DateTimeField', [], {}),
269 d5421da4 Giorgos Korfiatis
            'from_state': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
270 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
271 d5421da4 Giorgos Korfiatis
            'membership': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'log'", 'to': "orm['im.ProjectMembership']"}),
272 d5421da4 Giorgos Korfiatis
            'reason': ('django.db.models.fields.TextField', [], {'null': 'True'}),
273 d5421da4 Giorgos Korfiatis
            'to_state': ('django.db.models.fields.IntegerField', [], {})
274 d5421da4 Giorgos Korfiatis
        },
275 d5421da4 Giorgos Korfiatis
        'im.projectresourcegrant': {
276 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('resource', 'project_application'),)", 'object_name': 'ProjectResourceGrant'},
277 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
278 d5421da4 Giorgos Korfiatis
            'member_capacity': ('django.db.models.fields.BigIntegerField', [], {'default': '0'}),
279 d5421da4 Giorgos Korfiatis
            'project_application': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.ProjectApplication']", 'null': 'True'}),
280 d5421da4 Giorgos Korfiatis
            'project_capacity': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}),
281 d5421da4 Giorgos Korfiatis
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"})
282 d5421da4 Giorgos Korfiatis
        },
283 d5421da4 Giorgos Korfiatis
        'im.resource': {
284 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Resource'},
285 d5421da4 Giorgos Korfiatis
            'api_visible': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
286 d5421da4 Giorgos Korfiatis
            'desc': ('django.db.models.fields.TextField', [], {'null': 'True'}),
287 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
288 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
289 d5421da4 Giorgos Korfiatis
            'service_origin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
290 d5421da4 Giorgos Korfiatis
            'service_type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
291 d5421da4 Giorgos Korfiatis
            'ui_visible': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
292 d5421da4 Giorgos Korfiatis
            'unit': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
293 d5421da4 Giorgos Korfiatis
            'uplimit': ('django.db.models.fields.BigIntegerField', [], {'default': '0'})
294 d5421da4 Giorgos Korfiatis
        },
295 d5421da4 Giorgos Korfiatis
        'im.service': {
296 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'Service'},
297 d5421da4 Giorgos Korfiatis
            'component': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Component']"}),
298 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
299 d5421da4 Giorgos Korfiatis
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
300 d5421da4 Giorgos Korfiatis
            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
301 d5421da4 Giorgos Korfiatis
        },
302 d5421da4 Giorgos Korfiatis
        'im.sessioncatalog': {
303 d5421da4 Giorgos Korfiatis
            'Meta': {'object_name': 'SessionCatalog'},
304 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
305 d5421da4 Giorgos Korfiatis
            'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
306 d5421da4 Giorgos Korfiatis
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'to': "orm['im.AstakosUser']"})
307 d5421da4 Giorgos Korfiatis
        },
308 d5421da4 Giorgos Korfiatis
        'im.usersetting': {
309 d5421da4 Giorgos Korfiatis
            'Meta': {'unique_together': "(('user', 'setting'),)", 'object_name': 'UserSetting'},
310 d5421da4 Giorgos Korfiatis
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
311 d5421da4 Giorgos Korfiatis
            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
312 d5421da4 Giorgos Korfiatis
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"}),
313 d5421da4 Giorgos Korfiatis
            'value': ('django.db.models.fields.IntegerField', [], {})
314 d5421da4 Giorgos Korfiatis
        }
315 d5421da4 Giorgos Korfiatis
    }
316 d5421da4 Giorgos Korfiatis
317 d5421da4 Giorgos Korfiatis
    complete_apps = ['im']
318 d5421da4 Giorgos Korfiatis
    symmetrical = True