Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / migrations / 0015_auto__add_chain__add_project__add_projectmembership__add_unique_projec.py @ 6f979a1a

History | View | Annotate | Download (39.3 kB)

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
        # Removing unique constraint on 'AstakosUser', fields ['third_party_identifier', 'provider']
12
        try:
13
            db.delete_unique('im_astakosuser', ['third_party_identifier', 'provider'])
14
        except:
15
            pass
16

    
17
        # Adding model 'Chain'
18
        db.create_table('im_chain', (
19
            ('chain', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
20
        ))
21
        db.send_create_signal('im', ['Chain'])
22

    
23
        # Adding model 'Project'
24
        db.create_table('im_project', (
25
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
26
            ('application', self.gf('django.db.models.fields.related.OneToOneField')(related_name='project', unique=True, to=orm['im.ProjectApplication'])),
27
            ('last_approval_date', self.gf('django.db.models.fields.DateTimeField')(null=True)),
28
            ('deactivation_reason', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)),
29
            ('deactivation_date', self.gf('django.db.models.fields.DateTimeField')(null=True)),
30
            ('creation_date', self.gf('django.db.models.fields.DateTimeField')()),
31
            ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=80, db_index=True)),
32
            ('is_modified', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True)),
33
            ('is_active', self.gf('django.db.models.fields.BooleanField')(default=True, db_index=True)),
34
            ('state', self.gf('django.db.models.fields.IntegerField')(default=1, db_index=True)),
35
        ))
36
        db.send_create_signal('im', ['Project'])
37

    
38
        # Adding model 'ProjectMembership'
39
        db.create_table('im_projectmembership', (
40
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
41
            ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.AstakosUser'])),
42
            ('request_date', self.gf('django.db.models.fields.DateField')(default=datetime.datetime(2013, 1, 11, 12, 54, 30, 986304))),
43
            ('project', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.Project'])),
44
            ('state', self.gf('django.db.models.fields.IntegerField')(default=0, db_index=True)),
45
            ('is_pending', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True)),
46
            ('is_active', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True)),
47
            ('application', self.gf('django.db.models.fields.related.ForeignKey')(related_name='memberships', null=True, to=orm['im.ProjectApplication'])),
48
            ('pending_application', self.gf('django.db.models.fields.related.ForeignKey')(related_name='pending_memebrships', null=True, to=orm['im.ProjectApplication'])),
49
            ('pending_serial', self.gf('django.db.models.fields.BigIntegerField')(null=True, db_index=True)),
50
            ('acceptance_date', self.gf('django.db.models.fields.DateField')(null=True, db_index=True)),
51
            ('leave_request_date', self.gf('django.db.models.fields.DateField')(null=True)),
52
        ))
53
        db.send_create_signal('im', ['ProjectMembership'])
54

    
55
        # Adding unique constraint on 'ProjectMembership', fields ['person', 'project']
56
        db.create_unique('im_projectmembership', ['person_id', 'project_id'])
57

    
58
        # Adding model 'ResourceMetadata'
59
        db.create_table('im_resourcemetadata', (
60
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
61
            ('key', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255, db_index=True)),
62
            ('value', self.gf('django.db.models.fields.CharField')(max_length=255)),
63
        ))
64
        db.send_create_signal('im', ['ResourceMetadata'])
65

    
66
        # Adding model 'AstakosUserAuthProvider'
