From 9882de50cbd6a9c1379a6f1bdbee1beae82ab904 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@bioforsk.no> Date: Fri, 4 Mar 2016 09:53:15 +0100 Subject: [PATCH] Fixed reverse sorting of observations and messages --- VIPSWeb/static/js/frontpage.js | 11 +++++-- VIPSWeb/static/js/util.js | 30 +++++++++++++++++++ .../templates/observations/index.html | 1 + vips_messages/templates/messages/index.html | 7 ++++- vips_messages/views.py | 5 +++- 5 files changed, 50 insertions(+), 4 deletions(-) diff --git a/VIPSWeb/static/js/frontpage.js b/VIPSWeb/static/js/frontpage.js index 704cdcc0..d3846d70 100644 --- a/VIPSWeb/static/js/frontpage.js +++ b/VIPSWeb/static/js/frontpage.js @@ -95,14 +95,14 @@ function filterObservations(){ */ function renderObservationMessages() { - // TODO: Sort in reverse chronological order + // Sort in reverse chronological order + filteredObservations.sort(sortObservationMessages).reverse(); var messagesLeftColTBody = document.getElementById("messagesLeftColTBody"); messagesLeftColTBody.innerHTML = ""; for(var i=0;i<Math.min(3,filteredObservations.length);i++) // Max 4 latest messages { var observation = filteredObservations[i]; - messagesLeftColTBody.innerHTML += '<tr>\n<td class="dateCell">' + getStandardFormattedDate(observation["timeOfObservation"]) + '</td><td><a href="/observations/' + observation["observationId"] + '">' + observation["observationHeading"] + '</a></td>\n</tr>'; } } @@ -127,6 +127,9 @@ function cacheMessages() */ function renderMessages() { + // Sorting in reverse chronological order + filteredMessages.sort(sortMessages).reverse(); + var messagesRightColTBody = document.getElementById("messagesRightColTBody"); messagesRightColTBody.innerHTML = ""; @@ -444,6 +447,10 @@ var sortForecastSummaries = function(a,b){ return 1; } + + + + /** * Returns the localized status message * @param warningStatus diff --git a/VIPSWeb/static/js/util.js b/VIPSWeb/static/js/util.js index cc08cf6d..f6dd4d5e 100644 --- a/VIPSWeb/static/js/util.js +++ b/VIPSWeb/static/js/util.js @@ -255,4 +255,34 @@ function getLocalizedOrganismName(organism) function capitalizeFirstLetter(string) { return string && string.charAt(0).toUpperCase() + string.slice(1); +} + +var sortMessages = function(a,b) +{ + var momentA = moment(a.datePub); + var momentB = moment(b.datePub); + if(momentA.isBefore(momentB)) + { + return -1; + } + if(momentA.isSame(momentB)) + { + return 0; + }; + return 1; +} + +var sortObservationMessages = function(a,b) +{ + var momentA = moment(a.timeOfObservation); + var momentB = moment(b.timeOfObservation); + if(momentA.isBefore(momentB)) + { + return -1; + } + if(momentA.isSame(momentB)) + { + return 0; + }; + return 1; } \ No newline at end of file diff --git a/observations/templates/observations/index.html b/observations/templates/observations/index.html index ee0247ad..c369eb77 100644 --- a/observations/templates/observations/index.html +++ b/observations/templates/observations/index.html @@ -49,6 +49,7 @@ $(document).ready(function() { $.getJSON("http://" + settings.vipslogicServerName + "/rest/observation/list/" + settings.vipsOrganizationId, function( json ) { allObservations = json; + allObservations.sort(sortObservationMessages).reverse(); var tableHTML = ""; for(var i in allObservations){ var observation = allObservations[i]; diff --git a/vips_messages/templates/messages/index.html b/vips_messages/templates/messages/index.html index 59c88d71..2e1d7c90 100644 --- a/vips_messages/templates/messages/index.html +++ b/vips_messages/templates/messages/index.html @@ -58,11 +58,13 @@ {% endblock %} {% block extendJS%} <script src="{% static "js/3rdparty/chosen.jquery.min.js" %}"></script> +<script type="text/javascript" src="{% static "js/3rdparty/moment.min.js" %}"></script> +<script src="{% static "js/util.js" %}"></script> {% endblock %} {% block customJS%} <script type="text/javascript"> var messageList = [ - {% for message in messages reversed %} + {% for message in messages %} { datePub:"{{ message.date_pub | date:"Y-m-d"}}", heading:"{{ message.heading | escapejs }}", @@ -84,6 +86,9 @@ { var messageListEl = document.getElementById("messageListEl"); var HTML = ""; + + messageListSubset.sort(sortMessages).reverse(); + for(var i in messageListSubset) { var listItem = messageListSubset[i]; diff --git a/vips_messages/views.py b/vips_messages/views.py index db691f28..1460ea5a 100644 --- a/vips_messages/views.py +++ b/vips_messages/views.py @@ -39,7 +39,10 @@ def index(request): ) else: messages = Message.get_messages(translation.get_language()) - + + # Sort the messages + + crops = Organism.get_all_crops() context = { -- GitLab