Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / migrations / 0026_auto__del_resourcemetadata__del_field_astakosuserquota_import_limit__d.py @ 5083fc47

History | View | Annotate | Download (30.2 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 'Resource', fields ['name', 'service']
12
        db.delete_unique('im_resource', ['name', 'service_id'])
13

    
14
        # Deleting model 'ResourceMetadata'
15
        db.delete_table('im_resourcemetadata')
16

    
17
        # Deleting field 'AstakosUserQuota.import_limit'
18
        db.delete_column('im_astakosuserquota', 'import_limit')
19

    
20
        # Deleting field 'AstakosUserQuota.export_limit'
21
        db.delete_column('im_astakosuserquota', 'export_limit')
22

    
23
        # Deleting field 'AstakosUserQuota.quantity'
24
        db.delete_column('im_astakosuserquota', 'quantity')
25

    
26
        # Deleting field 'Service.order'
27
        db.delete_column('im_service', 'order')
28

    
29
        # Deleting field 'Service.icon'
30
        db.delete_column('im_service', 'icon')
31

    
32
        # Adding field 'Service.api_url'
33
        db.add_column('im_service', 'api_url', self.gf('django.db.models.fields.CharField')(max_length=255, null=True), keep_default=False)
34

    
35
        # Changing field 'Service.url'
36
        db.alter_column('im_service', 'url', self.gf('django.db.models.fields.CharField')(max_length=255, null=True))
37

    
38
        # Deleting field 'Project.is_active'
39
        db.delete_column('im_project', 'is_active')
40

    
41
        # Deleting field 'Project.is_modified'
42
        db.delete_column('im_project', 'is_modified')
43

    
44
        # Deleting field 'ProjectMembership.is_active'
45
        db.delete_column('im_projectmembership', 'is_active')
46

    
47
        # Deleting field 'ProjectMembership.pending_application'
48
        db.delete_column('im_projectmembership', 'pending_application_id')
49

    
50
        # Deleting field 'ProjectMembership.pending_serial'
51
        db.delete_column('im_projectmembership', 'pending_serial')
52

    
53
        # Deleting field 'ProjectMembership.application'
54
        db.delete_column('im_projectmembership', 'application_id')
55

    
56
        # Deleting field 'ProjectMembership.is_pending'
57
        db.delete_column('im_projectmembership', 'is_pending')
58

    
59
        # Deleting field 'Resource.group'
60
        db.delete_column('im_resource', 'group')
61

    
62
        # Removing M2M table for field meta on 'Resource'
63
        db.delete_table('im_resource_meta')
64

    
65
        # Adding unique constraint on 'Resource', fields ['name']
66
        db.create_unique('im_resource', ['name'])
67

    
68
        # Deleting field 'ProjectResourceGrant.member_import_limit'
69
        db.delete_column('im_projectresourcegrant', 'member_import_limit')
70

    
71
        # Deleting field 'ProjectResourceGrant.project_export_limit'
72
        db.delete_column('im_projectresourcegrant', 'project_export_limit')
73

    
74
        # Deleting field 'ProjectResourceGrant.project_import_limit'
75
        db.delete_column('im_projectresourcegrant', 'project_import_limit')
76

    
77
        # Deleting field 'ProjectResourceGrant.member_export_limit'
78
        db.delete_column('im_projectresourcegrant', 'member_export_limit')
79

    
80
        # Changing field 'ProjectResourceGrant.project_capacity'
81
        db.alter_column('im_projectresourcegrant', 'project_capacity', self.gf('snf_django.lib.db.fields.IntDecimalField')(null=True, max_digits=38, decimal_places=0))
82

    
83

    
84
    def backwards(self, orm):
85
        
86
        # Removing unique constraint on 'Resource', fields ['name']
87
        db.delete_unique('im_resource', ['name'])
88

    
89
        # Adding model 'ResourceMetadata'
90
        db.create_table('im_resourcemetadata', (
91
            ('value', self.gf('django.db.models.fields.CharField')(max_length=255)),
92
            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
93
            ('key', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True, db_index=True)),
94
        ))
95
        db.send_create_signal('im', ['ResourceMetadata'])
96

    
97
        # Adding field 'AstakosUserQuota.import_limit'
