Skip to content

Commit 6d315e6

Browse files
committed
json encoding can be done by tera
1 parent 2d4eb1d commit 6d315e6

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

src/web/releases.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use iron::{
1717
use postgres::Client;
1818
use router::Router;
1919
use serde::Serialize;
20-
use serde_json::{json, Value};
2120

2221
/// Number of release in home page
2322
const RELEASES_IN_HOME: i64 = 15;
@@ -659,7 +658,9 @@ pub fn search_handler(req: &mut Request) -> IronResult<Response> {
659658
#[derive(Debug, Clone, PartialEq, Serialize)]
660659
struct ReleaseActivity {
661660
description: &'static str,
662-
activity_data: Value,
661+
dates: Vec<String>,
662+
counts: Vec<i64>,
663+
failures: Vec<i64>,
663664
}
664665

665666
impl_webpage! {
@@ -714,13 +715,12 @@ pub fn activity_handler(req: &mut Request) -> IronResult<Response> {
714715

715716
ReleaseActivity {
716717
description: "Monthly release activity",
717-
activity_data: json!(
718-
{
719-
"dates": data.iter().map(|&d| d.0.format("%d %b").to_string()).collect::<Vec<_>>(),
720-
"counts": data.iter().map(|&d| d.1).collect::<Vec<_>>(),
721-
"failures": data.iter().map(|&d| d.2).collect::<Vec<_>>(),
722-
}
723-
),
718+
dates: data
719+
.iter()
720+
.map(|&d| d.0.format("%d %b").to_string())
721+
.collect(),
722+
counts: data.iter().map(|&d| d.1).collect(),
723+
failures: data.iter().map(|&d| d.2).collect(),
724724
}
725725
.into_response(req)
726726
}

templates/releases/activity.html

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,21 @@
2828
new Chart(ctx, {
2929
type: "line",
3030
data: {
31-
labels: [
32-
{% if activity_data.dates -%}
33-
{%- for date in activity_data.dates -%}
34-
{{ "'" ~ date ~ "'," }}
35-
{%- endfor -%}
36-
{%- endif %}
37-
],
31+
labels: {{ dates | json_encode() | safe }},
3832
datasets: [
3933
{
4034
label: "Releases",
4135
borderColor: "#4d76ae",
4236
backgroundColor: "#4d76ae",
4337
fill: false,
44-
data: [{{ activity_data.counts | default(value=[]) | join(sep=", ") }}],
38+
data: {{ counts | json_encode() | safe }},
4539
},
4640
{
4741
label: "Build Failures",
4842
borderColor: "#434348",
4943
backgroundColor: "#434348",
5044
fill: false,
51-
data: [{{ activity_data.failures | default(value=[]) | join(sep=", ") }}],
45+
data: {{ failures | json_encode() | safe }},
5246
},
5347
]
5448
},

0 commit comments

Comments
 (0)