[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17134: Add missing @Override on methods.

2014-10-16 Thread noreply

revno: 17134
committer: Morten Olav Hansen morte...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 13:17:19 +0700
message:
  Add missing @Override on methods.
modified:
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/aggregation/AggregatedIndicatorValue.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/calendar/AbstractCalendar.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseDimensionalObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseLinkableObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseNameableObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/IdentifiableObject.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/comparator/IdentifiableObjectCodeComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/comparator/IdentifiableObjectNameComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/completeness/comparator/DataSetCompletenessResultComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/comparator/DataElementCategoryComboSizeComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataentryform/DataEntryForm.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistration.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/comparator/SectionOrderComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValue.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/eventchart/EventChart.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/eventreport/EventReport.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/importexport/GroupMemberAssociation.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/comparator/MapLayerNameComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/node/NodeDeserializer.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/node/NodeSerializer.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/comparator/OrganisationUnitLevelComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/comparator/AscendingPeriodComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/comparator/AscendingPeriodEndDateComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/comparator/PeriodComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/comparator/ProgramStageInstanceDueDateComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/comparator/ProgramStageInstanceVisitDateComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/comparator/ProgramStageMinDaysComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/sms/config/ModemGatewayConfig.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/sms/outbound/OutboundSmsTransportService.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttribute.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/comparator/TrackedEntityAttributeGroupSortOrderComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/comparator/TrackedEntityAttributeSortOrderComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/comparator/TrackedEntityAttributeSortOrderInListNoProgramComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserCredentials.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserGroup.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/comparator/UserComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/comparator/UserGroupComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/comparator/UserRoleComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/comparator/UsernameComparator.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationResult.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/comparator/ValidationCriteriaComparator.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/comparator/ValidationResultComparator.java
  
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserGridService.java
  
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/jdbc/JDBCDataBrowserStore.java
  
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/dataintegrity/DefaultDataIntegrityService.java
  
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/datamerge/DefaultDataMergeService.java
  
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/datamerge/jdbc/JdbcDataMergeStore.java
  

Re: [Dhis2-devs] [Bug 1328273] Re: Executing analytics table fails: Process failed: Exception during execution

2014-10-16 Thread Jason Pickering
Hi Lars,
We updated to the following.

Web API:Browse it here https://si.dhis2.net/apiCurrent user:jpickering
Version:2.16Build revision:16526Build date:2014-10-15 16:52

Still getting the error below.


Analytics table process failed, please check the logs. Message: Exception
during execution Cause: java.util.concurrent.ExecutionException:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL
grammar [insert into analytics_event_temp_2012_xpweptbncsb
(U3eQda5XlA2,mYvlji093BS,uidlevel1,uidlevel2,uidlevel3,uidlevel4,uidlevel5,daily,weekly,monthly,bimonthly,quarterly,sixmonthly,sixmonthlyapril,yearly,financialapril,financialjuly,financialoct,lrbkrnNd1Gz,XJgv2HwHfSX,hAQiDxyXEUz,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kdstuCyxFmJ,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,kcMTeJgLr51,psi,ps,executiondate,longitude,latitude,ou,ouname,oucode,tei)
select
ougs.U3eQda5XlA2,ougs.mYvlji093BS,ous.uidlevel1,ous.uidlevel2,ous.uidlevel3,ous.uidlevel4,ous.uidlevel5,dps.daily,dps.weekly,dps.monthly,dps.bimonthly,dps.quarterly,dps.sixmonthly,dps.sixmonthlyapril,dps.yearly,dps.financialapril,dps.financialjuly,dps.financialoct,(select
value from trackedentitydatavalue where
programstageinstanceid=psi.programstageinstanceid and dataelementid=69892)
as lrbkrnNd1Gz,(select value from trackedentitydatavalue where
programstageinstanceid=psi.programstageinstanceid and dataelementid=69894)
as XJgv2HwHfSX,(select value from trackedentitydatavalue where
programstageinstanceid=psi.programstageinstanceid and dataelementid=69887)
as hAQiDxyXEUz,(select value from trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5292) as kdstuCyxFmJ,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as kcMTeJgLr51,(select value from
trackedentityattributevalue where
trackedentityinstanceid=pi.trackedentityinstanceid and
trackedentityattributeid=5293) as
kcMTeJgLr51,psi.uid,ps.uid,psi.executiondate,psi.longitude,psi.latitude,ou.uid,
ou.name,ou.code,tei.uid from programstageinstance psi left join
_organisationunitgroupsetstructure ougs on
psi.organisationunitid=ougs.organisationunitid 

Re: [Dhis2-devs] Displaying Option Values in UI instead of id

2014-10-16 Thread Lars Helge Øverland
Hi Mahendra,

thanks for reporting. A clarification: For you options in the option set,
can you check whether you have actually set the code to the uid, or a
uid-like value?

At the moment we display the option code in that list. We might have to
change to use the option name.

Lars


On Tue, Oct 14, 2014 at 11:22 AM, Mahendra Kariya 
mahendra.kar...@thoughtworks.com wrote:

 Hi,

 For event capture, we can setup data elements which can have a fixed set
 of values (option sets). On the UI, while registering an event, the
 dropdown shows the actual values of options, which changes to its uid when
 selected. Even when we try to see the consolidated list of events, it is
 showing the option's uid instead of its values. (See screenshot).

 Are we missing some setting or this feature is still under development?


 ​
 Thanks,
 Mahendra

___
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


[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17135: removed PIController, functionality will be merged into EnrollmentController. Added service metho...

2014-10-16 Thread noreply

revno: 17135
committer: Morten Olav Hansen morte...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 15:57:58 +0700
message:
  removed PIController, functionality will be merged into EnrollmentController. 
Added service methods for getting enrollments by status, program, orgUnits, 
start, end.
removed:
  
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramInstanceController.java
modified:
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java


--
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-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java	2014-09-08 11:29:51 +
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java	2014-10-16 08:57:58 +
@@ -30,9 +30,9 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-
 import org.hisp.dhis.common.Grid;
 import org.hisp.dhis.common.IdentifiableObjectManager;
+import org.hisp.dhis.common.IdentifiableObjectUtils;
 import org.hisp.dhis.common.OrganisationUnitSelectionMode;
 import org.hisp.dhis.common.QueryItem;
 import org.hisp.dhis.common.QueryOperator;
@@ -65,6 +65,7 @@
 import org.springframework.util.Assert;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
@@ -93,10 +94,10 @@
 
 @Autowired
 private TrackedEntityAttributeValueService trackedEntityAttributeValueService;
-
+
 @Autowired
 protected CurrentUserService currentUserService;
-
+
 @Autowired
 private TrackedEntityCommentService commentService;
 
@@ -188,6 +189,24 @@
 }
 
 @Override
+public Enrollments getEnrollments( Program program, EnrollmentStatus status, OrganisationUnit organisationUnit, Date startDate, Date endDate )
+{
+ListProgramInstance programInstances = new ArrayList(
+programInstanceService.getProgramInstancesByStatus( status.getValue(), program, Arrays.asList( organisationUnit.getId() ), startDate, endDate ) );
+
+return getEnrollments( programInstances );
+}
+
+@Override
+public Enrollments getEnrollments( Program program, EnrollmentStatus status, ListOrganisationUnit organisationUnits, Date startDate, Date endDate )
+{
+ListProgramInstance programInstances = new ArrayList(
+programInstanceService.getProgramInstancesByStatus( status.getValue(), program, IdentifiableObjectUtils.getIdentifiers( organisationUnits ), startDate, endDate ) );
+
+return getEnrollments( programInstances );
+}
+
+@Override
 public Enrollments getEnrollments( OrganisationUnit organisationUnit )
 {
 ListProgram programs = getProgramsWithRegistration();
@@ -348,7 +367,7 @@
 updateAttributeValues( enrollment );
 programInstance.setFollowup( enrollment.getFollowup() );
 programInstanceService.updateProgramInstance( programInstance );
-
+
 saveTrackedEntityComment( programInstance, enrollment );
 
 importSummary.setReference( programInstance.getUid() );
@@ -430,7 +449,7 @@
 
 updateAttributeValues( enrollment );
 programInstanceService.updateProgramInstance( programInstance );
-
+
 saveTrackedEntityComment( programInstance, enrollment );
 
 importSummary.setReference( enrollment.getEnrollment() );
@@ -712,11 +731,11 @@
 
 return importConflicts;
 }
-
+
 private void saveTrackedEntityComment( ProgramInstance programInstance, Enrollment enrollment )
 {
 String storedBy = currentUserService.getCurrentUsername();
-
+
 for ( Note note : enrollment.getNotes() )
 {
 TrackedEntityComment comment = new TrackedEntityComment();

=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java	2014-03-18 08:10:10 +
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java	2014-10-16 08:57:58 +
@@ -28,10 +28,6 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.io.IOException;

Re: [Dhis2-devs] Displaying Option Values in UI instead of id

2014-10-16 Thread Lars Helge Øverland
Okay. We will fix this shortly.

Lars

On Thu, Oct 16, 2014 at 10:40 AM, Mahendra Kariya 
mahendra.kar...@thoughtworks.com wrote:

 Hi Lars,

 Yes. We have the code to be same as UID for options.

 On Thu, Oct 16, 2014 at 2:07 PM, Lars Helge Øverland larshe...@gmail.com
 wrote:

 Hi Mahendra,

 thanks for reporting. A clarification: For you options in the option set,
 can you check whether you have actually set the code to the uid, or a
 uid-like value?

 At the moment we display the option code in that list. We might have to
 change to use the option name.

 Lars


 On Tue, Oct 14, 2014 at 11:22 AM, Mahendra Kariya 
 mahendra.kar...@thoughtworks.com wrote:

 Hi,

 For event capture, we can setup data elements which can have a fixed set
 of values (option sets). On the UI, while registering an event, the
 dropdown shows the actual values of options, which changes to its uid when
 selected. Even when we try to see the consolidated list of events, it is
 showing the option's uid instead of its values. (See screenshot).

 Are we missing some setting or this feature is still under development?


 ​
 Thanks,
 Mahendra




___
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


[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17136: extend enrollment-controller to support getting enrollments by program, orgUnit, start, end, (+ opti...

2014-10-16 Thread noreply

revno: 17136
committer: Morten Olav Hansen morte...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 16:11:20 +0700
message:
  extend enrollment-controller to support getting enrollments by 
program,orgUnit,start,end, (+ optional status)
modified:
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java
  
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EnrollmentController.java


--
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-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java	2014-10-16 08:57:58 +
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java	2014-10-16 09:11:20 +
@@ -233,6 +233,13 @@
 }
 
 @Override
+public Enrollments getEnrollments( Program program, OrganisationUnit organisationUnit, Date startDate, Date endDate )
+{
+return getEnrollments(
+programInstanceService.getProgramInstances( program, Arrays.asList( organisationUnit.getId() ), startDate, endDate, 0, Integer.MAX_VALUE ) );
+}
+
+@Override
 public Enrollments getEnrollments( Program program, TrackedEntityInstance trackedEntityInstance )
 {
 org.hisp.dhis.trackedentity.TrackedEntityInstance entityInstance = getTrackedEntityInstance( trackedEntityInstance

=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java	2014-10-16 08:57:58 +
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/EnrollmentService.java	2014-10-16 09:11:20 +
@@ -80,6 +80,8 @@
 
 Enrollments getEnrollments( Program program, OrganisationUnit organisationUnit );
 
+Enrollments getEnrollments( Program program, OrganisationUnit organisationUnit, Date startDate, Date endDate );
+
 Enrollments getEnrollments( CollectionProgramInstance programInstances );
 
 Enrollment getEnrollment( String id );

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EnrollmentController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EnrollmentController.java	2014-06-11 20:27:54 +
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EnrollmentController.java	2014-10-16 09:11:20 +
@@ -28,9 +28,6 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import org.hisp.dhis.webapi.webdomain.WebOptions;
-import org.hisp.dhis.webapi.controller.exception.NotFoundException;
-import org.hisp.dhis.webapi.utils.ContextUtils;
 import org.hisp.dhis.common.IdentifiableObjectManager;
 import org.hisp.dhis.dxf2.events.enrollment.Enrollment;
 import org.hisp.dhis.dxf2.events.enrollment.EnrollmentService;
@@ -44,7 +41,11 @@
 import org.hisp.dhis.dxf2.utils.JacksonUtils;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
 import org.hisp.dhis.program.Program;
+import org.hisp.dhis.webapi.controller.exception.NotFoundException;
+import org.hisp.dhis.webapi.utils.ContextUtils;
+import org.hisp.dhis.webapi.webdomain.WebOptions;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -59,6 +60,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -88,13 +90,24 @@
 @RequestParam( value = orgUnit, required = false ) String orgUnitUid,
 @RequestParam( value = program, required = false ) String programUid,
 @RequestParam( value = trackedEntityInstance, required = false ) String trackedEntityInstanceUid,
+@RequestParam( required = false ) @DateTimeFormat( pattern = -MM-dd ) Date startDate,
+@RequestParam( required = false ) @DateTimeFormat( pattern = -MM-dd ) Date endDate,
 @RequestParam( value = status, required = false ) EnrollmentStatus status,
 @RequestParam MapString, 

[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17137: Added property optionSet to grid headers / in analytics

2014-10-16 Thread noreply

revno: 17137
committer: Lars Helge Overland larshe...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 14:28:42 +0200
message:
  Added property optionSet to grid headers / in analytics
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/GridHeader.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/QueryItem.java
  
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttribute.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java
  
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java
  
dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java
  
dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java


--
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-api/src/main/java/org/hisp/dhis/common/GridHeader.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/GridHeader.java	2014-03-18 08:10:10 +
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/GridHeader.java	2014-10-16 12:28:42 +
@@ -52,6 +52,12 @@
 private boolean hidden;
 
 private boolean meta;
+
+private boolean optionSet;
+
+// -
+// Constructors
+// -
 
 public GridHeader()
 {
@@ -114,11 +120,37 @@
 this.meta = meta;
 }
 
+/**
+ * @param name name
+ * @param column column
+ * @param type type
+ * @param hidden hidden
+ * @param meta meta
+ * @param optionSet optionSet
+ */
+public GridHeader( String name, String column, String type, boolean hidden, boolean meta, boolean optionSet )
+{
+this.name = name;
+this.column = column;
+this.type = type;
+this.hidden = hidden;
+this.meta = meta;
+this.optionSet = optionSet;
+}
+
+// -
+// Logic
+// -
+
 public boolean isNumeric()
 {
 return type != null  NUMERIC_TYPES.contains( type );
 }
 
+// -
+// Getters and setters
+// -
+
 @JsonProperty
 @JsonView( {DetailedView.class} )
 public String getName()
@@ -179,12 +211,22 @@
 this.meta = meta;
 }
 
-@Override
-public String toString()
-{
-return [Name:  + name + , column:  + column + , type:  + type + ];
-}
-
+@JsonProperty
+@JsonView( {DetailedView.class} )
+public boolean isOptionSet()
+{
+return optionSet;
+}
+
+public void setOptionSet( boolean optionSet )
+{
+this.optionSet = optionSet;
+}
+
+// -
+// hashCode, equals, toString
+// -
+
 @Override
 public int hashCode()
 {
@@ -213,4 +255,10 @@
 
 return name.equals( other.name );
 }
+
+@Override
+public String toString()
+{
+return [Name:  + name + , column:  + column + , type:  + type + ];
+}
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/QueryItem.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/QueryItem.java	2014-10-15 17:31:32 +
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/QueryItem.java	2014-10-16 12:28:42 +
@@ -45,6 +45,8 @@
 private ListQueryFilter filters = new ArrayList();
 
 private boolean numeric;
+
+private boolean optionSet;
 
 // -
 // Constructors
@@ -55,16 +57,18 @@
 this.item = item;
 }
 
-public QueryItem( NameableObject item, boolean numeric )
+public QueryItem( NameableObject item, boolean numeric, boolean optionSet )
 {
 this.item = item;
 this.numeric = numeric;
+this.optionSet = optionSet;
 }
 
-public QueryItem( NameableObject item, QueryOperator operator, String filter, boolean numeric )
+public QueryItem( 

[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17139: Analytics. Added validation of analytics tables.

2014-10-16 Thread noreply

revno: 17139
committer: Lars Helge Overland larshe...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 16:51:51 +0200
message:
  Analytics. Added validation of analytics tables.
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/util/Timer.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/AbstractJdbcTableManager.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcCompletenessTableManager.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcCompletenessTargetTableManager.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcEventAnalyticsTableManager.java
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcOrgUnitTargetTableManager.java
  
dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ListUtils.java
  
dhis-2/dhis-support/dhis-support-system/src/test/java/org/hisp/dhis/system/util/ListUtilsTest.java


--
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-api/src/main/java/org/hisp/dhis/util/Timer.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/util/Timer.java	2014-10-07 12:16:23 +
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/util/Timer.java	2014-10-16 14:51:51 +
@@ -38,7 +38,7 @@
 private long startTime;
 
 private boolean printDisabled;
-
+
 public Timer disablePrint()
 {
 this.printDisabled = true;

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java	2014-10-16 06:17:19 +
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java	2014-10-16 14:51:51 +
@@ -577,8 +577,6 @@
 Grid grid = getAggregatedDataValues( params );
 
 MapString, Double valueMap = getAggregatedDataValueMapping( grid );
-
-log.info( Got aggregated values for table layout );
 
 return reportTable.getGrid( new ListGrid( grid.getMetaData() ), valueMap, false );
 }
@@ -743,11 +741,11 @@
 
 int optimalQueries = MathUtils.getWithin( getProcessNo(), 1, MAX_QUERIES );
 
-Timer t = new Timer().start();
+Timer t = new Timer().start().disablePrint();
 
 DataQueryGroups queryGroups = queryPlanner.planQuery( params, optimalQueries, tableName );
 
-log.debug( Planned analytics query, got:  + queryGroups.getLargestGroupSize() +  for optimal:  + optimalQueries );
+t.getSplitTime( Planned analytics query, got:  + queryGroups.getLargestGroupSize() +  for optimal:  + optimalQueries );
 
 MapString, Object map = new HashMap();
 

=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java	2014-10-16 12:28:42 +
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java	2014-10-16 14:51:51 +
@@ -48,8 +48,6 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.hisp.dhis.analytics.AnalyticsSecurityManager;
 import org.hisp.dhis.analytics.AnalyticsService;
 import org.hisp.dhis.analytics.SortOrder;
@@ -85,9 +83,9 @@
 import org.hisp.dhis.system.grid.ListGrid;
 import org.hisp.dhis.system.util.DateUtils;
 import org.hisp.dhis.system.util.ListUtils;
-import org.hisp.dhis.util.Timer;
 import org.hisp.dhis.trackedentity.TrackedEntityAttribute;
 import org.hisp.dhis.trackedentity.TrackedEntityAttributeService;
+import org.hisp.dhis.util.Timer;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
@@ -95,9 +93,7 @@
  */
 public class DefaultEventAnalyticsService
 implements EventAnalyticsService
-{
-private static final Log log = LogFactory.getLog( DefaultEventAnalyticsService.class );
-
+{
 private static 

[Dhis2-devs] [Bug 1328273] Re: Executing analytics table fails: Process failed: Exception during execution

2014-10-16 Thread Lars Helge Øverland
The problem happens because there are duplicate columns in the event
analytics tables. Likely this happens because of a database upgrade
error with programs.

Check all programs for attributes which appear to have
duplicate/multiple members for one or more attributes.

I have built into trunk better validation and feedback in the logs.

** Changed in: dhis2
   Status: New = Won't Fix

** Changed in: dhis2
   Importance: Undecided = Medium

** Changed in: dhis2
 Assignee: (unassigned) = Lars Helge Øverland (larshelge)

-- 
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.
https://bugs.launchpad.net/bugs/1328273

Title:
  Executing analytics table fails: Process failed: Exception during
  execution

Status in DHIS 2:
  Won't Fix

Bug description:
  In version 2.14, I am running tracker. When I try executing analytics table, 
I get the following error:
  'Process failed. Exeception during execution'.

  
  Here is an extraction from the last lines in catalina.out that could help in 
error identification:

  patientidentifier where patientid=pi.patientid and 
patientidentifiertypeid=71) as iEoIwcIBRFB,(select identifier from 
patientidentifier where patientid=pi.patientid and patientidentifiertypeid=71) 
as iEoIwcIBRFB,(select identifier from patientidentifier where 
patientid=pi.patientid and patientidentifiertypeid=71) as 
iEoIwcIBRFB,psi.uid,ps.uid,psi.executiondate,psi.longitude,psi.latitude,ou.uid,ou.name,ou.code
 from programstageinstance psi left join programinstance pi on 
psi.programinstanceid=pi.programinstanceid left join programstage ps on 
psi.programstageid=ps.programstageid left join program pr on 
pi.programid=pr.programid left join patient pa on pi.patientid=pa.patientid 
left join organisationunit ou on psi.organisationunitid=ou.organisationunitid 
left join _orgunitstructure ous on 
psi.organisationunitid=ous.organisationunitid left join _dateperiodstructure 
dps on psi.executiondate=dps.dateperiod where psi.executiondate = '2011-01-01' 
and psi.executiondate = '2011-12-31' and pr.programid=68 and 
psi.organisationunitid is not null and psi.executiondate is not null]; nested 
exception is org.postgresql.util.PSQLException: ERROR: relation 
analytics_event_temp_2011_q3p6c4bgq7o does not exist
Position: 13
at 
org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:237)
at 
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at 
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
at 
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:428)
at 
org.hisp.dhis.analytics.table.JdbcEventAnalyticsTableManager.populateTableAsync(JdbcEventAnalyticsTableManager.java:178)
at sun.reflect.GeneratedMethodAccessor1602.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at 
org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:95)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
... 1 more
  Caused by: org.postgresql.util.PSQLException: ERROR: relation 
analytics_event_temp_2011_q3p6c4bgq7o does not exist
Position: 13
at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:395)
at 
com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
at 
org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:421)
at 
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
... 12 more

To manage notifications about this bug go to:
https://bugs.launchpad.net/dhis2/+bug/1328273/+subscriptions

___
Mailing list: 

Re: [Dhis2-devs] [Bug 1328273] Re: Executing analytics table fails: Process failed: Exception during execution

2014-10-16 Thread Jason Pickering
Thanks Lars. We will test and provide feedback.
On Oct 16, 2014 5:29 PM, Lars Helge Øverland larshe...@gmail.com wrote:

 The problem happens because there are duplicate columns in the event
 analytics tables. Likely this happens because of a database upgrade
 error with programs.

 Check all programs for attributes which appear to have
 duplicate/multiple members for one or more attributes.

 I have built into trunk better validation and feedback in the logs.

 ** Changed in: dhis2
Status: New = Won't Fix

 ** Changed in: dhis2
Importance: Undecided = Medium

 ** Changed in: dhis2
  Assignee: (unassigned) = Lars Helge Øverland (larshelge)

 --
 You received this bug notification because you are a member of DHIS 2
 developers, which is subscribed to DHIS.
 https://bugs.launchpad.net/bugs/1328273

 Title:
   Executing analytics table fails: Process failed: Exception during
   execution

 Status in DHIS 2:
   Won't Fix

 Bug description:
   In version 2.14, I am running tracker. When I try executing analytics
 table, I get the following error:
   'Process failed. Exeception during execution'.


   Here is an extraction from the last lines in catalina.out that could
 help in error identification:

   patientidentifier where patientid=pi.patientid and
 patientidentifiertypeid=71) as iEoIwcIBRFB,(select identifier from
 patientidentifier where patientid=pi.patientid and
 patientidentifiertypeid=71) as iEoIwcIBRFB,(select identifier from
 patientidentifier where patientid=pi.patientid and
 patientidentifiertypeid=71) as
 iEoIwcIBRFB,psi.uid,ps.uid,psi.executiondate,psi.longitude,psi.latitude,ou.uid,
 ou.name,ou.code from programstageinstance psi left join programinstance
 pi on psi.programinstanceid=pi.programinstanceid left join programstage ps
 on psi.programstageid=ps.programstageid left join program pr on
 pi.programid=pr.programid left join patient pa on pi.patientid=pa.patientid
 left join organisationunit ou on
 psi.organisationunitid=ou.organisationunitid left join _orgunitstructure
 ous on psi.organisationunitid=ous.organisationunitid left join
 _dateperiodstructure dps on psi.executiondate=dps.dateperiod where
 psi.executiondate = '2011-01-01' and psi.executiondate = '2011-12-31' and
 pr.programid=68 and psi.organisationunitid is not null and
 psi.executiondate is not null]; nested exception is
 org.postgresql.util.PSQLException: ERROR: relation
 analytics_event_temp_2011_q3p6c4bgq7o does not exist
 Position: 13
 at
 org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:237)
 at
 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
 at
 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
 at
 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:428)
 at
 org.hisp.dhis.analytics.table.JdbcEventAnalyticsTableManager.populateTableAsync(JdbcEventAnalyticsTableManager.java:178)
 at sun.reflect.GeneratedMethodAccessor1602.invoke(Unknown Source)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at
 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
 at
 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
 at
 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
 at
 org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:95)
 at
 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 ... 1 more
   Caused by: org.postgresql.util.PSQLException: ERROR: relation
 analytics_event_temp_2011_q3p6c4bgq7o does not exist
 Position: 13
 at
 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
 at
 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
 at
 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
 at
 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:395)
 at
 com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)
 at
 org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:421)
 at
 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
 ... 12 more

 To 

