Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / migrations / 0065_project_uuid.py @ 362dadaa

History | View | Annotate | Download (25.5 kB)

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