← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17024: tracker capture - date fileds respecting calendar setting, WIP

 

------------------------------------------------------------
revno: 17024
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
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();