Revision 3dabf097

b/snf-astakos-app/astakos/im/management/commands/listinvitations.py
57 57
        
58 58
        invitations = Invitation.objects.all()
59 59
        
60
        labels = ('id', 'inviter', 'email', 'real name', 'code', 'used', 'consumed')
60
        labels = ('id', 'inviter', 'email', 'real name', 'code', 'consumed')
61 61
        columns = (3, 24, 24, 24, 20, 4, 8)
62 62
        
63 63
        if not options['csv']:
......
69 69
        for invitation in invitations:
70 70
            id = str(invitation.id)
71 71
            code = str(invitation.code)
72
            used = format_bool(invitation.is_accepted)
73 72
            consumed = format_bool(invitation.is_consumed)
74 73
            fields = (id, invitation.inviter.email, invitation.username, invitation.realname,
75
                      code, used, consumed)
74
                      code, consumed)
76 75
            
77 76
            if options['csv']:
78 77
                line = '|'.join(fields)
b/snf-astakos-app/astakos/im/management/commands/showinvitation.py
56 56
            'real name': invitation.realname,
57 57
            'email': invitation.username,
58 58
            'code': invitation.code,
59
            'accepted': format_bool(invitation.is_accepted),
60 59
            'consumed': format_bool(invitation.is_consumed),
61 60
            'date created': format_date(invitation.created),
62
            'date accepted': format_date(invitation.accepted),
63 61
            'date consumed': format_date(invitation.consumed),
64 62
            'inviter real name': invitation.inviter.realname,
65 63
            'invitater email': invitation.inviter.email,
b/snf-astakos-app/astakos/im/migrations/0007_auto__del_field_invitation_accepted__del_field_invitation_is_accepted.py
1
# encoding: utf-8
2
import datetime
3
from south.db import db
4
from south.v2 import SchemaMigration
5
from django.db import models
6

  
7
class Migration(SchemaMigration):
8

  
9
    def forwards(self, orm):
10
        
11
        # Deleting field 'Invitation.accepted'
12
        db.delete_column('im_invitation', 'accepted')
13

  
14
        # Deleting field 'Invitation.is_accepted'
15
        db.delete_column('im_invitation', 'is_accepted')
16

  
17

  
18
    def backwards(self, orm):
19
        
20
        # Adding field 'Invitation.accepted'
21
        db.add_column('im_invitation', 'accepted', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
22

  
23
        # Adding field 'Invitation.is_accepted'
24
        db.add_column('im_invitation', 'is_accepted', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False)
25

  
26

  
27
    models = {
28
        'auth.group': {
29
            'Meta': {'object_name': 'Group'},
30
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
31
            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
32
            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
33
        },
34
        'auth.permission': {
35
            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
36
            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
37
            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
38
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
39
            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
40
        },
41
        'auth.user': {
42
            'Meta': {'object_name': 'User'},
43
            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
44
            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
45
            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
46
            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
47
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
48
            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
49
            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
50
            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
51
            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
52
            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
53
            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
54
            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
55
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
56
        },
57
        'contenttypes.contenttype': {
58
            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
59
            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
60
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
61
            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
62
            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
63
        },
64
        'im.approvalterms': {
65
            'Meta': {'object_name': 'ApprovalTerms'},
66
            'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 5, 2, 16, 5, 29, 565763)', 'db_index': 'True'}),
67
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
68
            'location': ('django.db.models.fields.CharField', [], {'max_length': '255'})
69
        },
70
        'im.astakosuser': {
71
            'Meta': {'object_name': 'AstakosUser', '_ormbases': ['auth.User']},
72
            'affiliation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
73
            'auth_token': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
74
            'auth_token_created': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
75
            'auth_token_expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
76
            'date_signed_terms': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
77
            'email_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
78
            'has_credits': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
79
            'has_signed_terms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
80
            'invitations': ('django.db.models.fields.IntegerField', [], {'default': '100'}),
81
            'is_verified': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
82
            'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
83
            'provider': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
84
            'third_party_identifier': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
85
            'updated': ('django.db.models.fields.DateTimeField', [], {}),
86
            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
87
        },
88
        'im.invitation': {
89
            'Meta': {'object_name': 'Invitation'},
90
            'code': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
91
            'consumed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
92
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
93
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
94
            'inviter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invitations_sent'", 'null': 'True', 'to': "orm['im.AstakosUser']"}),
95
            'is_consumed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
96
            'realname': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
97
            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
98
        }
99
    }
100

  
101
    complete_apps = ['im']
b/snf-astakos-app/astakos/im/models.py
211 211
    realname = models.CharField('Real name', max_length=255)
212 212
    username = models.CharField('Unique ID', max_length=255, unique=True)
213 213
    code = models.BigIntegerField('Invitation code', db_index=True)
214
    #obsolete: we keep it just for transfering the data
215
    is_accepted = models.BooleanField('Accepted?', default=False)
216 214
    is_consumed = models.BooleanField('Consumed?', default=False)
217 215
    created = models.DateTimeField('Creation date', auto_now_add=True)
218
    #obsolete: we keep it just for transfering the data
219
    accepted = models.DateTimeField('Acceptance date', null=True, blank=True)
220 216
    consumed = models.DateTimeField('Consumption date', null=True, blank=True)
221 217
    
222 218
    def __init__(self, *args, **kwargs):

Also available in: Unified diff