[Dhis2-devs] tutorual: installing apps

2014-10-16 Thread Lars Helge Øverland
Hi,

a question that often comes up is how to create, find and install apps on
DHIS 2. Read this tutorial to learn more:

https://www.dhis2.org/how-to-create-find-install-apps

We have also enabled comments for the tutorials through Disqus, so if you
have a observation or question don't hesitate to leave a comment.


regards,

Lars
___
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


Re: [Dhis2-devs] ssl vulnerability

2014-10-16 Thread J. Paul Mutali
You can check if you re safe using this free tool :
https://www.tinfoilsecurity.com/poodle

regards,
-
J. Paul Mutali
skype: mutali.rw



On Wed, Oct 15, 2014 at 7:11 PM, Dan d...@dancocos.com wrote:

 If you’re running apache
 The fix is to update the following line in your  SSL config usually in
 /etc/httpd/conf.d/ssl.conf

 SSLProtocol all -SSLv2 -SSLv3



 *Dan Cocos*
 BAO Systems
 www.baosystems.com
 T: +1 202-352-2671 | skype: dancocos

 On Oct 15, 2014, at 1:03 PM, Lars Helge Øverland larshe...@gmail.com
 wrote:

 Hi server admins,

 Google today published a vulnerability in SSL which could allow an
 attacker to decrypt secure connections:


 http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html

 For a dhis system the most practical solution is to simply disable SSL and
 rely on TLS, as it's mostly Internet Explorer 6 that does not support TLS,
 and DHIS 2 does not support IE 6 anyway.

 I have upgraded the nginx installation docs here
 https://www.dhis2.org/doc/snapshot/en/implementer/html/ch08s03.html#d5e590.
 To disable SSL and add support for all TLS version you can change this line:

 ssl_protocols  SSLv3 TLSv1.1 TLSv1.2;


 to this:

 ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;


 regards,

 Lars

 ___
 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



 ___
 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


