Modify coffeeinfoitem into generic websiteinfoitem

Resolve #31
This commit is contained in:
Joel Lavikainen
2017-03-08 18:29:01 +02:00
parent 404b1411af
commit 306a5b48a1
11 changed files with 79 additions and 27 deletions
+42 -4
View File
@@ -80,14 +80,52 @@ class ABBInfoItem(InfoItem):
def get_create_template_url():
return "/static/html/abb_create.html"
class CoffeeInfoItem(InfoItem):
display_name = _("Coffee display")
class ExternalWebsiteInfoItem(InfoItem):
display_name = _("External website")
url = models.TextField()
def get_template_url(self):
return "/static/html/coffee.html"
return "/static/html/external_website.html?url={}".format(self.name)
@staticmethod
def get_create_template_url():
return "/static/html/coffee_create.html"
return "/static/html/external_website_create.html"
def get_dict(self):
d = super().get_dict()
d["options"] = {'url': self.url}
return d
@classmethod
def create_from_dict(cls, d):
item = cls()
item.update_from_dict(d)
return item
def get_list(self):
return {
'id':self.id,
'name':self.name,
'url': self.url,
}
def update_from_dict(self, d):
try:
expire_date = d.pop('expire_date', None)
self.expire_date = datetime.strptime(expire_date, "%Y-%m-%d %H:%M:%S")
except:
pass
dmap = {
'name': 'name',
'url': 'url',
}
for k, v in d.items():
try:
self.__setattr__(dmap[k], v)
except KeyError:
pass
self.save()
class SossoInfoItem(InfoItem):
display_name = _("Sössö articles")