summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-18 04:09:44 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-18 04:09:44 +0100
commited111715af05a3ac8aefb41dbc0305d2f94891e0 (patch)
tree537752f4701e270cf1b593b51e66c2dd750b6128
parente2919119fabf6c502bf7c935b970a1a63dadfb84 (diff)
downloadpadlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.tar.gz
padlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.tar.bz2
padlite-teams-ed111715af05a3ac8aefb41dbc0305d2f94891e0.zip
models: add Pad model
-rw-r--r--models.py31
1 files changed, 30 insertions, 1 deletions
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)