67
        db.create_table('im_astakosuserauthprovider', (
68
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
69
            ('affiliation', self.gf('django.db.models.fields.CharField')(default=None, max_length=255, null=True, blank=True)),
70
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_providers', to=orm['im.AstakosUser'])),
71
            ('module', self.gf('django.db.models.fields.CharField')(default='local', max_length=255)),
72
            ('identifier', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
73
            ('active', self.gf('django.db.models.fields.BooleanField')(default=True)),
74
            ('auth_backend', self.gf('django.db.models.fields.CharField')(default='astakos', max_length=255)),
75
            ('info_data', self.gf('django.db.models.fields.TextField')(default='', null=True, blank=True)),
76
            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
77
        ))
78
        db.send_create_signal('im', ['AstakosUserAuthProvider'])
79

    
80
        # Adding unique constraint on 'AstakosUserAuthProvider', fields ['identifier', 'module', 'user']
81
        db.create_unique('im_astakosuserauthprovider', ['identifier', 'module', 'user_id'])
82

    
83
        # Adding model 'Serial'
84
        db.create_table('im_serial', (
85
            ('serial', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
86
        ))
87
        db.send_create_signal('im', ['Serial'])
88

    
89
        # Adding model 'Resource'
90
        db.create_table('im_resource', (
91
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
92
            ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
93
            ('service', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.Service'])),
94
            ('desc', self.gf('django.db.models.fields.TextField')(null=True)),
95
            ('unit', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)),
96
            ('group', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)),
97
        ))
98
        db.send_create_signal('im', ['Resource'])
99

    
100
        # Adding M2M table for field meta on 'Resource'
101
        db.create_table('im_resource_meta', (
102
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
103
            ('resource', models.ForeignKey(orm['im.resource'], null=False)),
104
            ('resourcemetadata', models.ForeignKey(orm['im.resourcemetadata'], null=False))
105
        ))
106
        db.create_unique('im_resource_meta', ['resource_id', 'resourcemetadata_id'])
107

    
108
        # Adding unique constraint on 'Resource', fields ['name', 'service']
109
        db.create_unique('im_resource', ['name', 'service_id'])
110

    
111
        # Adding model 'SessionCatalog'
112
        db.create_table('im_sessioncatalog', (
113
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
114
            ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)),
115
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sessions', null=True, to=orm['im.AstakosUser'])),
116
        ))
117
        db.send_create_signal('im', ['SessionCatalog'])
118

    
119
        # Adding model 'ProjectMembershipHistory'
120
        db.create_table('im_projectmembershiphistory', (
121
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
122
            ('person', self.gf('django.db.models.fields.BigIntegerField')()),
123
            ('project', self.gf('django.db.models.fields.BigIntegerField')()),
124
            ('date', self.gf('django.db.models.fields.DateField')(default=datetime.datetime.now)),
125
            ('reason', self.gf('django.db.models.fields.IntegerField')()),
126
            ('serial', self.gf('django.db.models.fields.BigIntegerField')()),
127
        ))
128
        db.send_create_signal('im', ['ProjectMembershipHistory'])
129

    
130
        # Adding model 'AstakosUserQuota'
131
        db.create_table('im_astakosuserquota', (
132
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
133
            ('capacity', self.gf('django.db.models.fields.BigIntegerField')(null=True)),
134
            ('quantity', self.gf('django.db.models.fields.BigIntegerField')(null=True)),
135
            ('export_limit', self.gf('django.db.models.fields.BigIntegerField')(null=True)),
136
            ('import_limit', self.gf('django.db.models.fields.BigIntegerField')(null=True)),
137
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.Resource'])),
138
            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.AstakosUser'])),
139
        ))
140
        db.send_create_signal('im', ['AstakosUserQuota'])
141

    
142
        # Adding unique constraint on 'AstakosUserQuota', fields ['resource', 'user']
143
        db.create_unique('im_astakosuserquota', ['resource_id', 'user_id'])
144

    
145
        # Adding model 'ProjectResourceGrant'
