Revision 28252c7f

b/snf-astakos-app/astakos/im/forms.py
505 505
            super(AstakosGroupCreationForm, self).__init__(*args, **kwargs)
506 506
            self.fields.keyOrder = ['kind', 'name', 'desc', 'issue_date',
507 507
                                    'expiration_date', 'estimated_participants',
508
                                    'moderatation_enabled']
508
                                    'moderation_enabled']
509 509
        
510 510
        def save(self, commit=True):
511 511
            g = super(AstakosGroupCreationForm, self).save(commit=False)
b/snf-astakos-app/astakos/im/migrations/0015_auto__add_groupkind__add_astakosgroup__add_resourcemetadata__add_astak.py
23 23
            ('creation_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 8, 3, 11, 26, 47, 642626))),
24 24
            ('issue_date', self.gf('django.db.models.fields.DateTimeField')(null=True)),
25 25
            ('expiration_date', self.gf('django.db.models.fields.DateTimeField')(null=True)),
26
            ('moderatation_enabled', self.gf('django.db.models.fields.BooleanField')(default=False)),
26
            ('moderation_enabled', self.gf('django.db.models.fields.BooleanField')(default=False)),
27 27
            ('approval_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
28 28
            ('estimated_participants', self.gf('django.db.models.fields.PositiveIntegerField')(null=True)),
29 29
        ))
......
203 203
            'group_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.Group']", 'unique': 'True', 'primary_key': 'True'}),
204 204
            'issue_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
205 205
            'kind': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['im.GroupKind']"}),
206
            'moderatation_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
206
            'moderation_enabled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
207 207
            'policy': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['im.Resource']", 'null': 'True', 'through': "orm['im.AstakosGroupQuota']", 'blank': 'True'})
208 208
        },
209 209
        'im.astakosgroupquota': {
b/snf-astakos-app/astakos/im/models.py
114 114
    creation_date = models.DateTimeField('Creation date', default=datetime.now())
115 115
    issue_date = models.DateTimeField('Issue date', null=True)
116 116
    expiration_date = models.DateTimeField('Expiration date', null=True)
117
    moderatation_enabled = models.BooleanField('Moderated membership?', default=True)
117
    moderation_enabled = models.BooleanField('Moderated membership?', default=True)
118 118
    approval_date = models.DateTimeField('Activation date', null=True, blank=True)
119 119
    estimated_participants = models.PositiveIntegerField('Estimated #participants', null=True)
120 120
    
......
358 358
    class Meta:
359 359
        unique_together = ("person", "group")
360 360
    
361
    def save(self):
362
        if not self.id:
363
            if not self.group.moderation_enabled:
364
                self.date_joined = datetime.now()
365
        super(Membership, self).save()
366
    
361 367
    @property
362 368
    def is_approved(self):
363 369
        if self.date_joined:
b/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html
16 16
                <th>Expiration date: {{object.expiration_date}}</th>
17 17
              </tr>
18 18
              <tr>
19
                <th>Moderation: {% if object.moderation_enabled%}Yes{% else %}No{% endif %}</th>
20
              </tr>
21
              <tr>
19 22
                <th>Owner: {% for o in object.owner.all %}
20 23
                                {% if user == o %}
21 24
                                    Me!
b/snf-astakos-app/astakos/im/templates/im/astakosgroup_list.html
29 29
                <th>Expiration date</th>
30 30
                <th>Owner?</th>
31 31
                <th>Participants</th>
32
                <th>Moderation?</th>
32 33
                <th>Enrollment status</th>
33 34
              </tr>
34 35
            </thead>
......
41 42
                <td>{{o.expiration_date|date:"D d M Y"}}</td>
42 43
                <td>{% if user in o.owner.all %}Yes{% else %}No{% endif %}</td>
43 44
                <td>{{ o.approved_members|length }}/{{ o.members|length }}</td>
45
                <td>{% if o.moderation_enabled%}Yes{% else %}No{% endif %}</td>
44 46
                {% if user in o.approved_members %}
45 47
                    <td>Active</td>
46 48
                    {% if user not in o.owner.all %}

Also available in: Unified diff