___
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


[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17140: SecurityService, split function for validating user restore/invite to separate method

2014-10-16 Thread noreply

revno: 17140
committer: Lars Helge Overland larshe...@gmail.com
branch nick: dhis2
timestamp: Thu 2014-10-16 19:23:01 +0200
message:
  SecurityService, split function for validating user restore/invite to 
separate method
modified:
  
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java
  
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java
  
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/SecurityService.java
  
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddUserAction.java


--
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-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java	2014-10-16 06:17:19 +
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java	2014-10-16 17:23:01 +
@@ -510,7 +510,7 @@
 
 if ( queries.size()  1 )
 {
-log.info( Split on org unit level:  + queries.size() );
+log.debug( Split on org unit level:  + queries.size() );
 }
 
 return queries;

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java	2014-10-16 06:17:19 +
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java	2014-10-16 17:23:01 +
@@ -149,6 +149,36 @@
 }
 
 @Override
+public String validateRestore( UserCredentials credentials )
+{
+if ( !systemSettingManager.emailEnabled() )
+{
+log.info( Could not send restore/invite message as email is not configured );
+return email_not_configured_for_system;
+}
+
+if ( credentials == null || credentials.getUser() == null )
+{
+log.info( Could not send restore/invite message as user does not exist:  + credentials );
+return user_does_not_exist;
+}
+
+if ( credentials.getUser().getEmail() == null || !ValidationUtils.emailIsValid( credentials.getUser().getEmail() ) )
+{
+log.info( Could not send restore/invite message as user has no email or email is invalid );
+return user_does_not_have_valid_email;
+}
+
+if ( credentials.hasAnyAuthority( Arrays.asList( UserAuthorityGroup.CRITICAL_AUTHS ) ) )
+{
+log.info( Not allowed to restore/invite users with critical authorities );
+return user_has_critical_authorities;
+}
+
+return null;
+}
+
+@Override
 public boolean sendRestoreMessage( UserCredentials credentials, String rootPath, RestoreOptions restoreOptions )
 {
 if ( credentials == null || rootPath == null )
@@ -156,32 +186,13 @@
 return false;
 }
 
