Prise en charge des événements sans classe ni tag
This commit is contained in:
parent
8f02abe9db
commit
69ae647b39
@ -11,6 +11,10 @@ from datetime import datetime
|
|||||||
|
|
||||||
class Category(models.Model):
|
class Category(models.Model):
|
||||||
|
|
||||||
|
default_name = "Sans catégorie"
|
||||||
|
default_css_class = "cat-nocat"
|
||||||
|
default_color = "#aaaaaa"
|
||||||
|
|
||||||
COLOR_PALETTE = [
|
COLOR_PALETTE = [
|
||||||
("#ea5545", "color 1"),
|
("#ea5545", "color 1"),
|
||||||
("#f46a9b", "color 2"),
|
("#f46a9b", "color 2"),
|
||||||
@ -103,7 +107,8 @@ class Event(models.Model):
|
|||||||
tags = list(Event.objects.values_list('tags', flat = True))
|
tags = list(Event.objects.values_list('tags', flat = True))
|
||||||
uniq_tags = set()
|
uniq_tags = set()
|
||||||
for t in tags:
|
for t in tags:
|
||||||
uniq_tags = uniq_tags | set(t)
|
if t is not None:
|
||||||
|
uniq_tags = uniq_tags | set(t)
|
||||||
return list(uniq_tags)
|
return list(uniq_tags)
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,24 +60,25 @@ def background_color_adjust_color(color, alpha = 1):
|
|||||||
def css_categories():
|
def css_categories():
|
||||||
result = '<style type="text/css">'
|
result = '<style type="text/css">'
|
||||||
|
|
||||||
cats = Category.objects.all()
|
cats = [{"color": c.color, "css_class": c.css_class()} for c in Category.objects.all()]
|
||||||
|
cats.append({"color": Category.default_color, "css_class": Category.default_css_class})
|
||||||
|
|
||||||
for c in cats:
|
for c in cats:
|
||||||
|
|
||||||
result += "." + c.css_class() + " {"
|
result += "." + c["css_class"] + " {"
|
||||||
result += background_color_adjust_color(adjust_lightness_saturation(c.color, .2, 0.8), 0.8)
|
result += background_color_adjust_color(adjust_lightness_saturation(c["color"], .2, 0.8), 0.8)
|
||||||
result += "}"
|
result += "}"
|
||||||
|
|
||||||
result += "*:hover ." + c.css_class() + " {"
|
result += "*:hover ." + c["css_class"] + " {"
|
||||||
result += background_color_adjust_color(adjust_lightness_saturation(c.color, 0.02, 1.0))
|
result += background_color_adjust_color(adjust_lightness_saturation(c["color"], 0.02, 1.0))
|
||||||
result += "}"
|
result += "}"
|
||||||
|
|
||||||
result += ".selected ." + c.css_class() + " {"
|
result += ".selected ." + c["css_class"] + " {"
|
||||||
result += background_color_adjust_color(c.color)
|
result += background_color_adjust_color(c["color"])
|
||||||
result += "}"
|
result += "}"
|
||||||
|
|
||||||
result += "a.selected:hover ." + c.css_class() + " {"
|
result += "a.selected:hover ." + c["css_class"] + " {"
|
||||||
result += background_color_adjust_color(adjust_lightness_saturation(c.color, 0.2, 1.2))
|
result += background_color_adjust_color(adjust_lightness_saturation(c["color"], 0.2, 1.2))
|
||||||
result += "}"
|
result += "}"
|
||||||
|
|
||||||
result += '</style>'
|
result += '</style>'
|
||||||
@ -86,12 +87,18 @@ def css_categories():
|
|||||||
@register.filter
|
@register.filter
|
||||||
def small_cat(category, url=None, contrast=True):
|
def small_cat(category, url=None, contrast=True):
|
||||||
|
|
||||||
|
name = Category.default_name if category is None else category.name
|
||||||
|
css_class = Category.default_css_class if category is None else category.css_class()
|
||||||
|
|
||||||
class_contrast = " contrast" if contrast else ""
|
class_contrast = " contrast" if contrast else ""
|
||||||
if url is None:
|
if url is None:
|
||||||
return mark_safe('<span class="small-cat' + class_contrast +' selected" role="button"><span class="cat ' + category.css_class() + '"></span> ' + category.name + "</span>")
|
return mark_safe('<span class="small-cat' + class_contrast +' selected" role="button"><span class="cat ' + css_class + '"></span> ' + name + "</span>")
|
||||||
else:
|
else:
|
||||||
return mark_safe('<a class="small-cat' + class_contrast +' selected" role="button" href="' + url + '"><span class="cat ' + category.css_class() + '"></span> ' + category.name + "</a>")
|
return mark_safe('<a class="small-cat' + class_contrast +' selected" role="button" href="' + url + '"><span class="cat ' + css_class + '"></span> ' + name + "</a>")
|
||||||
|
|
||||||
@register.filter
|
@register.filter
|
||||||
def circle_cat(category):
|
def circle_cat(category):
|
||||||
return mark_safe('<span class="cat ' + category.css_class() + '" data-tooltip="' + category.name + '"></span>')
|
if category is None:
|
||||||
|
return mark_safe('<span class="cat ' + Category.default_css_class + '" data-tooltip="' + Category.default_name + '"></span>')
|
||||||
|
else:
|
||||||
|
return mark_safe('<span class="cat ' + category.css_class() + '" data-tooltip="' + category.name + '"></span>')
|
@ -52,9 +52,14 @@ class CalendarDay:
|
|||||||
|
|
||||||
def add_event(self, event):
|
def add_event(self, event):
|
||||||
self.events.append(event)
|
self.events.append(event)
|
||||||
if not event.category.name in self.events_by_category:
|
if event.category is None:
|
||||||
self.events_by_category[event.category.name] = []
|
if not "" in self.events_by_category:
|
||||||
self.events_by_category[event.category.name].append(event)
|
self.events_by_category[""] = []
|
||||||
|
self.events_by_category[""].append(event)
|
||||||
|
else:
|
||||||
|
if not event.category.name in self.events_by_category:
|
||||||
|
self.events_by_category[event.category.name] = []
|
||||||
|
self.events_by_category[event.category.name].append(event)
|
||||||
|
|
||||||
|
|
||||||
class CalendarList:
|
class CalendarList:
|
||||||
|
Loading…
Reference in New Issue
Block a user