Generate links to diffs from changes feed

This commit is contained in:
Magnus Hoff 2017-11-06 13:37:46 +01:00
parent 9cb3da86e2
commit c24c5a84d5
4 changed files with 14 additions and 2 deletions

View file

@ -12,6 +12,7 @@ use site::Layout;
use state::State;
use web::{Resource, ResponseFuture};
use super::diff_resource::{self, ArticleRevisionReference};
use super::pagination::Pagination;
use super::TemporaryRedirectResource;
@ -217,6 +218,8 @@ impl Resource for ChangesResource {
title: String,
_latest: bool,
diff_link: String,
}
impl<'a> Row<'a> {
@ -334,6 +337,10 @@ impl Resource for ChangesResource {
_slug: x.slug,
title: x.title,
_latest: x.latest,
diff_link: diff_resource::QueryParameters::new(
ArticleRevisionReference::Some { article_id: x.article_id as u32, revision: x.revision as u32 - 1 },
ArticleRevisionReference::Some { article_id: x.article_id as u32, revision: x.revision as u32 },
).into_link()
}
}).collect::<Vec<_>>();

View file

@ -120,7 +120,7 @@ impl QueryParameters {
}
pub fn into_link(self) -> String {
serde_urlencoded::to_string(self).expect("Serializing to String cannot fail")
format!("_diff?{}", serde_urlencoded::to_string(self).expect("Serializing to String cannot fail"))
}
}

View file

@ -24,6 +24,7 @@
<th>Article</th>
<th>Updated</th>
{{#show_authors?}}<th>Author</th>{{/show_authors}}
<th></th>
</tr>
{{/changes}}
{{#changes}}
@ -31,6 +32,7 @@
<td><a href="_revisions/{{.article_id}}/{{.revision}}">{{.title}}</a></td>
<td>{{.created}}</td>
{{#show_authors?}}<td>{{#..author}}<a href="{{...author_link()}}">{{.}}</a>{{/..author}}{{^..author}}<i>Anonymous</i>{{/..author}}</td>{{/show_authors}}
<td><a href="{{.diff_link}}">change</a></td>
</tr>
{{/changes}}
</table>

View file

@ -1,6 +1,9 @@
<div class="container">
<header>
<h1>Diff</h1>
<h1>Difference</h1>
</header>
<header>
<h1>{{#title}}{{#.removed}}<span class="removed">{{.}}</span>{{/.removed}}{{#.same}}{{.}}{{/.same}}{{#.added}}<span class="added">{{.}}</span>{{/.added}}{{/title}}</h1>
</header>