------------------------------------------------------------ revno: 17024 committer: Abyot Asalefew Gizaw <aby...@gmail.com> branch nick: dhis2 timestamp: Thu 2014-10-09 15:41:37 +0200 message: tracker capture - date fileds respecting calendar setting, WIP modified: dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/profile/profile.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration-controller.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/app.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/directives.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2014-10-02 10:25:39 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2014-10-09 13:41:37 +0000 @@ -69,12 +69,12 @@ <div class="row"> <div class="col-md-6"> {{currentDummyEvent.reportDateDescription}} - <input type="text" placeholder="yyyy-mm-dd" name="eventDate" class="form-control" ng-date ng-model="currentDummyEvent.eventDate" ng-required="false"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="eventDate" class="form-control" ng-date ng-model="currentDummyEvent.eventDate" ng-required="false"/> <span ng-if="eventCreationForm.submitted && eventCreationForm.eventDate.$invalid" class="error">{{'required'| translate}}</span> </div> <div class="col-md-6"> {{'due_date'| translate}} - <input type="text" placeholder="yyyy-mm-dd" name="dueDate" class="form-control" ng-date ng-model="currentDummyEvent.dueDate" ng-required="true"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="dueDate" class="form-control" ng-date ng-model="currentDummyEvent.dueDate" ng-required="true"/> <span ng-if="eventCreationForm.submitted && eventCreationForm.dueDate.$invalid" class="error">{{'required'| translate}}</span> </div> </div> @@ -93,7 +93,7 @@ {{currentEvent.reportDateDescription}} <input type="text" name="eventDate" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-class="{'input-success': eventDateSaved}" ng-date @@ -112,7 +112,7 @@ </span> <input type="text" name="dueDate" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-class="{'input-success': dueDateSaved}" ng-date === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html 2014-10-02 10:25:39 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html 2014-10-09 13:41:37 +0000 @@ -88,7 +88,7 @@ </div> <div ng-switch-when="date"> <input type="text" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" ng-date ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)' ng-model="currentEvent[prStDe.dataElement.id]" === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js 2014-10-03 08:25:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js 2014-10-09 13:41:37 +0000 @@ -134,8 +134,6 @@ $scope.registrationForm = teForm; } $scope.selectedProgram.displayCustomForm = $scope.selectedProgram.hasCustomForm ? true:false; - - console.log('The program is: ', $scope.selectedProgram); }); } }; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html 2014-10-08 14:25:52 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html 2014-10-09 13:41:37 +0000 @@ -25,7 +25,7 @@ {{selectedProgram.dateOfEnrollmentDescription}} </td> <td class="col-md-6"> - <input type="text" placeholder="yyyy-mm-dd" class="form-control" ng-date ng-model="selectedEnrollment.dateOfEnrollment" ng-disabled="true"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-date ng-model="selectedEnrollment.dateOfEnrollment" ng-disabled="true"/> </td> </tr> <tr class="col-md-12" ng-if="selectedProgram.displayIncidentDate"> @@ -33,7 +33,7 @@ {{selectedProgram.dateOfIncidentDescription}} </td> <td class="col-md-6"> - <input type="text" placeholder="yyyy-mm-dd" class="form-control" ng-date ng-model="selectedEnrollment.dateOfIncident" ng-disabled="true"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-date ng-model="selectedEnrollment.dateOfIncident" ng-disabled="true"/> </td> </tr> </table> @@ -81,7 +81,7 @@ </td> <td class="col-md-6"> <input type="text" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="dateOfEnrollment" class="form-control" ng-date @@ -97,7 +97,7 @@ </td> <td class="col-md-6"> <input type="text" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-date max-date="selectedProgram.selectIncidentDatesInFuture ? '' : today" @@ -117,7 +117,7 @@ <ng-form name="innerForm"> <div ng-switch="attribute.valueType"> <div ng-switch-when="date"> - <input type="text" placeholder="yyyy-mm-dd" class="form-control" name="foo" ng-date ng-model="attribute.value" ng-required="attribute.mandatory"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" name="foo" ng-date ng-model="attribute.value" ng-required="attribute.mandatory"/> <span ng-show="outerForm.submitted && innerForm.foo.$invalid" style="color:red;font-size:12px">{{'required'| translate}}</span> </div> <div ng-switch-when="trueOnly"> === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/profile/profile.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/profile/profile.html 2014-10-03 08:25:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/profile/profile.html 2014-10-09 13:41:37 +0000 @@ -26,7 +26,7 @@ <ng-form name="innerForm"> <div ng-switch="attribute.type"> <div ng-switch-when="date"> - <input type="text" placeholder="yyyy-mm-dd" name="foo" class="form-control" ng-date ng-model="attribute.value" value="attribute.value | date:'yyyy-MM-dd" ng-disabled="!editProfile" ng-required="attribute.mandatory"/> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="foo" class="form-control" ng-date ng-model="attribute.value" value="attribute.value | date:'yyyy-MM-dd" ng-disabled="!editProfile" ng-required="attribute.mandatory"/> <span ng-show="outerForm.submitted && innerForm.foo.$invalid" class="error">{{'required'| translate}} - {{attribute.type}}</span> </div> <div ng-switch-when="trueOnly"> === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration-controller.js 2014-08-25 13:40:37 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration-controller.js 2014-10-09 13:41:37 +0000 @@ -42,7 +42,7 @@ }); } }); - + $scope.registerEntity = function(destination){ //check for form validity === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration.html 2014-10-03 08:25:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/registration/registration.html 2014-10-09 13:41:37 +0000 @@ -27,7 +27,7 @@ <ng-form name="innerForm"> <div ng-switch="attribute.valueType"> <div ng-switch-when="date"> - <input type="text" placeholder="yyyy-mm-dd" name="foo" class="form-control" ng-date ng-model="attribute.value" ng-required="attribute.mandatory" /> + <input type="text" placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="foo" class="form-control" ng-date ng-model="attribute.value" ng-required="attribute.mandatory" /> <span ng-show="outerForm.submitted && innerForm.foo.$invalid" class="error">{{'required'| translate}}</span> </div> <div ng-switch-when="trueOnly"> @@ -107,7 +107,7 @@ </td> <td> <input type="text" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" name="dateOfEnrollment" class="form-control" ng-date @@ -123,7 +123,7 @@ </td> <td> <input type="text" - placeholder="yyyy-mm-dd" + placeholder="{{dhis2CalendarFormat.keyDateFormat}}" class="form-control" ng-date max-date="selectedProgram.selectIncidentDatesInFuture ? '' : today" === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html 2014-10-08 11:53:55 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html 2014-10-09 13:41:37 +0000 @@ -8,10 +8,10 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.min.js"></script> + <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.min.js"></script> <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="../dhis-web-commons/javascripts/jQuery/jquery.tmpl.js"></script> - <link rel="stylesheet" type="text/css" href="../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui.css"> + <link rel="stylesheet" type="text/css" href="../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui.css"> <script type="text/javascript" src="../dhis-web-commons/select2/select2.min.js"></script> <link type="text/css" rel="stylesheet" media="screen" href="../dhis-web-commons/select2/select2.css"> === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/app.js 2014-09-11 12:35:41 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/app.js 2014-10-09 13:41:37 +0000 @@ -51,6 +51,13 @@ suffix: '.json' }); - $translateProvider.preferredLanguage('en'); - + $translateProvider.preferredLanguage('en'); +}) + +.run(function($rootScope, storage){ + $rootScope.dhis2CalendarFormat = {keyDateFormat: 'yyyy-MM-dd', keyCalendar: 'iso8601'}; + var storedFormat = storage.get('CALENDAR_SETTING'); + if(angular.isObject(storedFormat) && storedFormat.keyDateFormat && storedFormat.keyCalendar){ + $rootScope.dhis2CalendarFormat = storedFormat; + } }); === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js 2014-10-08 11:53:55 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/controllers.js 2014-10-09 13:41:37 +0000 @@ -48,7 +48,7 @@ //watch for selection of org unit from tree $scope.$watch('selectedOrgUnit', function() { - + if( angular.isObject($scope.selectedOrgUnit)){ storage.set('SELECTED_OU', $scope.selectedOrgUnit); @@ -66,14 +66,13 @@ if($scope.dashboardProgramId && $scope.dashboardProgramId !== 'null'){ $scope.selectedOrgUnit = storage.get('SELECTED_OU'); ProgramFactory.get($scope.dashboardProgramId).then(function(program){ - $scope.selectedProgram = program; - $scope.processAttributes(); + $scope.selectedProgram = program; }); } //load programs associated with the selected org unit. $scope.loadPrograms = function(orgUnit) { - + $scope.selectedOrgUnit = orgUnit; if (angular.isObject($scope.selectedOrgUnit)) { === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/directives.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/directives.js 2014-10-08 11:53:55 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/directives.js 2014-10-09 13:41:37 +0000 @@ -185,15 +185,20 @@ }; }) -.directive('ngDate', function($filter) { +.directive('ngDate', function(DateUtils, $rootScope) { return { restrict: 'A', require: 'ngModel', link: function(scope, element, attrs, ctrl) { + + var dateFormat = 'yy-mm-dd'; + if($rootScope.keyDateFormat === 'dd-MM-yyyy'){ + dateFormat = 'dd-mm-yy'; + } element.datepicker({ changeYear: true, changeMonth: true, - dateFormat: 'yy-mm-dd', + dateFormat: dateFormat, yearRange: '-120:+30', minDate: attrs.minDate, maxDate: attrs.maxDate, @@ -202,13 +207,11 @@ ctrl.$setViewValue(date); $(this).change(); scope.$apply(); - } + } }) .change(function() { - //var rawDate = $filter('date')(this.value, 'yyyy-MM-dd'); var rawDate = this.value; - var convertedDate = moment(this.value, 'YYYY-MM-DD')._d; - convertedDate = $filter('date')(convertedDate, 'yyyy-MM-dd'); + var convertedDate = DateUtils.format(this.value); if(rawDate != convertedDate){ scope.invalidDate = true; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2014-10-08 14:18:50 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2014-10-09 13:41:37 +0000 @@ -1181,7 +1181,7 @@ column.show = true; } column.showFilter = false; - }); + }); return columns; }, @@ -1210,22 +1210,25 @@ }; }) -.service('DateUtils', function($filter){ +.service('DateUtils', function($filter, storage, $rootScope){ return { - format: function(dateValue) { - dateValue = moment(dateValue, 'YYYY-MM-DD')._d; + format: function(dateValue) { dateValue = Date.parse(dateValue); - dateValue = $filter('date')(dateValue, 'yyyy-MM-dd'); + dateValue = $filter('date')(dateValue, $rootScope.dhis2CalendarFormat.keyDateFormat); return dateValue; }, - formatToHrsMins: function(dateValue) { - return moment(dateValue).format('YYYY-MM-DD @ hh:mm A'); + formatToHrsMins: function(dateValue) { + var dateFormat = 'YYYY-MM-DD @ hh:mm A'; + if($rootScope.dhis2CalendarFormat.keyDateFormat === 'dd-MM-yyyy'){ + dateFormat = 'DD-MM-YYYY @ hh:mm A'; + } + return moment(dateValue).format(dateFormat); } - }; + }; }) -.service('EventUtils', function($filter, DateUtils, OrgUnitService){ +.service('EventUtils', function(DateUtils, OrgUnitService){ return { createDummyEvent: function(programStage, orgUnit, enrollment){ @@ -1273,8 +1276,8 @@ } }, getEventDueDate: function(programStage, enrollment){ - var dueDate = DateUtils.format(enrollment.dateOfIncident); - dueDate = moment(enrollment.dateOfIncident).add('d', programStage.minDaysFromStart); + //var dueDate = DateUtils.format(enrollment.dateOfIncident); + var dueDate = moment(enrollment.dateOfIncident).add('d', programStage.minDaysFromStart); dueDate = DateUtils.format(dueDate); return dueDate; }, === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js 2014-10-03 08:25:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/tracker-capture.js 2014-10-09 13:41:37 +0000 @@ -58,6 +58,7 @@ promise = promise.then( dhis2.tc.store.open ); promise = promise.then( getUserProfile ); + promise = promise.then( getCalendarSetting ); promise = promise.then( getLoginDetails ); promise = promise.then( getRelationships ); promise = promise.then( getAttributes ); @@ -179,7 +180,6 @@ }); } - function getUserProfile() { var def = $.Deferred(); @@ -195,6 +195,21 @@ return def.promise(); } +function getCalendarSetting() +{ + var def = $.Deferred(); + + $.ajax({ + url: '../api/systemSettings?key=keyCalendar&key=keyDateFormat', + type: 'GET' + }).done(function(response) { + localStorage['CALENDAR_SETTING'] = JSON.stringify(response); + def.resolve(); + }); + + return def.promise(); +} + function getLoginDetails() { var def = $.Deferred();
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp