← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~shevonar/widelands-website/fix-missing-revisions into lp:widelands-website

 

Shevonar has proposed merging lp:~shevonar/widelands-website/fix-missing-revisions into lp:widelands-website.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~shevonar/widelands-website/fix-missing-revisions/+merge/168897

This should fix the problems with missing revisions. It is not tested, since I don't have missing revisions on my server. However, without missing revisions it is working properly.
-- 
https://code.launchpad.net/~shevonar/widelands-website/fix-missing-revisions/+merge/168897
Your team Widelands Developers is requested to review the proposed merge of lp:~shevonar/widelands-website/fix-missing-revisions into lp:widelands-website.
=== modified file 'templates/wiki/history.html'
--- templates/wiki/history.html	2012-09-10 10:13:04 +0000
+++ templates/wiki/history.html	2013-06-12 10:10:38 +0000
@@ -19,29 +19,31 @@
 		return true;
 	}
 
+	{% with first=changes|first %}
 	function selectedFrom(from) {
-		for (i = 1; i <= {{ changes|length }}; i++) {
-			$("#id_to_" + i).css("display", i <= from ? "none" : "block");
+		for (i = 1; i <= {{ first.revision }}; i++) {
+			$("#id_to_" + i).css("display", i <= from ? "none" : "inline");
 		}
 	}
 
 	function selectedTo(to) {
-		for (i = 1; i <= {{ changes|length }}; i++) {
-			$("#id_from_" + i).css("display", i < to ? "block" : "none");
+		for (i = 1; i <= {{ first.revision }}; i++) {
+			$("#id_from_" + i).css("display", i < to ? "inline" : "none");
 		}
 	}
 
 	$(function() {
 		var $to = $('input:radio[name=to]');
+		var to_revision = {{ first.revision }};
 		if ($to.is(':checked') === false) {
-			$to.filter('[value={{ changes|length }}]').attr('checked', true);
-			selectedTo({{ changes|length }});
+			$to.filter('[value='+to_revision+']').attr('checked', true);
+			selectedTo(to_revision);
 		} else {
 			selectedTo($('input:radio[name=to]:checked').val());
 		}
 
 		var $from = $('input:radio[name=from]');
-		var from_revision = {{ changes|length }} - 1;
+		var from_revision = {{ first.revision }} - 1;
 		if ($from.is(':checked') === false) {
 			$from.filter('[value='+from_revision+']').attr('checked', true);
 			selectedFrom(from_revision);
@@ -49,6 +51,7 @@
 			selectedFrom($('input:radio[name=from]:checked').val());
 		}
 	});
+	{% endwith %}
 </script>
 {% endif %}
 

=== modified file 'wiki/models.py'
--- wiki/models.py	2012-09-10 10:13:04 +0000
+++ wiki/models.py	2013-06-12 10:10:38 +0000
@@ -296,7 +296,7 @@
     def compare_to(self, revision_from):
         other_content = u""
         if revision_from > 0:
-            other_content = ChangeSet.objects.filter(article=self.article, revision=revision_from)[0].get_content()
+            other_content = ChangeSet.objects.filter(article=self.article, revision__lte=revision_from).order_by("-revision")[0].get_content()
         diffs = dmp.diff_main(other_content, self.get_content())
         dmp.diff_cleanupSemantic(diffs)
         return dmp.diff_prettyHtml(diffs)


Follow ups