98
        db.add_column('im_astakosuserquota', 'import_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
99

    
100
        # Adding field 'AstakosUserQuota.export_limit'
101
        db.add_column('im_astakosuserquota', 'export_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
102

    
103
        # Adding field 'AstakosUserQuota.quantity'
104
        db.add_column('im_astakosuserquota', 'quantity', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=0, max_digits=38, decimal_places=0), keep_default=False)
105

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

    
109
        # Adding field 'Service.icon'
110
        db.add_column('im_service', 'icon', self.gf('django.db.models.fields.FilePathField')(default='', max_length=100, blank=True), keep_default=False)
111

    
112
        # Deleting field 'Service.api_url'
113
        db.delete_column('im_service', 'api_url')
114

    
115
        # Changing field 'Service.url'
116
        db.alter_column('im_service', 'url', self.gf('django.db.models.fields.FilePathField')(default='', max_length=100))
117

    
118
        # Adding field 'Project.is_active'
119
        db.add_column('im_project', 'is_active', self.gf('django.db.models.fields.BooleanField')(default=True, db_index=True), keep_default=False)
120

    
121
        # Adding field 'Project.is_modified'
122
        db.add_column('im_project', 'is_modified', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True), keep_default=False)
123

    
124
        # Adding field 'ProjectMembership.is_active'
125
        db.add_column('im_projectmembership', 'is_active', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True), keep_default=False)
126

    
127
        # Adding field 'ProjectMembership.pending_application'
128
        db.add_column('im_projectmembership', 'pending_application', self.gf('django.db.models.fields.related.ForeignKey')(related_name='pending_memberships', null=True, to=orm['im.ProjectApplication']), keep_default=False)
129

    
130
        # Adding field 'ProjectMembership.pending_serial'
131
        db.add_column('im_projectmembership', 'pending_serial', self.gf('django.db.models.fields.BigIntegerField')(null=True, db_index=True), keep_default=False)
132

    
133
        # Adding field 'ProjectMembership.application'
134
        db.add_column('im_projectmembership', 'application', self.gf('django.db.models.fields.related.ForeignKey')(related_name='memberships', null=True, to=orm['im.ProjectApplication']), keep_default=False)
135

    
136
        # Adding field 'ProjectMembership.is_pending'
137
        db.add_column('im_projectmembership', 'is_pending', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True), keep_default=False)
138

    
139
        # Adding field 'Resource.group'
140
        db.add_column('im_resource', 'group', self.gf('django.db.models.fields.CharField')(max_length=255, null=True), keep_default=False)
141

    
142
        # Adding M2M table for field meta on 'Resource'
143
        db.create_table('im_resource_meta', (
144
            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
145
            ('resource', models.ForeignKey(orm['im.resource'], null=False)),
146
            ('resourcemetadata', models.ForeignKey(orm['im.resourcemetadata'], null=False))
147
        ))
148
        db.create_unique('im_resource_meta', ['resource_id', 'resourcemetadata_id'])
149

    
150
        # Adding unique constraint on 'Resource', fields ['name', 'service']
151
        db.create_unique('im_resource', ['name', 'service_id'])
152

    
153
        # Adding field 'ProjectResourceGrant.member_import_limit'