+if ( validateRestore( credentials ) != null )
+{
+return false;
+}
+
 RestoreType restoreType = restoreOptions.getRestoreType();
 
-if ( credentials.getUser() == null || credentials.getUser().getEmail() == null )
-{
-log.info( Could not send  + restoreType.name() +  message as user does not exist or has no email:  + credentials );
-return false;
-}
-
-if ( !ValidationUtils.emailIsValid( credentials.getUser().getEmail() ) )
-{
-log.info( Could not send  + restoreType.name() +  message as email is invalid );
-return false;
-}
-
-if ( !systemSettingManager.emailEnabled() )
-{
-log.info( Could not send  + restoreType.name() +  message as email is not configured );
-return false;
-}
-
-if ( credentials.hasAnyAuthority( Arrays.asList( UserAuthorityGroup.CRITICAL_AUTHS ) ) )
-{
-log.info( Not allowed to   + restoreType.name() +  users with critical authorities );
-return false;
-}
-
 String[] result = initRestore( credentials, restoreOptions );
 
 SetUser users = new HashSet();
@@ -351,7 +362,7 @@
 
 if ( restoreCode == null )
 {
-return account_restoreCode_is_null;
+return account_restore_code_is_null;
 }
 
 boolean validCode = passwordManager.tokenMatches( code, restoreCode, 

[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17141: Add simple api to the menu object to specify a filter function

2014-10-16 Thread noreply

revno: 17141
committer: Mark Polak mar...@ifi.uio.no
branch nick: dhis2
timestamp: Thu 2014-10-16 21:00:41 +0200
message:
  Add simple api to the menu object to specify a filter function
modified:
  
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.menu.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-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.menu.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.menu.js	2014-06-13 00:10:19 +
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.menu.js	2014-10-16 19:00:41 +
@@ -35,6 +35,23 @@
 du = {
 isFunction: function(obj) {
 return Object.prototype.toString.call(obj) == '[object Function]';
+},
+isString: function (value) {
+if (typeof value === 'string' || value instanceof String) {
+return true;
+}
+return false;
+},
+clone: function (sourceObj) {
+var x;
+var cloneObj = {};
+
+for (x in sourceObj) {
+if (sourceObj.hasOwnProperty(x)) {
+cloneObj[x] = sourceObj[x];
+}
+}
+return cloneObj;
 }
 },
 getBaseUrl = (function () {
@@ -86,8 +103,11 @@
  * and managers the order of the items to be saved.
  */
  menuItemsList = function () {
-var menuOrder = [],
-menuItems = {};
+var menuOrder = [];
+var menuItems = {};
+var filterFunction = function (item, key) {
+return true;
+};
 
 return {
 getItem: function (key) {
@@ -99,9 +119,12 @@
 },
 list: function () {
 var result = [];
+var filtered = [];
 
 menuOrder.forEach(function (element, index, array) {
-result.push(menuItems[element]);
+if (filterFunction(menuItems[element], menuItems[element].id)) {
+result.push(menuItems[element]);
+}
 });
 
 return result;
@@ -111,10 +134,20 @@
 },
 getOrder: function () {
 return menuOrder;
+},
+addFilter: function (filter) {
+if (du.isFunction(filter)) {
+filterFunction = function (item, key, items) {
+if (filter(du.clone(item), key)) {
+return true;
+}
+return false;
+};
+}
 }
 }
 };
-
+var menus = {};
 dhis2.menu = {};
 
 dhis2.menu = function (nameKey, preLoadedData) {
@@ -328,6 +361,10 @@
 return true;
 };
 
+that.notify = function () {
+executeCallBacks();
+}
+
 /**
  * Get the favorite apps
  *
@@ -428,9 +465,51 @@
 that.addMenuItems(preLoadedData);
 }
 
+menus[nameKey] = that;
+
 return that;
 };
 
+//The following are dhis2.menu Api functions that let you interact with the menu.
+/**
+ * Add a filter to the menu that has the id nameKey.
+ *
+ * @param {String} nameKey Id string of the menu
+ * @param {Function} filterFunction Function that is called for every menu element, should return true for items
+ *  that should be in the menu, otherwise false. The filterFunction receives a copy
+ *  of the menuItem as the first parameter and the menuItemId as the second.
+ *
+ *
+ * @returns {boolean} Returns true if the filter function was added to the specified menu. Returns false when either
+ *nameKey was not a string or filterFunction not a function.
+ */
+dhis2.menu.filter = function (nameKey, filterFunction) {
+if (du.isString(nameKey)  du.isFunction(filterFunction)) {
+menus[nameKey].getMenuItems().addFilter(filterFunction);
+menus[nameKey].notify();
+return true;
+}
+return false;
+}
+
+/**
+ * Returns the name keys for the current menus.
+ *

[Dhis2-devs] [Branch ~dhis2-devs-core/dhis2/trunk] Rev 17142: Mandatory DE validation doesn't work in case entry form.

2014-10-16 Thread noreply

revno: 17142
committer: Tran Chautran.hispviet...@gmail.com
branch nick: dhis2
timestamp: Fri 2014-10-17 10:31:13 +0700
message:
  Mandatory DE validation doesn't work in case entry form.
modified:
  
dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java
  
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm
  
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js
  
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/sectionDataEntryForm.vm
  
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleDataEntryForm.vm


--
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-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java'
--- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java	2014-10-16 06:17:19 +
+++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramDataEntryService.java	2014-10-17 03:31:13 +
@@ -573,7 +573,7 @@
 String inputHTML = ;
 if ( dataElement != null )
 {
-String metaData = input id=\' + id + \' name=\' + id + \' options=\'no\' type=\'radio\' optionset='
+String metaData = input class='optionset' id=\' + id + \' name=\' + id + \' options=\'no\' type=\'radio\' optionset='
 + dataElement.getOptionSet().getUid() + ';
 metaData +=  data=\{compulsory:$COMPULSORY, deName:\'$DATAELEMENTNAME\', deType:\'
 + dataElement.getDetailedNumberType() + \' }\ ;
@@ -588,7 +588,7 @@
 inputHTML +=  checked ;
 }
 
-inputHTML += onclick=\saveRadio( \' + dataElement.getUid() + \', \'$option\' )\ /
+inputHTML +=  value='' onclick=\saveRadio( \' + dataElement.getUid() + \', \'$option\' )\ /
 + i18n.getString( non_value );
 inputHTML +=  /td;
 

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm	2014-08-05 05:57:06 +
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm	2014-10-17 03:31:13 +
@@ -74,9 +74,10 @@
 	table style='width:100%'
 		tr
 			td
-			input id='$id' class='$id' name=$id type='radio' options='no' optionset='$programStageDataElement.dataElement.optionSet.uid'
+			input id='$id' class='$id optionset' name=$id type='radio' options='no' optionset='$programStageDataElement.dataElement.optionSet.uid'
 data={compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }
 #if( $dataValue.value == $option.name) checked #end
+value=''
 onclick=saveRadio( '$programStageDataElement.dataElement.uid', '' ) tabindex=$tabIndex /$i18n.getString(non_value)
 		/td
 	#set($index=1)

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js	2014-08-05 05:57:06 +
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js	2014-10-17 03:31:13 +
@@ -544,7 +544,8 @@
 function runCompleteEvent( isCreateEvent ) {
 var flag = false;
 
-$(#dataEntryFormDiv input[name='entryfield'],select[name='entryselect']).each(function() {
+$(#dataEntryFormDiv .optionset).parent().removeClass(errorCell);
+$(#dataEntryFormDiv input[name='entryfield'],select[name='entryselect'],.optionset:checked).each(function() {
 $(this).parent().removeClass(errorCell);
 
 var arrData = $(this).attr('data').replace('{', '').replace('}', '').replace(/'/g, ).split(',');
@@ -956,31 +957,60 @@
 
 function runValidation()
 {
-	$('#loading-bar').show();
-	$('#loading-bar').dialog({
-		modal:true,
-		width: 330
-	});
-	$(#loading-bar).siblings(.ui-dialog-titlebar).hide(); 
-	
-	var programStageInstanceId = jQuery('.stage-object-selected').attr('id').split('_')[1];
-	$('#validateProgramDiv' ).load( 'validateProgram.action',
-		{
-			programStageInstanceId: programStageInstanceId
-		},
-		function(){
-			$( #loading-bar ).dialog( close );
-			
-			$('#validateProgramDiv' ).dialog({
-title: i18n_violate_validation,
-maximize: true, 
-closable: true,
-modal:true,
-