dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #33373
[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();