154
        db.add_column('im_projectresourcegrant', 'member_import_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
155

    
156
        # Adding field 'ProjectResourceGrant.project_export_limit'
157
        db.add_column('im_projectresourcegrant', 'project_export_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
158

    
159
        # Adding field 'ProjectResourceGrant.project_import_limit'
160
        db.add_column('im_projectresourcegrant', 'project_import_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
161

    
162
        # Adding field 'ProjectResourceGrant.member_export_limit'
163
        db.add_column('im_projectresourcegrant', 'member_export_limit', self.gf('snf_django.lib.db.fields.IntDecimalField')(default=100000000000000000000000000000000L, max_digits=38, decimal_places=0), keep_default=False)
164

    
165
        # Changing field 'ProjectResourceGrant.project_capacity'
166
        db.alter_column('im_projectresourcegrant', 'project_capacity', self.gf('snf_django.lib.db.fields.IntDecimalField')(max_digits=38, decimal_places=0))
167

    
168

    
169
    models = {
170
        'auth.group': {
171
            'Meta': {'object_name': 'Group'},
172
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
173
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
174
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
175
        },
176
        'auth.permission': {
177
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
178
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
179
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
180
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
181
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
182
        },
183
        'auth.user': {
184
            'Meta': {'object_name': 'User'},
185
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
186
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
187
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
188
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
189
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
190
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
191
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
192
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
193
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
194
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
195
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
196
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
197
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
198
        },
199
        'contenttypes.contenttype': {
200
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
201
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
202
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
203
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
204
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
205
        },
206
        'im.additionalmail': {
207
            'Meta': {'object_name': 'AdditionalMail'},
208
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
209
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
210
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
211
        },
212
        'im.approvalterms': {
213
            'Meta': {'object_name': 'ApprovalTerms'},
214
            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
215
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
216
            'location': ('django.db.models.fields.CharField', [], {'max_length': '255'})
217
        },
218
        'im.astakosuser': {
219
            'Meta': {'object_name': 'AstakosUser', '_ormbases': ['auth.User']},
220
            'activation_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
221
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
222
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
223
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
224
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
225
            'date_signed_terms': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
226
            'disturbed_quota': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
227
            'email_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
228
            'has_credits': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
229
            'has_signed_terms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
230
            'invitations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
231
            'is_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
232
            'level': ('django.db.models.fields.IntegerField', [], {'default': '4'}),
233
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosUserQuota']", 'symmetrical': 'False'}),
234
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
235
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
236
            'updated': ('django.db.models.fields.DateTimeField', [], {}),
237
            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}),
238
            'uuid': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True'})
239
        },
240
        'im.astakosuserauthprovider': {
241
            'Meta': {'ordering': "('module', 'created')", 'unique_together': "(('identifier', 'module', 'user'),)", 'object_name': 'AstakosUserAuthProvider'},
242
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
243
            'affiliation': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}),
244
            'auth_backend': ('django.db.models.fields.CharField', [], {'default': "'astakos'", 'max_length': '255'}),
245
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
246
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
247
            'identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
248
            'info_data': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
249
            'module': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '255'}),
250
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_providers'", 'to': "orm['im.AstakosUser']"})
251
        },
252
        'im.astakosuserquota': {
253
            'Meta': {'unique_together': "(('resource', 'user'),)", 'object_name': 'AstakosUserQuota'},
254
            'capacity': ('snf_django.lib.db.fields.IntDecimalField', [], {'max_digits': '38', 'decimal_places': '0'}),
255
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
256
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"}),
257
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"})
258
        },
259
        'im.authproviderpolicyprofile': {
260
            'Meta': {'ordering': "['priority']", 'object_name': 'AuthProviderPolicyProfile'},
261
            'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
262
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'authpolicy_profiles'", 'symmetrical': 'False', 'to': "orm['auth.Group']"}),
263
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
264
            'is_exclusive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
265
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
266
            'policy_add': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
267
            'policy_automoderate': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
268
            'policy_create': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
269
            'policy_limit': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
270
            'policy_login': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
271
            'policy_remove': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
272
            'policy_required': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
273
            'policy_switch': ('django.db.models.fields.NullBooleanField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
274
            'priority': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
275
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
276
            'users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'authpolicy_profiles'", 'symmetrical': 'False', 'to': "orm['im.AstakosUser']"})
277
        },
278
        'im.chain': {
279
            'Meta': {'object_name': 'Chain'},
280
            'chain': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
281
        },
282
        'im.emailchange': {
283
            'Meta': {'object_name': 'EmailChange'},
284
            'activation_key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40', 'db_index': 'True'}),
285
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
286
            'new_email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
287
            'requested_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
288
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emailchanges'", 'unique': 'True', 'to': "orm['im.AstakosUser']"})
289
        },
290
        'im.invitation': {
291
            'Meta': {'object_name': 'Invitation'},
292
            'code': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
293
            'consumed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
294
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
295
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
296
            'inviter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invitations_sent'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
297
            'is_consumed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
298
            'realname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
299
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
300
        },
301
        'im.pendingthirdpartyuser': {
302
            'Meta': {'unique_together': "(('provider', 'third_party_identifier'),)", 'object_name': 'PendingThirdPartyUser'},
303
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
304
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
305
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
306
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
307
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
308
            'info': ('django.db.models.fields.TextField', [], {'default': "''", 'null': 'True', 'blank': 'True'}),
309
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
310
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
311
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
312
            'token': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
313
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
314
        },
