blob: 1a69c1fff5ed575e481c9c25d582be257976e22e [file] [log] [blame]
Mitja Nikolaus6a679132018-08-30 14:35:29 +02001"""Django template tags for crashreport statistics."""
2
Mitja Nikolause7d3c762018-08-30 17:29:27 +02003from django.template import Library, loader
Dirk Vogt62ff7f22017-05-04 16:07:21 +02004
Mitja Nikolause7d3c762018-08-30 17:29:27 +02005
6register = Library()
Dirk Vogt62ff7f22017-05-04 16:07:21 +02007
Dirk Vogt62ff7f22017-05-04 16:07:21 +02008
9@register.simple_tag
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020010def device_overview(
11 title="General Information", uuid="e1c0cc95-ab8d-461a-a768-cb8d9d7adb04"
12):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020013 """Render general device information."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020014 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020015 "crashreport_stats/tags/device_overview.html"
16 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +020017 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020018 {"uuid": uuid, "title": title, "element_name": "device_overview"}
19 )
Dirk Vogt1accb672017-05-10 14:07:42 +020020
21
22@register.simple_tag
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020023def device_crashreport_table(
24 title="Crashreports", uuid="e1c0cc95-ab8d-461a-a768-cb8d9d7adb04"
25):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020026 """Render device crashreport table."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020027 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020028 "crashreport_stats/tags/device_crashreport_table.html"
29 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +020030 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020031 {
32 "uuid": uuid,
33 "title": title,
34 "element_name": "device_crashreport_table",
35 }
36 )
37
Dirk Vogt1accb672017-05-10 14:07:42 +020038
39@register.simple_tag
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020040def device_update_history(
41 title="Update History", uuid="e1c0cc95-ab8d-461a-a768-cb8d9d7adb04"
42):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020043 """Render device update history."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020044 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020045 "crashreport_stats/tags/device_update_history.html"
46 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +020047 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020048 {
49 "uuid": uuid,
50 "title": title,
51 "element_name": "device_update_statistic",
52 }
53 )
54
Dirk Vogt1accb672017-05-10 14:07:42 +020055
56@register.simple_tag
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020057def device_report_history(
58 title="Report History", uuid="e1c0cc95-ab8d-461a-a768-cb8d9d7adb04"
59):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020060 """Render device report history."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020061 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020062 "crashreport_stats/tags/device_report_history.html"
63 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +020064 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020065 {"uuid": uuid, "title": title, "element_name": "device_report_history"}
66 )
67
Dirk Vogt1accb672017-05-10 14:07:42 +020068
69@register.simple_tag
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020070def versions_table(title="FP2 OS Versions", is_official_release="1"):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020071 """Render versions table."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020072 template = loader.get_template("crashreport_stats/tags/versions_table.html")
73 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020074 {
75 "title": title,
76 "is_official_release": is_official_release,
77 "element_name": "versions_overview_table",
78 }
79 )
80
81
82@register.simple_tag
83def versions_pie_chart(
84 title="FP2 Version Distribution", is_official_release="1"
85):
Mitja Nikolaus6a679132018-08-30 14:35:29 +020086 """Render versions pie chart."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +020087 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020088 "crashreport_stats/tags/versions_pie_chart.html"
89 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +020090 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +020091 {
92 "title": title,
93 "is_official_release": is_official_release,
94 "element_name": "versions_overview_pie_chart",
95 }
96 )
97
98
99@register.simple_tag
100def versions_area_chart(
101 title="FP2 Version Distribution", is_official_release="1"
102):
Mitja Nikolaus6a679132018-08-30 14:35:29 +0200103 """Render versions area chart."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +0200104 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +0200105 "crashreport_stats/tags/versions_area_chart.html"
106 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +0200107 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +0200108 {
109 "title": title,
110 "is_official_release": is_official_release,
111 "element_name": "versions_overview_area_chart",
112 }
113 )
114
115
116@register.simple_tag
117def versions_bar_chart(title="Version Stability", is_official_release="1"):
Mitja Nikolaus6a679132018-08-30 14:35:29 +0200118 """Render versions bar chart."""
Mitja Nikolause7d3c762018-08-30 17:29:27 +0200119 template = loader.get_template(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +0200120 "crashreport_stats/tags/versions_bar_chart.html"
121 )
Mitja Nikolause7d3c762018-08-30 17:29:27 +0200122 return template.render(
Mitja Nikolauscb50f2c2018-08-24 13:54:48 +0200123 {
124 "title": title,
125 "is_official_release": is_official_release,
126 "element_name": "versions_overview_bar_chart",
127 }
128 )