diff --git a/atdb/atdb/static/taskdatabase/style.css b/atdb/atdb/static/taskdatabase/style.css index 3eb74069d3c02a1910104389e4da9f11977f1d21..d466ffd86fe1b5f1aa3852578faad1bb3bca78b6 100644 --- a/atdb/atdb/static/taskdatabase/style.css +++ b/atdb/atdb/static/taskdatabase/style.css @@ -59,6 +59,16 @@ p.title { font-size: 13pt; } +.info { + background-color: #E0F8F8; +} + +.max { + font-weight: bold; + color: darkgray; + background-color: lightgreen; +} + .form-signin { width: 100%; max-width: 330px; diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py index f3f5d53bf098dcbe72f8422a1902284d3078ab33..1a9dcec76c3ae3caa4a9ed9237d13602a0c30f76 100644 --- a/atdb/taskdatabase/services/algorithms.py +++ b/atdb/taskdatabase/services/algorithms.py @@ -335,6 +335,25 @@ def human_readable(size_in_bytes): return "0" +def highlight_value(values, value_to_highlight): + + # find 'class' left of the value + pos_value = values.find(str(value_to_highlight)) + + # split up the values, left and right of the search area + part1 = values[:pos_value - 15] + part2 = values[pos_value:] + + substring = values[pos_value - 15:pos_value] + if 'inactive' in substring: + new_substring = substring.replace('inactive', 'max') + else: + new_substring = substring.replace('active', 'max') + + values = part1 + new_substring + part2 + + return values + def construct_tasks_per_workflow_html(request, workflow_results): # --- Progress of tasks per active workflow --- @@ -369,15 +388,19 @@ def construct_tasks_per_workflow_html(request, workflow_results): values += "<td colspan='8'></td></tr><tr>" d = workflow_result['nr_of_tasks_per_status'] + max = 0 for key in d: + try: percentage = round(int(d[key]) / int(workflow_result['nr_of_tasks']) * 100) + if (percentage > max) and (key in settings.ALL_STATUSSES): + max = percentage except: percentage = 0 # distinguish active statusses - style = "" + style = "inactive" if key in settings.ACTIVE_STATUSSES or key=='active': style = "active" @@ -394,6 +417,9 @@ def construct_tasks_per_workflow_html(request, workflow_results): # values += "<td>" + str(human_readable(workflow_result['size_processed'])) + " ("+ str(percentage) + "%) </td>" # values += "<td>" + str(workflow_result['total_processing_time']) + "</td>" + if max>0: + values = highlight_value(values, max) + results_tasks += "</tr><tr>" + values + "</tr>" results_tasks = "<tbody>" + results_tasks + "</tbody>" diff --git a/atdb/taskdatabase/static/taskdatabase/style.css b/atdb/taskdatabase/static/taskdatabase/style.css index cd37610d0d4a9e84965c61b2034cf54c47824e68..6ad92e4fdfda48abc4d8d69fd9f55fdd4b643b68 100644 --- a/atdb/taskdatabase/static/taskdatabase/style.css +++ b/atdb/taskdatabase/static/taskdatabase/style.css @@ -60,9 +60,13 @@ p.title { } .info { - font-size: 13pt; background-color: #E0F8F8; } +.max { + font-weight: bold; + color: green; + background-color: lightgreen; +} .form-signin { width: 100%;