146
        db.create_table('im_projectresourcegrant', (
147
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
148
            ('resource', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.Resource'])),
149
            ('project_application', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['im.ProjectApplication'], null=True)),
150
            ('project_capacity', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
151
            ('project_import_limit', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
152
            ('project_export_limit', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
153
            ('member_capacity', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
154
            ('member_import_limit', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
155
            ('member_export_limit', self.gf('synnefo.lib.db.intdecimalfield.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0)),
156
        ))
157
        db.send_create_signal('im', ['ProjectResourceGrant'])
158

    
159
        # Adding unique constraint on 'ProjectResourceGrant', fields ['resource', 'project_application']
160
        db.create_unique('im_projectresourcegrant', ['resource_id', 'project_application_id'])
161

    
162
        # Adding model 'PendingThirdPartyUser'
163
        db.create_table('im_pendingthirdpartyuser', (
164
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
165
            ('third_party_identifier', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
166
            ('provider', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)),
167
            ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)),
168
            ('first_name', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
169
            ('last_name', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),
170
            ('affiliation', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
171
            ('username', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
172
            ('token', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
173
            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, null=True, blank=True)),
174
            ('info', self.gf('django.db.models.fields.TextField')(default='', null=True, blank=True)),
175
        ))
176
        db.send_create_signal('im', ['PendingThirdPartyUser'])
177

    
178
        # Adding unique constraint on 'PendingThirdPartyUser', fields ['provider', 'third_party_identifier']
179
        db.create_unique('im_pendingthirdpartyuser', ['provider', 'third_party_identifier'])
180

    
181
        # Adding model 'ProjectApplication'
182
        db.create_table('im_projectapplication', (
183
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
184
            ('applicant', self.gf('django.db.models.fields.related.ForeignKey')(related_name='projects_applied', to=orm['im.AstakosUser'])),
185
            ('state', self.gf('django.db.models.fields.IntegerField')(default=0)),
186
            ('owner', self.gf('django.db.models.fields.related.ForeignKey')(related_name='projects_owned', to=orm['im.AstakosUser'])),
187
            ('chain', self.gf('django.db.models.fields.IntegerField')()),
188
            ('precursor_application', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['im.ProjectApplication'], unique=True, null=True, blank=True)),
189
            ('name', self.gf('django.db.models.fields.CharField')(max_length=80)),
190
            ('homepage', self.gf('django.db.models.fields.URLField')(max_length=255, null=True)),
191
            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
192
            ('start_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
193
            ('end_date', self.gf('django.db.models.fields.DateTimeField')()),
194
            ('member_join_policy', self.gf('django.db.models.fields.IntegerField')()),
195
            ('member_leave_policy', self.gf('django.db.models.fields.IntegerField')()),
196
            ('limit_on_members_number', self.gf('django.db.models.fields.PositiveIntegerField')(null=True)),
197
            ('comments', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
198
            ('issue_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
199
        ))
200
        db.send_create_signal('im', ['ProjectApplication'])
201

    
202
        # Adding unique constraint on 'ProjectApplication', fields ['chain', 'id']
203
        db.create_unique('im_projectapplication', ['chain', 'id'])
204

    
205
        # Adding field 'Service.order'
206
        db.add_column('im_service', 'order', self.gf('django.db.models.fields.PositiveIntegerField')(default=0), keep_default=False)
207

    
208
        # Adding index on 'Service', fields ['name']
209
        db.create_index('im_service', ['name'])
210

    
211
        # Adding field 'AstakosUser.uuid'
212
        db.add_column('im_astakosuser', 'uuid', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True, null=True), keep_default=False)
213

    
214
        # Adding field 'AstakosUser.disturbed_quota'
215
        db.add_column('im_astakosuser', 'disturbed_quota', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True), keep_default=False)
216

    
217
        # Changing field 'AstakosUser.affiliation'
218
        db.alter_column('im_astakosuser', 'affiliation', self.gf('django.db.models.fields.CharField')(max_length=255, null=True))
219

    
220
        # Changing field 'AstakosUser.provider'
221
        db.alter_column('im_astakosuser', 'provider', self.gf('django.db.models.fields.CharField')(max_length=255, null=True))
222

    
223

    
224
    def backwards(self, orm):
225

    
226
        # Removing index on 'Service', fields ['name']
227
        db.delete_index('im_service', ['name'])
228

    
229
        # Removing unique constraint on 'ProjectApplication', fields ['chain', 'id']
230
        db.delete_unique('im_projectapplication', ['chain', 'id'])
231

    
232
        # Removing unique constraint on 'PendingThirdPartyUser', fields ['provider', 'third_party_identifier']
233
        db.delete_unique('im_pendingthirdpartyuser', ['provider', 'third_party_identifier'])
234

    
235
        # Removing unique constraint on 'ProjectResourceGrant', fields ['resource', 'project_application']
236
        db.delete_unique('im_projectresourcegrant', ['resource_id', 'project_application_id'])
237

    
238
        # Removing unique constraint on 'AstakosUserQuota', fields ['resource', 'user']
239
        db.delete_unique('im_astakosuserquota', ['resource_id', 'user_id'])
240

    
241
        # Removing unique constraint on 'Resource', fields ['name', 'service']
242
        db.delete_unique('im_resource', ['name', 'service_id'])
243

    
244
        # Removing unique constraint on 'AstakosUserAuthProvider', fields ['identifier', 'module', 'user']
245
        db.delete_unique('im_astakosuserauthprovider', ['identifier', 'module', 'user_id'])
246

    
247
        # Removing unique constraint on 'ProjectMembership', fields ['person', 'project']
248
        db.delete_unique('im_projectmembership', ['person_id', 'project_id'])
249

    
250
        # Deleting model 'Chain'
251
        db.delete_table('im_chain')
252

    
253
        # Deleting model 'Project'
254
        db.delete_table('im_project')
255

    
256
        # Deleting model 'ProjectMembership'
257
        db.delete_table('im_projectmembership')
258

    
259
        # Deleting model 'ResourceMetadata'
260
        db.delete_table('im_resourcemetadata')
261

    
262
        # Deleting model 'AstakosUserAuthProvider'
263
        db.delete_table('im_astakosuserauthprovider')
264

    
265
        # Deleting model 'Serial'
266
        db.delete_table('im_serial')
267

    
268
        # Deleting model 'Resource'
269
        db.delete_table('im_resource')
270

    
271
        # Removing M2M table for field meta on 'Resource'
272
        db.delete_table('im_resource_meta')
273

    
274
        # Deleting model 'SessionCatalog'
275
        db.delete_table('im_sessioncatalog')
276

    
277
        # Deleting model 'ProjectMembershipHistory'
278
        db.delete_table('im_projectmembershiphistory')
279

    
280
        # Deleting model 'AstakosUserQuota'
281
        db.delete_table('im_astakosuserquota')
282

    
283
        # Deleting model 'ProjectResourceGrant'
284
        db.delete_table('im_projectresourcegrant')
285

    
286
        # Deleting model 'PendingThirdPartyUser'
287
        db.delete_table('im_pendingthirdpartyuser')
288

    
289
        # Deleting model 'ProjectApplication'
290
        db.delete_table('im_projectapplication')
291

    
292
        # Deleting field 'Service.order'
293
        db.delete_column('im_service', 'order')
294

    
295
        # Deleting field 'AstakosUser.uuid'
296
        db.delete_column('im_astakosuser', 'uuid')
297

    
298
        # Deleting field 'AstakosUser.disturbed_quota'
299
        db.delete_column('im_astakosuser', 'disturbed_quota')
300

    
301
        # Changing field 'AstakosUser.affiliation'
302
        db.alter_column('im_astakosuser', 'affiliation', self.gf('django.db.models.fields.CharField')(default='', max_length=255))
303

    
304
        # Changing field 'AstakosUser.provider'
305
        db.alter_column('im_astakosuser', 'provider', self.gf('django.db.models.fields.CharField')(default='', max_length=255))
306

    
307
        # Adding unique constraint on 'AstakosUser', fields ['third_party_identifier', 'provider']
308
        db.create_unique('im_astakosuser', ['third_party_identifier', 'provider'])
309

    
310

    
311
    models = {
312
        'auth.group': {
313
            'Meta': {'object_name': 'Group'},
314
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
315
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
316
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
317
        },
318
        'auth.permission': {
319
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
320
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
321
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
322
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
323
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
324
        },
325
        'auth.user': {
326
            'Meta': {'object_name': 'User'},
327
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
328
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
329
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
330
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
331
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
332
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
333
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
334
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
335
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
336
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
337
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
338
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
339
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
340
        },
341
        'contenttypes.contenttype': {
342
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
343
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
344
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
345
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
346
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
347
        },
348
        'im.additionalmail': {
349
            'Meta': {'object_name': 'AdditionalMail'},
350
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
351
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
352
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
353
        },
354
        'im.approvalterms': {
355
            'Meta': {'object_name': 'ApprovalTerms'},
356
            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 1, 11, 12, 54, 30, 982234)', 'db_index': 'True'}),
357
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
358
            'location': ('django.db.models.fields.CharField', [], {'max_length': '255'})
359
        },
360
        'im.astakosuser': {
361
            'Meta': {'object_name': 'AstakosUser', '_ormbases': ['auth.User']},
362
            'activation_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
363
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
364
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
365
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
366
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
367
            'date_signed_terms': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
368
            'disturbed_quota': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
369
            'email_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
370
            'has_credits': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
371
            'has_signed_terms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
372
            'invitations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
373
            'is_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
374
            'level': ('django.db.models.fields.IntegerField', [], {'default': '4'}),
375
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosUserQuota']", 'symmetrical': 'False'}),
376
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
377
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
378
            'updated': ('django.db.models.fields.DateTimeField', [], {}),
379
            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}),
380
            'uuid': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True'})
381
        },
382
        'im.astakosuserauthprovider': {
383
            'Meta': {'ordering': "('module', 'created')", 'unique_together': "(('identifier', 'module', 'user'),)", 'object_name': 'AstakosUserAuthProvider'},
384
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
385
            'affiliation': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
386
            'auth_backend': ('django.db.models.fields.CharField', [], {'default': "'astakos'", 'max_length': '255'}),
387
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
388
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
389
            'identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
390
            'info_data': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
391
            'module': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '255'}),
392
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_providers'", 'to': "orm['im.AstakosUser']"})
393
        },
394
        'im.astakosuserquota': {
395
            'Meta': {'unique_together': "(('resource', 'user'),)", 'object_name': 'AstakosUserQuota'},
396
            'capacity': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}),
397
            'export_limit': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}),
