diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-18 04:09:44 +0100 |
---|---|---|
committer | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-18 04:09:44 +0100 |
commit | ed111715af05a3ac8aefb41dbc0305d2f94891e0 (patch) | |
tree | 537752f4701e270cf1b593b51e66c2dd750b6128 /models.py | |
parent | e2919119fabf6c502bf7c935b970a1a63dadfb84 (diff) | |
download | padlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.tar.gz padlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.tar.bz2 padlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.zip |
models: add Pad model
Diffstat (limited to 'models.py')
-rw-r--r-- | models.py | 31 |
1 files changed, 30 insertions, 1 deletions
@@ -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) |