315
        'im.project': {
316
            'Meta': {'object_name': 'Project'},
317
            'application': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'project'", 'unique': 'True', 'to': "orm['im.ProjectApplication']"}),
318
            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
319
            'deactivation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
320
            'deactivation_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
321
            'id': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'chained_project'", 'unique': 'True', 'primary_key': 'True', 'db_column': "'id'", 'to': "orm['im.Chain']"}),
322
            'last_approval_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
323
            'members': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['im.AstakosUser']", 'through': "orm['im.ProjectMembership']", 'symmetrical': 'False'}),
324
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True', 'null': 'True', 'db_index': 'True'}),
325
            'state': ('django.db.models.fields.IntegerField', [], {'default': '1', 'db_index': 'True'})
326
        },
327
        'im.projectapplication': {
328
            'Meta': {'unique_together': "(('chain', 'id'),)", 'object_name': 'ProjectApplication'},
329
            'applicant': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_applied'", 'to': "orm['im.AstakosUser']"}),
330
            'chain': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'chained_apps'", 'db_column': "'chain'", 'to': "orm['im.Chain']"}),
331
            'comments': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
332
            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
333
            'end_date': ('django.db.models.fields.DateTimeField', [], {}),
334
            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '255', 'null': 'True'}),
335
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
336
            'issue_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
337
            'limit_on_members_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
338
            'member_join_policy': ('django.db.models.fields.IntegerField', [], {}),
339
            'member_leave_policy': ('django.db.models.fields.IntegerField', [], {}),
340
            'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
341
            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'projects_owned'", 'to': "orm['im.AstakosUser']"}),
342
            'precursor_application': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.ProjectApplication']", 'null': 'True', 'blank': 'True'}),
343
            'resource_grants': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.ProjectResourceGrant']", 'blank': 'True'}),
344
            'response': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
345
            'response_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
346
            'start_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
347
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
348
        },
349
        'im.projectmembership': {
350
            'Meta': {'unique_together': "(('person', 'project'),)", 'object_name': 'ProjectMembership'},
351
            'acceptance_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'db_index': 'True'}),
352
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
353
            'leave_request_date': ('django.db.models.fields.DateField', [], {'null': 'True'}),
354
            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"}),
355
            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Project']"}),
356
            'request_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
357
            'state': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
358
        },
359
        'im.projectmembershiphistory': {
360
            'Meta': {'object_name': 'ProjectMembershipHistory'},
361
            'date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
362
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
363
            'person': ('django.db.models.fields.BigIntegerField', [], {}),
364
            'project': ('django.db.models.fields.BigIntegerField', [], {}),
365
            'reason': ('django.db.models.fields.IntegerField', [], {}),
366
            'serial': ('django.db.models.fields.BigIntegerField', [], {})
367
        },
368
        'im.projectresourcegrant': {
369
            'Meta': {'unique_together': "(('resource', 'project_application'),)", 'object_name': 'ProjectResourceGrant'},
370
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
371
            'member_capacity': ('snf_django.lib.db.fields.IntDecimalField', [], {'default': '0', 'max_digits': '38', 'decimal_places': '0'}),
372
            'project_application': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.ProjectApplication']", 'null': 'True'}),
373
            'project_capacity': ('snf_django.lib.db.fields.IntDecimalField', [], {'null': 'True', 'max_digits': '38', 'decimal_places': '0'}),
374
            'resource': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Resource']"})
375
        },
376
        'im.resource': {
377
            'Meta': {'object_name': 'Resource'},
378
            'desc': ('django.db.models.fields.TextField', [], {'null': 'True'}),
379
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
380
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
381
            'service': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.Service']"}),
382
            'unit': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
383
            'uplimit': ('snf_django.lib.db.fields.IntDecimalField', [], {'default': '0', 'max_digits': '38', 'decimal_places': '0'})
384
        },
385
        'im.serial': {
386
            'Meta': {'object_name': 'Serial'},
387
            'serial': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
388
        },
389
        'im.service': {
390
            'Meta': {'object_name': 'Service'},
391
            'api_url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
392
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
393
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
394
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
395
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
396
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}),
397
            'url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'})
398
        },
399
        'im.sessioncatalog': {
400
            'Meta': {'object_name': 'SessionCatalog'},
401
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
402
            'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
403
            'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'to': "orm['im.AstakosUser']"})
404
        },
405
        'im.usersetting': {
406
            'Meta': {'unique_together': "(('user', 'setting'),)", 'object_name': 'UserSetting'},
407
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
408
            'setting': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
409
            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.AstakosUser']"}),
410
            'value': ('django.db.models.fields.IntegerField', [], {})
411
        }
412
    }
413

    
414
    complete_apps = ['im']