From 5e3678ed9ff7094d74635c51d4d7ec96a26d162b Mon Sep 17 00:00:00 2001 From: Keith Woodlock Date: Sun, 27 May 2012 11:30:11 +0100 Subject: [PATCH] support display of client data in tab with ajax fetch of data. --- .../java/org/mifosng/data/ClientData.java | 5 +- .../views/client/viewClientAccount.jsp | 18 ++++- .../src/main/webapp/WEB-INF/views/home.jsp | 70 +++++++++++++++---- 3 files changed, 75 insertions(+), 18 deletions(-) diff --git a/mifosng-data/src/main/java/org/mifosng/data/ClientData.java b/mifosng-data/src/main/java/org/mifosng/data/ClientData.java index d9a6e74d6..36515c8ed 100644 --- a/mifosng-data/src/main/java/org/mifosng/data/ClientData.java +++ b/mifosng-data/src/main/java/org/mifosng/data/ClientData.java @@ -4,16 +4,13 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlRootElement; - import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.map.annotate.JsonFilter; import org.joda.time.DateTime; import org.joda.time.Days; import org.joda.time.LocalDate; -@XmlRootElement(name = "client") -@JsonIgnoreProperties({ "organisationId", "organisationName" }) +@JsonIgnoreProperties({ "organisationId","organisationName"}) @JsonFilter("myFilter") public class ClientData implements Serializable { diff --git a/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/client/viewClientAccount.jsp b/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/client/viewClientAccount.jsp index a63e14cb4..fa686d37f 100644 --- a/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/client/viewClientAccount.jsp +++ b/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/client/viewClientAccount.jsp @@ -64,7 +64,23 @@ $(document).ready(function() { return false; } }, - globalDate: function(localDateAsISOString) { + globalDate: function(dateParts) { + try { + + var year = dateParts[0]; + var month = parseInt(dateParts[1]) - 1; // month is zero indexed + var day = dateParts[2]; + + var d = new Date(); + d.setFullYear(year,month,day); + + return Globalize.format(d,"dd MMMM yyyy"); + } catch(e) { + return "??"; + } + }, + globalDateAsISOString: function(localDateAsISOString) { + try { var dateParts = localDateAsISOString.split("-") var year = dateParts[0]; diff --git a/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/home.jsp b/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/home.jsp index 8e09bfbfd..818a6b1aa 100644 --- a/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/home.jsp +++ b/mifosng-individual-lending-app/src/main/webapp/WEB-INF/views/home.jsp @@ -56,7 +56,23 @@ $(document).ready(function() { return false; } }, - globalDate: function(localDateAsISOString) { + globalDate: function(dateParts) { + try { + + var year = dateParts[0]; + var month = parseInt(dateParts[1]) - 1; // month is zero indexed + var day = dateParts[2]; + + var d = new Date(); + d.setFullYear(year,month,day); + + return Globalize.format(d,"dd MMMM yyyy"); + } catch(e) { + return "??"; + } + }, + globalDateAsISOString: function(localDateAsISOString) { + try { var dateParts = localDateAsISOString.split("-") var year = dateParts[0]; @@ -292,24 +308,52 @@ $(document).ready(function() { "ajaxOptions": { type: 'GET', dataType: 'json', - contentType: 'application/json', + contentType: 'application/json; charset=utf-8', cache: false, beforeSend: function(xhr) { + console.log("before send"); xhr.setRequestHeader("Authorization", "Basic " + base64); }, + success: function(data, status, xhr) { + }, error: function(xhr, status, index, anchor) { $(anchor.hash).html("error occured while ajax loading."); - }, - success: function(data, status, xhr) { - var clientObject = new Object(); - clientObject.clients = data; - var tableHtml = $("#clientSearchTabTemplate").render(clientObject); - $("#searchtab").html(tableHtml); - - $('#client').change(function() { - $('#viewClient').submit(); - }); } + }, + select: function(event, ui) { + console.log("selected.."); + }, + load: function(event, ui) { + console.log("load.."); + }, + show: function(event, ui) { + console.log("show.."); + + var jqxhr = $.ajax({ + url: baseApiUrl + 'clients', + type: 'GET', + contentType: 'application/json', + dataType: 'json', + cache: false, + beforeSend: function(xhr) { + xhr.setRequestHeader("Authorization", "Basic " + base64); + }, + success: function(data) { + var clientObject = new Object(); + clientObject.clients = data; + console.log(clientObject); + + var tableHtml = $("#clientSearchTabTemplate").render(clientObject); + $("#searchtab").html(tableHtml); + + $('#client').change(function() { + $('#viewClient').submit(); + }); + }, + error: function(jqXHR, textStatus, errorThrown) { + handleXhrError(jqXHR, textStatus, errorThrown, "#formErrorsTemplate", "#formerrors"); + } + }); } }); @@ -346,7 +390,7 @@ $(document).ready(function() {