From ed111715af05a3ac8aefb41dbc0305d2f94891e0 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 18 Nov 2014 04:09:44 +0100 Subject: models: add Pad model --- models.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/models.py b/models.py index e611137..9bdd61d 100644 --- a/models.py +++ b/models.py @@ -83,5 +83,34 @@ class Session(db.Model): return False +class Pad(db.Model): + name = CharField(verbose_name='pad name') + api_id = CharField(null=True) + group = ForeignKeyField(Group, related_name='pads') + created = DateTimeField(default=datetime.now) + public = BooleanField(default=False) + password = CharField(null=True) + + def __unicode__(self): + return self.name + + def save(self, force_insert=False, only=None): + if self.id is None or force_insert: + if self.group.api_id is None: + self.group.api_id = pad.createGroup() + self.api_id = pad.createGroupPad(self.group.api_id, self.name, 'testing') + + if self.api_id is not None: + pad.setPublicStatus(self.api_id, self.public) + pad.setPassword(self.api_id, self.password) + super(Pad, self).save(force_insert=force_insert, only=only) + + def delete_instance(self, **kwargs): + if self.api_id is not None: + pad.deletePad(self.api_id) + self.api_id = None + self.save() + super(Pad, self).delete_instance(**kwargs) + def create_tables(): - create_model_tables([User, Group, Member, Session], fail_silently = True) + create_model_tables([User, Group, Member, Session, Pad], fail_silently = True) -- cgit v1.2.3-1-g7c22