diff --git a/speedcenter/codespeed/models.py b/speedcenter/codespeed/models.py index a01d4848..120757fe 100644 --- a/speedcenter/codespeed/models.py +++ b/speedcenter/codespeed/models.py @@ -127,7 +127,8 @@ def save(self, *args, **kwargs): for units in tablelist: # Total change val = units['totals']['change'] - if val == "-": continue + if val == "-": + continue color = self.getcolorcode(val, units['lessisbetter'], change_threshold) if self.is_big_change(val, color, average_change, average_change_color): # Do update biggest total change @@ -136,20 +137,18 @@ def save(self, *args, **kwargs): average_change_color = color # Total trend val = units['totals']['trend'] - if val == "-": continue - color = self.getcolorcode(val, units['lessisbetter'], trend_threshold) - if self.is_big_change(val, color, average_trend, average_trend_color): - # Do update biggest total trend change - average_trend = val - average_trend_units = units['units_title'] - # A trend break is only a warning - if color == "red": - color = "yellow" - average_trend_color = color + if val != "-": + color = self.getcolorcode(val, units['lessisbetter'], trend_threshold) + if self.is_big_change(val, color, average_trend, average_trend_color): + # Do update biggest total trend change + average_trend = val + average_trend_units = units['units_title'] + average_trend_color = color for row in units['rows']: # Single change val = row['change'] - if val == "-": continue + if val == "-": + continue color = self.getcolorcode(val, units['lessisbetter'], change_threshold) if self.is_big_change(val, color, max_change, max_change_color): # Do update biggest single change @@ -158,15 +157,13 @@ def save(self, *args, **kwargs): max_change_color = color # Single trend val = row['trend'] - if val == "-": continue + if val == "-": + continue color = self.getcolorcode(val, units['lessisbetter'], trend_threshold) if self.is_big_change(val, color, max_trend, max_trend_color): # Do update biggest single trend change max_trend = val max_trend_ben = row['benchmark'] - # A trend break is only a warning - if color == "red": - color = "yellow" max_trend_color = color if abs(max_trend) > trend_threshold: @@ -174,27 +171,30 @@ def save(self, *args, **kwargs): max_trend_ben, round(max_trend, 1)) self.colorcode = max_trend_color if abs(average_trend) > trend_threshold: - if average_trend_color == "yellow" or self.colorcode != "yellow": + if average_trend_color == "red" or self.colorcode != "red": self.summary = "Average %s trend %.1f%%" % ( average_trend_units.lower(), round(average_trend, 1)) self.colorcode = average_trend_color if abs(max_change) > change_threshold: - if max_change_color == "red" or self.colorcode != "yellow": + if max_change_color == "red" or self.colorcode != "red": self.summary = "%s %.1f%%" % ( max_change_ben, round(max_change, 1)) self.colorcode = max_change_color if abs(average_change) > change_threshold: - if average_change_color == "red" or\ - (self.colorcode != "red" and self.colorcode != "yellow"): + if average_change_color == "red" or self.colorcode != "red": self.summary = "Average %s %.1f%%" % ( average_change_units.lower(), round(average_change, 1)) self.colorcode = average_change_color + if "trend" in self.summary: + # trend break is only a warning + self.colorcode = "yellow" super(Report, self).save(*args, **kwargs) def is_big_change(self, val, color, current_val, current_color): - if color == "red" and\ - abs(val) > abs(current_val): + if color == "red" and current_color != "red": + return True + elif color == "red" and abs(val) > abs(current_val): return True elif color == "green" and current_color != "red" and \ abs(val) > abs(current_val): diff --git a/speedcenter/media/css/main.css b/speedcenter/media/css/main.css index 686737af..ca940fe6 100644 --- a/speedcenter/media/css/main.css +++ b/speedcenter/media/css/main.css @@ -210,8 +210,9 @@ a.checkall { margin-left: 0.4em; } p.errormessage { line-height: 10em; margin-bottom: 10em; } /* Changes table layout */ -div#contentwrap { display: table; table-layout: auto; width: 100%; } +div#contentwrap { display: table; table-layout: fixed; width: 100%; } div#contentwrap div { display: table-cell; } +div#contentwrap div.leftcolumn { width: 30em; } div#contentwrap div.rightcolumn { padding-left: 0.8em; } div#contentwrap div div { display: block; } @@ -219,6 +220,7 @@ div#contentwrap div div { display: block; } /* 1024px wide screen Tablet, Netbook */ /* Remove outher margins so that it comfortably fits */ @media only screen and (max-width:1100px) { + div#contentwrap div.leftcolumn { width: 28.2em; } div#containter { width: 100%; margin: 0; } div#workarea { padding-left: 0.3em; } div#sidebar { width: 12.5em; }