398
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
399
            'import_limit': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}),
400
            'quantity': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}),
401
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"}),
402
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
403
        },
404
        'im.chain': {
405
            'Meta': {'object_name': 'Chain'},
406
            'chain': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
407
        },
408
        'im.emailchange': {
409
            'Meta': {'object_name': 'EmailChange'},
410
            'activation_key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
411
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
412
            'new_email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
413
            'requested_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2013, 1, 11, 12, 54, 30, 983023)'}),
414
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emailchanges'", 'unique': 'True', 'to': "orm['im.AstakosUser']"})
415
        },
416
        'im.invitation': {
417
            'Meta': {'object_name': 'Invitation'},
418
            'code': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
419
            'consumed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
420
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
421
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
422
            'inviter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invitations_sent'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
423
            'is_consumed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
424
            'realname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
425
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
426
        },
427
        'im.pendingthirdpartyuser': {
428
            'Meta': {'unique_together': "(('provider', 'third_party_identifier'),)", 'object_name': 'PendingThirdPartyUser'},
429
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
430
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
431
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
432
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
433
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
434
            'info': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
435
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
436
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
437
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
438
            'token': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
439
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
440
        },
441
        'im.project': {
442
            'Meta': {'object_name': 'Project'},
443
            'application': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'project'", 'unique': 'True', 'to': "orm['im.ProjectApplication']"}),
444
            'creation_date': ('django.db.models.fields.DateTimeField', [], {}),
445
            'deactivation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
446
            'deactivation_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
447
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
448
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'db_index': 'True'}),
449
            'is_modified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
