dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #39146
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19850: Introduced a new boolean property called inactive for TEIs. This helps to freez/unfreez TEI from ...
------------------------------------------------------------
revno: 19850
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2015-08-25 23:48:10 +0200
message:
Introduced a new boolean property called inactive for TEIs. This helps to freez/unfreez TEI from enrollments and other operations. If a TEI is set inactive, only read operations are allowed - no data entry, no enrollment, no profile editing...
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstance.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/hibernate/HibernateTrackedEntityInstanceStore.java
dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/trackedentity/hibernate/TrackedEntityInstance.hbm.xml
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/TrackedEntityInstance.java
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.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-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstance.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstance.java 2015-02-18 02:52:52 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstance.java 2015-08-25 21:48:10 +0000
@@ -68,6 +68,8 @@
private TrackedEntityInstance representative;
private TrackedEntity trackedEntity;
+
+ private Boolean inactive = false;
// -------------------------------------------------------------------------
// Constructors
@@ -166,4 +168,16 @@
{
this.trackedEntity = trackedEntity;
}
+
+ @JsonProperty
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlElementWrapper( localName = "inactive", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "inactive", namespace = DxfNamespaces.DXF_2_0 )
+ public Boolean isInactive() {
+ return inactive;
+ }
+
+ public void setInactive(Boolean inactive) {
+ this.inactive = inactive;
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java 2015-07-08 03:26:22 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java 2015-08-25 21:48:10 +0000
@@ -56,6 +56,7 @@
public static final String TRACKED_ENTITY_ID = "te";
public static final String TRACKED_ENTITY_ATTRIBUTE_ID = "teattribute";
public static final String TRACKED_ENTITY_ATTRIBUTE_VALUE_ID = "tevalue";
+ public static final String INACTIVE_ID = "inactive";
public static final String META_DATA_NAMES_KEY = "names";
public static final String PAGER_META_KEY = "pager";
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java 2015-08-02 14:29:38 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java 2015-08-25 21:48:10 +0000
@@ -275,6 +275,7 @@
grid.addHeader( new GridHeader( LAST_UPDATED_ID, "Last updated" ) );
grid.addHeader( new GridHeader( ORG_UNIT_ID, "Org unit" ) );
grid.addHeader( new GridHeader( TRACKED_ENTITY_ID, "Tracked entity" ) );
+ grid.addHeader( new GridHeader( INACTIVE_ID, "Inactive" ) );
for ( QueryItem item : params.getAttributes() )
{
@@ -297,6 +298,7 @@
grid.addValue( entity.get( LAST_UPDATED_ID ) );
grid.addValue( entity.get( ORG_UNIT_ID ) );
grid.addValue( entity.get( TRACKED_ENTITY_ID ) );
+ grid.addValue( entity.get( INACTIVE_ID ) );
tes.add( entity.get( TRACKED_ENTITY_ID ) );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/hibernate/HibernateTrackedEntityInstanceStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/hibernate/HibernateTrackedEntityInstanceStore.java 2015-07-07 14:54:50 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/hibernate/HibernateTrackedEntityInstanceStore.java 2015-08-25 21:48:10 +0000
@@ -228,7 +228,7 @@
String sql = "select tei.uid as " + TRACKED_ENTITY_INSTANCE_ID + ", " + "tei.created as " + CREATED_ID + ", "
+ "tei.lastupdated as " + LAST_UPDATED_ID + ", " + "ou.uid as " + ORG_UNIT_ID + ", " + "te.uid as "
- + TRACKED_ENTITY_ID + ", ";
+ + TRACKED_ENTITY_ID + ", " + "tei.inactive as " + INACTIVE_ID + ", ";
for ( QueryItem item : params.getAttributes() )
{
@@ -273,6 +273,7 @@
map.put( LAST_UPDATED_ID, rowSet.getString( LAST_UPDATED_ID ) );
map.put( ORG_UNIT_ID, rowSet.getString( ORG_UNIT_ID ) );
map.put( TRACKED_ENTITY_ID, rowSet.getString( TRACKED_ENTITY_ID ) );
+ map.put( INACTIVE_ID, rowSet.getString( INACTIVE_ID ) );
for ( QueryItem item : params.getAttributes() )
{
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/trackedentity/hibernate/TrackedEntityInstance.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/trackedentity/hibernate/TrackedEntityInstance.hbm.xml 2015-07-16 05:20:56 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/trackedentity/hibernate/TrackedEntityInstance.hbm.xml 2015-08-25 21:48:10 +0000
@@ -12,6 +12,8 @@
</id>
&identifiableProperties;
+ <property name="inactive" column="inactive" />
+
<set name="attributeValues" inverse="true" lazy="false">
<key column="trackedentityinstanceid" />
<one-to-many class="org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue" />
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java 2015-08-02 14:29:38 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/AbstractTrackedEntityInstanceService.java 2015-08-25 21:48:10 +0000
@@ -146,6 +146,7 @@
trackedEntityInstance.setTrackedEntity( entityInstance.getTrackedEntity().getUid() );
trackedEntityInstance.setCreated( entityInstance.getCreated().toString() );
trackedEntityInstance.setLastUpdated( entityInstance.getLastUpdated().toString() );
+ trackedEntityInstance.setInactive( entityInstance.isInactive());
Collection<Relationship> relationships = relationshipService.getRelationshipsForTrackedEntityInstance( entityInstance );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/TrackedEntityInstance.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/TrackedEntityInstance.java 2015-07-03 07:33:54 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/trackedentity/TrackedEntityInstance.java 2015-08-25 21:48:10 +0000
@@ -58,6 +58,8 @@
private List<Relationship> relationships = new ArrayList<>();
private List<Attribute> attributes = new ArrayList<>();
+
+ private Boolean inactive;
public TrackedEntityInstance()
{
@@ -161,6 +163,17 @@
{
this.attributes = attributes;
}
+
+ @JsonProperty
+ @JacksonXmlElementWrapper( localName = "inactive", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "inactive", namespace = DxfNamespaces.DXF_2_0 )
+ public Boolean isInactive() {
+ return inactive;
+ }
+
+ public void setInactive(Boolean inactive) {
+ this.inactive = inactive;
+ }
@Override
public boolean equals( Object o )
@@ -204,5 +217,5 @@
", relationships=" + relationships +
", attributes=" + attributes +
'}';
- }
+ }
}
=== 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 2015-08-25 20:05:49 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2015-08-25 21:48:10 +0000
@@ -1442,10 +1442,10 @@
return;
}
- //grid.headers[0-4] = Instance, Created, Last updated, Org unit, Tracked entity
- //grid.headers[5..] = Attribute, Attribute,....
+ //grid.headers[0-5] = Instance, Created, Last updated, Org unit, Tracked entity, Inactive
+ //grid.headers[6..] = Attribute, Attribute,....
var attributes = [];
- for(var i=5; i<grid.headers.length; i++){
+ for(var i=6; i<grid.headers.length; i++){
attributes.push({id: grid.headers[i].name, name: grid.headers[i].column, type: grid.headers[i].type});
}
@@ -1468,6 +1468,7 @@
entity.created = DateUtils.formatFromApiToUser( row[1] );
entity.orgUnit = row[3];
entity.type = row[4];
+ entity.inactive = row[5] !== "" ? row[5] : false;
OrgUnitService.get(row[3]).then(function(ou){
if(ou){
@@ -1475,7 +1476,7 @@
}
});
- for(var i=5; i<row.length; i++){
+ for(var i=6; i<row.length; i++){
if(row[i] && row[i] !== ''){
isEmpty = false;
var val = row[i];
@@ -1516,6 +1517,7 @@
//also add extra columns which are not part of attributes (orgunit for example)
columns.push({id: 'orgUnitName', name: $translate.instant('registering_unit'), valueType: 'string', displayInListNoProgram: false});
columns.push({id: 'created', name: $translate.instant('registration_date'), valueType: 'date', displayInListNoProgram: false});
+ columns.push({id: 'inactive', name: $translate.instant('inactive'), valueType: 'boolean', displayInListNoProgram: false});
//generate grid column for the selected program/attributes
angular.forEach(columns, function(column){