+42
-4
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user