450
            'last_approval_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
451
            'members': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.AstakosUser']", 'through': "orm['im.ProjectMembership']", 'symmetrical': 'False'}),
452
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80', 'db_index': 'True'}),
453
            'state': ('django.db.models.fields.IntegerField', [], {'default': '1', 'db_index': 'True'})
454
        },
455
        'im.projectapplication': {
456
            'Meta': {'unique_together': "(('chain', 'id'),)", 'object_name': 'ProjectApplication'},
457
            'applicant': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_applied'", 'to': "orm['im.AstakosUser']"}),
458
            'chain': ('django.db.models.fields.IntegerField', [], {}),
459
            'comments': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
460
            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
461
            'end_date': ('django.db.models.fields.DateTimeField', [], {}),
462
            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '255', 'null': 'True'}),
463
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
464
            'issue_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
465
            'limit_on_members_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
466
            'member_join_policy': ('django.db.models.fields.IntegerField', [], {}),
467
            'member_leave_policy': ('django.db.models.fields.IntegerField', [], {}),
468
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
469
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_owned'", 'to': "orm['im.AstakosUser']"}),
470
            'precursor_application': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['im.ProjectApplication']", 'unique': 'True', 'null': 'True', 'blank': 'True'}),
471
            'resource_grants': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.ProjectResourceGrant']", 'blank': 'True'}),
