=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java 2012-03-05 04:22:57 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java 2012-03-05 07:32:05 +0000 @@ -719,6 +719,7 @@ // // ----------------------------------------------------------- + appendCode = appendCode.replace( "$DATAELEMENTID", String.valueOf( dataElementId ) ); appendCode = appendCode.replace( "$PROGRAMSTAGEID", String.valueOf( programStageId ) ); appendCode = appendCode.replace( "$PROGRAMSTAGENAME", programStageName ); appendCode = appendCode.replace( "$DATAELEMENTNAME", dataElement.getName() ); @@ -726,6 +727,7 @@ appendCode = appendCode.replace( "$DISABLED", disabled ); appendCode = appendCode.replace( "$COMPULSORY", compulsory ); appendCode = appendCode.replace( "$SAVEMODE", "false" ); + appendCode = appendCode.replaceAll( "\\$", "\\\\\\$" ); dataElementMatcher.appendReplacement( sb, appendCode ); } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-03-05 04:22:57 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-03-05 07:32:05 +0000 @@ -192,6 +192,7 @@ /dhis-web-caseentry/reportSelect.vm /dhis-web-caseentry/reportsMenu.vm ../dhis-web-commons/ouwt/ouwt.js,javascript/report.js + ../dhis-web-caseentry/style/report.css /main.vm /dhis-web-caseentry/caseAggregationForm.vm /dhis-web-caseentry/caseAggregationMenu.vm - javascript/caseagg.js,javascript/date.js,javascript/caseAggregationForm.js + javascript/caseagg.js,javascript/caseAggregationForm.js style/dataEntry.css === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2012-02-09 04:47:14 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2012-03-05 07:32:05 +0000 @@ -9,7 +9,7 @@ disable('createEventBtn'); disable('deleteCurrentEventBtn'); - $.postJSON( 'loadAnonymousPrograms.action',{} + $.getJSON( 'loadAnonymousPrograms.action',{} , function( json ) { clearListById( 'programId' ); @@ -55,7 +55,7 @@ showLoader(); - jQuery.postJSON( "loadProgramStages.action", + jQuery.getJSON( "loadProgramStages.action", { programId: programId }, === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/caseagg.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/caseagg.js 2012-02-27 06:09:39 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/caseagg.js 2012-03-05 07:32:05 +0000 @@ -4,28 +4,28 @@ if ( dataSetId && dataSetId != 0 ) { - var url = 'loadPeriods.action?dataSetId=' + dataSetId; - clearListById( 'sDateLB' ); clearListById( 'eDateLB' ); addOptionById( 'sDateLB', '', '[' + i18n_please_select + ']' ); addOptionById( 'eDateLB', '', '[' + i18n_please_select + ']' ); - - $.getJSON( url, function( json ) { - - for ( i in json.periods ) { - addOptionById( 'sDateLB', i, json.periods[i].name ); - addOptionById( 'eDateLB', i, json.periods[i].name ); - } - - enable('previousPeriodForStartBtn'); - enable('nextPeriodForStartBtn'); - enable('previousPeriodForEndBtn'); - enable('nextPeriodForEndBtn'); - - } ); - + + $.getJSON( "loadPeriods.action", + { + dataSetId:dataSetId + } + , function( json ) + { + for ( i in json.periods ) { + addOptionById( 'sDateLB', i, json.periods[i].name ); + addOptionById( 'eDateLB', i, json.periods[i].name ); + } + + enable('previousPeriodForStartBtn'); + enable('nextPeriodForStartBtn'); + enable('previousPeriodForEndBtn'); + enable('nextPeriodForEndBtn'); + } ); } else { @@ -40,13 +40,21 @@ function getPreviousPeriodForStart() { var index = byId('sDateLB').options[byId('sDateLB').selectedIndex].value; - jQuery.postJSON('previousPeriods.action?startField=true&index=' + index, {}, responseListPeriodForStartReceived ); + jQuery.getJSON('previousPeriods.action' , + { + startField: 'true', + index: index + }, responseListPeriodForStartReceived ); } function getNextPeriodForStart() { var index = byId('sDateLB').options[byId('sDateLB').selectedIndex].value; - jQuery.postJSON('nextPeriods.action?startField=true&index=' + index, {}, responseListPeriodForStartReceived ); + jQuery.getJSON('nextPeriods.action', + { + startField:'true', + index: index + }, responseListPeriodForStartReceived ); } function responseListPeriodForStartReceived( json ) @@ -61,13 +69,21 @@ function getPreviousPeriodForEnd() { var index = byId('eDateLB').options[byId('eDateLB').selectedIndex].value; - jQuery.postJSON('previousPeriods.action?startField=false&index=' + index, {}, responseListPeriodForEndReceived ); + jQuery.getJSON('previousPeriods.action', + { + startField: 'false', + index: index + }, responseListPeriodForEndReceived ); } function getNextPeriodForEnd() { var index = byId('eDateLB').options[byId('eDateLB').selectedIndex].value; - jQuery.postJSON('nextPeriods.action?startField=false&index=' + index, {}, responseListPeriodForEndReceived ); + jQuery.getJSON('nextPeriods.action', + { + startField: 'false', + index: index + }, responseListPeriodForEndReceived ); } function responseListPeriodForEndReceived( json ) @@ -81,7 +97,7 @@ function validationCaseAggregation( ) { - $.post( 'validateCaseAggregation.action', + $.get( 'validateCaseAggregation.action', { sDateLB:getFieldValue('sDateLB'), eDateLB:getFieldValue('eDateLB') @@ -167,7 +183,7 @@ params += "aggregateValues=" + $(this).val() + "&"; }); } - + $.ajax({ type: "POST", url: "saveAggregateDataValue.action", === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-02-25 03:16:51 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-03-05 07:32:05 +0000 @@ -115,59 +115,3 @@ height: 400 });; } - -// ----------------------------------------------------------------------------- -// Show Details -// ----------------------------------------------------------------------------- - -function showDetails() -{ - var detailArea = $("#detailsArea"); - var top = (f_clientHeight() / 2) - 200; - if ( top < 0 ) top = 0; - var left = screen.width - detailArea.width() - 100; - detailArea.css({"left":left+"px","top":top+"px"}); - detailArea.show('fast'); - -} - -/** - * Get document width, hieght, scroll positions - * Work with all browsers - * @return - */ - -function f_clientWidth() { - return f_filterResults ( - window.innerWidth ? window.innerWidth : 0, - document.documentElement ? document.documentElement.clientWidth : 0, - document.body ? document.body.clientWidth : 0 - ); -} -function f_clientHeight() { - return f_filterResults ( - window.innerHeight ? window.innerHeight : 0, - document.documentElement ? document.documentElement.clientHeight : 0, - document.body ? document.body.clientHeight : 0 - ); -} -function f_scrollLeft() { - return f_filterResults ( - window.pageXOffset ? window.pageXOffset : 0, - document.documentElement ? document.documentElement.scrollLeft : 0, - document.body ? document.body.scrollLeft : 0 - ); -} -function f_scrollTop() { - return f_filterResults ( - window.pageYOffset ? window.pageYOffset : 0, - document.documentElement ? document.documentElement.scrollTop : 0, - document.body ? document.body.scrollTop : 0 - ); -} -function f_filterResults(n_win, n_docel, n_body) { - var n_result = n_win ? n_win : 0; - if (n_docel && (!n_result || (n_result > n_docel))) - n_result = n_docel; - return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result; -} === removed file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/date.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/date.js 2010-02-22 09:19:15 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/date.js 1970-01-01 00:00:00 +0000 @@ -1,300 +0,0 @@ -// =================================================================== -// Author: Matt Kruse -// WWW: http://www.mattkruse.com/ -// -// NOTICE: You may use this code for any purpose, commercial or -// private, without any further permission from the author. You may -// remove this notice from your final code if you wish, however it is -// appreciated by the author if at least my web site address is kept. -// -// You may *NOT* re-distribute this code in any way except through its -// use. That means, you can include it in your product, or your web -// site, or any other form where the code is actually being used. You -// may not put the plain javascript up on your site for download or -// include it in your javascript libraries for download. -// If you wish to share this code with others, please just point them -// to the URL instead. -// Please DO NOT link directly to my .js files from your site. Copy -// the files to your server and use them there. Thank you. -// =================================================================== - -// HISTORY -// ------------------------------------------------------------------ -// May 17, 2003: Fixed bug in parseDate() for dates <1970 -// March 11, 2003: Added parseDate() function -// March 11, 2003: Added "NNN" formatting option. Doesn't match up -// perfectly with SimpleDateFormat formats, but -// backwards-compatability was required. - -// ------------------------------------------------------------------ -// These functions use the same 'format' strings as the -// java.text.SimpleDateFormat class, with minor exceptions. -// The format string consists of the following abbreviations: -// -// Field | Full Form | Short Form -// -------------+--------------------+----------------------- -// Year | yyyy (4 digits) | yy (2 digits), y (2 or 4 digits) -// Month | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits) -// | NNN (abbr.) | -// Day of Month | dd (2 digits) | d (1 or 2 digits) -// Day of Week | EE (name) | E (abbr) -// Hour (1-12) | hh (2 digits) | h (1 or 2 digits) -// Hour (0-23) | HH (2 digits) | H (1 or 2 digits) -// Hour (0-11) | KK (2 digits) | K (1 or 2 digits) -// Hour (1-24) | kk (2 digits) | k (1 or 2 digits) -// Minute | mm (2 digits) | m (1 or 2 digits) -// Second | ss (2 digits) | s (1 or 2 digits) -// AM/PM | a | -// -// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm! -// Examples: -// "MMM d, y" matches: January 01, 2000 -// Dec 1, 1900 -// Nov 20, 00 -// "M/d/yy" matches: 01/20/00 -// 9/2/00 -// "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM" -// ------------------------------------------------------------------ - -var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); -var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat'); -function LZ(x) {return(x<0||x>9?"":"0")+x} - -// ------------------------------------------------------------------ -// isDate ( date_string, format_string ) -// Returns true if date string matches format of format string and -// is a valid date. Else returns false. -// It is recommended that you trim whitespace around the value before -// passing it to this function, as whitespace is NOT ignored! -// ------------------------------------------------------------------ -function isDate(val,format) { - var date=getDateFromFormat(val,format); - if (date==0) { return false; } - return true; - } - -// ------------------------------------------------------------------- -// compareDates(date1,date1format,date2,date2format) -// Compare two date strings to see which is greater. -// Returns: -// 1 if date1 is greater than date2 -// 0 if date2 is greater than date1 of if they are the same -// -1 if either of the dates is in an invalid format -// ------------------------------------------------------------------- -function compareDates(date1,dateformat1,date2,dateformat2) { - var d1=getDateFromFormat(date1,dateformat1); - var d2=getDateFromFormat(date2,dateformat2); - if (d1==0 || d2==0) { - return -1; - } - else if (d1 > d2) { - return 1; - } - return 0; - } - -// ------------------------------------------------------------------ -// formatDate (date_object, format) -// Returns a date in the output format specified. -// The format string uses the same abbreviations as in getDateFromFormat() -// ------------------------------------------------------------------ -function formatDate(date,format) { - format=format+""; - var result=""; - var i_format=0; - var c=""; - var token=""; - var y=date.getYear()+""; - var M=date.getMonth()+1; - var d=date.getDate(); - var E=date.getDay(); - var H=date.getHours(); - var m=date.getMinutes(); - var s=date.getSeconds(); - var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k; - // Convert real date parts into formatted versions - var value=new Object(); - if (y.length < 4) {y=""+(y-0+1900);} - value["y"]=""+y; - value["yyyy"]=y; - value["yy"]=y.substring(2,4); - value["M"]=M; - value["MM"]=LZ(M); - value["MMM"]=MONTH_NAMES[M-1]; - value["NNN"]=MONTH_NAMES[M+11]; - value["d"]=d; - value["dd"]=LZ(d); - value["E"]=DAY_NAMES[E+7]; - value["EE"]=DAY_NAMES[E]; - value["H"]=H; - value["HH"]=LZ(H); - if (H==0){value["h"]=12;} - else if (H>12){value["h"]=H-12;} - else {value["h"]=H;} - value["hh"]=LZ(value["h"]); - if (H>11){value["K"]=H-12;} else {value["K"]=H;} - value["k"]=H+1; - value["KK"]=LZ(value["K"]); - value["kk"]=LZ(value["k"]); - if (H > 11) { value["a"]="PM"; } - else { value["a"]="AM"; } - value["m"]=m; - value["mm"]=LZ(m); - value["s"]=s; - value["ss"]=LZ(s); - while (i_format < format.length) { - c=format.charAt(i_format); - token=""; - while ((format.charAt(i_format)==c) && (i_format < format.length)) { - token += format.charAt(i_format++); - } - if (value[token] != null) { result=result + value[token]; } - else { result=result + token; } - } - return result; - } - -// ------------------------------------------------------------------ -// Utility functions for parsing in getDateFromFormat() -// ------------------------------------------------------------------ -function _isInteger(val) { - var digits="1234567890"; - for (var i=0; i < val.length; i++) { - if (digits.indexOf(val.charAt(i))==-1) { return false; } - } - return true; - } -function _getInt(str,i,minlength,maxlength) { - for (var x=maxlength; x>=minlength; x--) { - var token=str.substring(i,i+x); - if (token.length < minlength) { return null; } - if (_isInteger(token)) { return token; } - } - return null; - } - -// ------------------------------------------------------------------ -// getDateFromFormat( date_string , format_string ) -// -// This function takes a date string and a format string. It matches -// If the date string matches the format string, it returns the -// getTime() of the date. If it does not match, it returns 0. -// ------------------------------------------------------------------ -function getDateFromFormat(val,format) { - val=val+""; - format=format+""; - var i_val=0; - var i_format=0; - var c=""; - var token=""; - var token2=""; - var x,y; - var now=new Date(); - var year=now.getYear(); - var month=now.getMonth()+1; - var date=1; - - while (i_format < format.length) { - // Get next token from format string - c=format.charAt(i_format); - token=""; - while ((format.charAt(i_format)==c) && (i_format < format.length)) { - token += format.charAt(i_format++); - } - // Extract contents of value based on format token - if (token=="yyyy" || token=="yy" || token=="y") { - if (token=="yyyy") { x=4;y=4; } - if (token=="yy") { x=2;y=2; } - if (token=="y") { x=2;y=4; } - year=_getInt(val,i_val,x,y); - if (year==null) { return 0; } - i_val += year.length; - if (year.length==2) { - if (year > 70) { year=1900+(year-0); } - else { year=2000+(year-0); } - } - } - else if (token=="MMM"||token=="NNN"){ - month=0; - for (var i=0; i11)) { - month=i+1; - if (month>12) { month -= 12; } - i_val += month_name.length; - break; - } - } - } - if ((month < 1)||(month>12)){return 0;} - } - else if (token=="EE"||token=="E"){ - for (var i=0; i12)){return 0;} - i_val+=month.length;} - else if (token=="dd"||token=="d") { - date=_getInt(val,i_val,token.length,2); - if(date==null||(date<1)||(date>31)){return 0;} - i_val+=date.length;} - else { - if (val.substring(i_val,i_val+token.length)!=token) {return 0;} - else {i_val+=token.length;} - } - } - // If there are any trailing characters left in the value, it doesn't match - if (i_val != val.length) { return 0; } - // Is date valid for month? - if (month==2) { - // Check for leap year - if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year - if (date > 29){ return 0; } - } - else { if (date > 28) { return 0; } } - } - if ((month==4)||(month==6)||(month==9)||(month==11)) { - if (date > 30) { return 0; } - } - // Correct hours value - var newdate=new Date(year,month-1,date); - return newdate.getTime(); - } - -// ------------------------------------------------------------------ -// parseDate( date_string [, prefer_euro_format] ) -// -// This function takes a date string and tries to match it to a -// number of possible date formats to get the value. It will try to -// match against the following international formats, in this order: -// y-M-d MMM d, y MMM d,y y-MMM-d d-MMM-y MMM d -// M/d/y M-d-y M.d.y MMM-d M/d M-d -// d/M/y d-M-y d.M.y d-MMM d/M d-M -// A second argument may be passed to instruct the method to search -// for formats like d/M/y (european format) before M/d/y (American). -// Returns a Date object or null if no patterns match. -// ------------------------------------------------------------------ -function parseDate(val) { - var preferEuro=(arguments.length==2)?arguments[1]:false; - generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d'); - monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d'); - dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M'); - var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst'); - var d=null; - for (var i=0; i - + - #foreach( $program in $programs )