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