homepage = models.URLField(
'Homepage Url', max_length=255, null=True, blank=True)
desc = models.TextField('Description', null=True)
- policy = models.ManyToManyField(Resource, null=True, blank=True,
- through='AstakosGroupQuota')
- creation_date = models.DateTimeField('Creation date',
- default=datetime.now())
+ policy = models.ManyToManyField(
+ Resource,
+ null=True,
+ blank=True,
+ through='AstakosGroupQuota'
+ )
+ creation_date = models.DateTimeField(
+ 'Creation date',
+ default=datetime.now()
+ )
issue_date = models.DateTimeField('Issue date', null=True)
- expiration_date = models.DateTimeField('Expiration date', null=True)
- moderation_enabled = models.BooleanField('Moderated membership?',
- default=True)
- approval_date = models.DateTimeField('Activation date', null=True,
- blank=True)
- estimated_participants = models.PositiveIntegerField('Estimated #members',
- null=True)
-
+ expiration_date = models.DateTimeField(
+ 'Expiration date',
+ null=True
+ )
+ moderation_enabled = models.BooleanField(
+ 'Moderated membership?',
+ default=True
+ )
+ approval_date = models.DateTimeField(
+ 'Activation date',
+ null=True,
+ blank=True
+ )
+ estimated_participants = models.PositiveIntegerField(
+ 'Estimated #members',
+ null=True,
+ blank=True,
+ )
+ max_participants = models.PositiveIntegerField(
+ 'Maximum numder of participants',
+ null=True,
+ blank=True
+ )
+
@property
def is_disabled(self):
if not self.approval_date:
@policies.setter
def policies(self, policies):
for p in policies:
- service = policies.get('service', None)
- resource = policies.get('resource', None)
- uplimit = policies.get('uplimit', 0)
- update = policies.get('update', True)
+ service = p.get('service', None)
+ resource = p.get('resource', None)
+ uplimit = p.get('uplimit', 0)
+ update = p.get('update', True)
self.add_policy(service, resource, uplimit, update)
@property
through='Membership')
__has_signed_terms = False
- dirsturbed_quota = models.BooleanField('Needs quotaholder syncing',
+ disturbed_quota = models.BooleanField('Needs quotaholder syncing',
default=False, db_index=True)
owner = models.ManyToManyField(
return True
def store_disturbed_quota(self, set=True):
- self.disturbed_quota = set
+ self.disturbed_qutoa = set
self.save()
elif sender == AstakosGroup:
if not instance.is_enabled:
return
- map(lambda u: u.store_disturbed_quota, users)
+ quota_disturbed.send(sender=sender, users=users)
-# def on_quota_disturbed(sender, users, **kwargs):
-# print '>>>', locals()
-# if not users:
-# return
-# send_quota(users)
+
+def on_quota_disturbed(sender, users, **kwargs):
+ print '>>>', locals()
+ if not users:
+ return
+ send_quota(users)
post_syncdb.connect(fix_superusers)
post_save.connect(user_post_save, sender=User)
post_save.connect(resource_post_save, sender=Resource)
quota_disturbed = Signal(providing_args=["users"])
-# quota_disturbed.connect(on_quota_disturbed)
+quota_disturbed.connect(on_quota_disturbed)
post_delete.connect(send_quota_disturbed, sender=AstakosGroup)
post_delete.connect(send_quota_disturbed, sender=Membership)