472
            'start_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
473
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0'})
474
        },
475
        'im.projectmembership': {
476
            'Meta': {'unique_together': "(('person', 'project'),)", 'object_name': 'ProjectMembership'},
477
            'acceptance_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'db_index': 'True'}),
478
            'application': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'memberships'", 'null': 'True', 'to': "orm['im.ProjectApplication']"}),
479
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
480
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
481
            'is_pending': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
482
            'leave_request_date': ('django.db.models.fields.DateField', [], {'null': 'True'}),
483
            'pending_application': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pending_memebrships'", 'null': 'True', 'to': "orm['im.ProjectApplication']"}),
484
            'pending_serial': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'db_index': 'True'}),
485
            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"}),
486
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Project']"}),
487
            'request_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2013, 1, 11, 12, 54, 30, 986304)'}),
488
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
489
        },
490
        'im.projectmembershiphistory': {
491
            'Meta': {'object_name': 'ProjectMembershipHistory'},
492
            'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime.now'}),
493
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
494
            'person': ('django.db.models.fields.BigIntegerField', [], {}),
495
            'project': ('django.db.models.fields.BigIntegerField', [], {}),
496
            'reason': ('django.db.models.fields.IntegerField', [], {}),
497
            'serial': ('django.db.models.fields.BigIntegerField', [], {})
498
        },
499
        'im.projectresourcegrant': {
500
            'Meta': {'unique_together': "(('resource', 'project_application'),)", 'object_name': 'ProjectResourceGrant'},
501
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
502
            'member_capacity': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
503
            'member_export_limit': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
504
            'member_import_limit': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
505
            'project_application': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.ProjectApplication']", 'null': 'True'}),
506
            'project_capacity': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
507
            'project_export_limit': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
508
            'project_import_limit': ('synnefo.lib.db.intdecimalfield.IntDecimalField', [], {'default': '100000000000000000000000000000000L', 'max_digits': '38', 'decimal_places': '0'}),
509
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"})
510
        },
511
        'im.resource': {
512
            'Meta': {'unique_together': "(('name', 'service'),)", 'object_name': 'Resource'},
513
            'desc': ('django.db.models.fields.TextField', [], {'null': 'True'}),
514
            'group': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
515
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
516
            'meta': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.ResourceMetadata']", 'symmetrical': 'False'}),
517
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
518
            'service': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Service']"}),
519
            'unit': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'})
520
        },
521
        'im.resourcemetadata': {
522
            'Meta': {'object_name': 'ResourceMetadata'},
523
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
524
            'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
525
            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
526
        },
527
        'im.serial': {
528
            'Meta': {'object_name': 'Serial'},
529
            'serial': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
530
        },
531
        'im.service': {
532
            'Meta': {'ordering': "('order',)", 'object_name': 'Service'},
533
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
534
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
535
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
536
            'icon': ('django.db.models.fields.FilePathField', [], {'max_length': '100', 'blank': 'True'}),
537
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
538
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
539
            'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
540
            'url': ('django.db.models.fields.FilePathField', [], {'max_length': '100'})
541
        },
542
        'im.sessioncatalog': {
543
            'Meta': {'object_name': 'SessionCatalog'},
544
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
545
            'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
546
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'to': "orm['im.AstakosUser']"})
547
        }
548
    }
549

    
550
    complete_apps = ['im']