dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #39339
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19922: Introduced attribute type category combo to programs. This will be used to tage events of a given...
------------------------------------------------------------
revno: 19922
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2015-09-01 16:28:36 +0200
message:
Introduced attribute type category combo to programs. This will be used to tage events of a given program based on different projects and implementation plans
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java
dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/AddProgramAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowAddProgramFormAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowUpdateProgramFormAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/UpdateProgramAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramForm.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramForm.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-api/src/main/java/org/hisp/dhis/program/Program.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2015-08-25 09:48:55 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2015-09-01 14:28:36 +0000
@@ -43,6 +43,7 @@
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementCategoryCombo;
import org.hisp.dhis.dataentryform.DataEntryForm;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.relationship.RelationshipType;
@@ -128,6 +129,11 @@
private DataEntryForm dataEntryForm;
+ /**
+ * The CategoryCombo used for data attributes.
+ */
+ private DataElementCategoryCombo categoryCombo;
+
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -634,6 +640,29 @@
this.dataEntryForm = dataEntryForm;
}
+ @JsonProperty
+ @JsonSerialize( as = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ public DataElementCategoryCombo getCategoryCombo()
+ {
+ return categoryCombo;
+ }
+
+ public void setCategoryCombo( DataElementCategoryCombo categoryCombo )
+ {
+ this.categoryCombo = categoryCombo;
+ }
+
+ /**
+ * Indicates whether this program has a category combination which is different
+ * from the default category combination.
+ */
+ public boolean hasCategoryCombo()
+ {
+ return categoryCombo != null && !DataElementCategoryCombo.DEFAULT_CATEGORY_COMBO_NAME.equals( categoryCombo.getName() );
+ }
+
@Override
public void mergeWith( IdentifiableObject other, MergeStrategy strategy )
{
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2015-08-19 11:58:26 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2015-09-01 14:28:36 +0000
@@ -724,7 +724,8 @@
executeSql( "UPDATE optionset SET version=0 WHERE version IS NULL" );
executeSql( "UPDATE dataset SET version=0 WHERE version IS NULL" );
- executeSql( "UPDATE program SET version=0 WHERE version IS NULL" );
+ executeSql( "UPDATE program SET version=0 WHERE version IS NULL" );
+ executeSql( "update program set categorycomboid = " + defaultCategoryComboId + " where categorycomboid is null" );
executeSql( "ALTER TABLE datavalue ALTER COLUMN lastupdated TYPE timestamp" );
executeSql( "ALTER TABLE completedatasetregistration ALTER COLUMN date TYPE timestamp" );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml 2015-09-01 14:28:36 +0000
@@ -88,6 +88,9 @@
<property name="dataEntryMethod" />
+ <many-to-one name="categoryCombo" class="org.hisp.dhis.dataelement.DataElementCategoryCombo"
+ column="categorycomboid" foreign-key="fk_program_categorycomboid" />
+
<many-to-one name="trackedEntity" class="org.hisp.dhis.trackedentity.TrackedEntity"
column="trackedentityid" foreign-key="fk_program_trackedentityid" />
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/AddProgramAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/AddProgramAction.java 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/AddProgramAction.java 2015-09-01 14:28:36 +0000
@@ -32,6 +32,7 @@
import org.apache.commons.lang.StringUtils;
import org.hisp.dhis.attribute.AttributeService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.hisp.dhis.program.Program;
import org.hisp.dhis.program.ProgramInstance;
import org.hisp.dhis.program.ProgramInstanceService;
@@ -87,6 +88,9 @@
@Autowired
private AttributeService attributeService;
+
+ @Autowired
+ private DataElementCategoryService categoryService;
// -------------------------------------------------------------------------
// Input/Output
@@ -239,6 +243,13 @@
this.jsonAttributeValues = jsonAttributeValues;
}
+ private Integer categoryComboId;
+
+ public void setCategoryComboId( Integer categoryComboId )
+ {
+ this.categoryComboId = categoryComboId;
+ }
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@@ -301,6 +312,11 @@
TrackedEntity trackedEntity = trackedEntityService.getTrackedEntity( trackedEntityId );
program.setTrackedEntity( trackedEntity );
}
+
+ if ( categoryComboId != null )
+ {
+ program.setCategoryCombo( categoryService.getDataElementCategoryCombo( categoryComboId ) );
+ }
programService.addProgram( program );
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowAddProgramFormAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowAddProgramFormAction.java 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowAddProgramFormAction.java 2015-09-01 14:28:36 +0000
@@ -28,6 +28,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -36,6 +37,8 @@
import org.hisp.dhis.attribute.Attribute;
import org.hisp.dhis.attribute.AttributeService;
import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
+import org.hisp.dhis.dataelement.DataElementCategoryCombo;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.hisp.dhis.program.Program;
import org.hisp.dhis.program.ProgramService;
import org.hisp.dhis.program.ProgramType;
@@ -95,6 +98,9 @@
@Autowired
private AttributeService attributeService;
+ @Autowired
+ private DataElementCategoryService categoryService;
+
// -------------------------------------------------------------------------
// Output
// -------------------------------------------------------------------------
@@ -147,6 +153,13 @@
{
return attributeValues;
}
+
+ private List<DataElementCategoryCombo> categoryCombos = new ArrayList<>();
+
+ public List<DataElementCategoryCombo> getCategoryCombos()
+ {
+ return categoryCombos;
+ }
// -------------------------------------------------------------------------
// Action implementation
@@ -173,6 +186,8 @@
Collections.sort( trackedEntities, IdentifiableObjectNameComparator.INSTANCE );
attributes = attributeService.getProgramAttributes();
+
+ categoryCombos = new ArrayList<>( categoryService.getAttributeCategoryCombos() );
return SUCCESS;
}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowUpdateProgramFormAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowUpdateProgramFormAction.java 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/ShowUpdateProgramFormAction.java 2015-09-01 14:28:36 +0000
@@ -28,6 +28,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -36,6 +37,8 @@
import org.hisp.dhis.attribute.Attribute;
import org.hisp.dhis.attribute.AttributeService;
import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
+import org.hisp.dhis.dataelement.DataElementCategoryCombo;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.hisp.dhis.organisationunit.OrganisationUnitGroup;
import org.hisp.dhis.organisationunit.OrganisationUnitLevel;
import org.hisp.dhis.program.Program;
@@ -99,6 +102,9 @@
@Autowired
private AttributeService attributeService;
+
+ @Autowired
+ private DataElementCategoryService categoryService;
// -------------------------------------------------------------------------
// Input/Output
@@ -210,6 +216,13 @@
return attributeValues;
}
+ private List<DataElementCategoryCombo> categoryCombos = new ArrayList<>();
+
+ public List<DataElementCategoryCombo> getCategoryCombos()
+ {
+ return categoryCombos;
+ }
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@@ -245,6 +258,8 @@
Collections.sort( trackedEntities, IdentifiableObjectNameComparator.INSTANCE );
attributes = attributeService.getProgramAttributes();
+
+ categoryCombos = new ArrayList<>( categoryService.getAttributeCategoryCombos() );
return SUCCESS;
}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/UpdateProgramAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/UpdateProgramAction.java 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/UpdateProgramAction.java 2015-09-01 14:28:36 +0000
@@ -32,6 +32,7 @@
import org.apache.commons.lang.StringUtils;
import org.hisp.dhis.attribute.AttributeService;
+import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.hisp.dhis.program.Program;
import org.hisp.dhis.program.ProgramService;
import org.hisp.dhis.program.ProgramTrackedEntityAttribute;
@@ -74,6 +75,9 @@
@Autowired
private AttributeService attributeService;
+
+ @Autowired
+ private DataElementCategoryService categoryService;
// -------------------------------------------------------------------------
// Input/Output
@@ -260,6 +264,13 @@
{
this.jsonAttributeValues = jsonAttributeValues;
}
+
+ private Integer categoryComboId;
+
+ public void setCategoryComboId( Integer categoryComboId )
+ {
+ this.categoryComboId = categoryComboId;
+ }
// -------------------------------------------------------------------------
// Action implementation
@@ -359,6 +370,11 @@
{
AttributeUtils.updateAttributeValuesFromJson( program.getAttributeValues(), jsonAttributeValues, attributeService );
}
+
+ if ( categoryComboId != null )
+ {
+ program.setCategoryCombo( categoryService.getDataElementCategoryCombo( categoryComboId ) );
+ }
programService.updateProgram( program );
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties 2015-08-28 10:23:48 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/org/hisp/dhis/trackedentity/i18n_module.properties 2015-09-01 14:28:36 +0000
@@ -551,4 +551,5 @@
event=Event
enrollment=Enrollment
tracked_entity_instance=Tracked entity instance
-event_output_type=Event output type
\ No newline at end of file
+event_output_type=Event output type
+category_combo=Combination of categories
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramForm.vm 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramForm.vm 2015-09-01 14:28:36 +0000
@@ -119,6 +119,17 @@
<td></td>
</tr>
+ <tr>
+ <td><label>$i18n.getString( "category_combo" )</label></td>
+ <td>
+ <select id="categoryComboId" name="categoryComboId">
+ #foreach( $categoryCombo in $categoryCombos )
+ <option value="$categoryCombo.id" #if( $categoryCombo.isDefault() ) selected="selected"#end>$encoder.htmlEncode( $categoryCombo.displayName )</option>
+ #end
+ </select>
+ </td>
+ </tr>
+
<tr name='nonAnonymous'><td> </td></tr>
<tr name='nonAnonymous'>
<th colspan="2">$i18n.getString( "enrollment_details" )</th>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramForm.vm 2015-07-02 07:05:55 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramForm.vm 2015-09-01 14:28:36 +0000
@@ -128,6 +128,16 @@
</td>
<td></td>
</tr>
+ <tr>
+ <td><label>$i18n.getString( "category_combo" )</label></td>
+ <td>
+ <select id="categoryComboId" name="categoryComboId">
+ #foreach( $categoryCombo in $categoryCombos )
+ <option value="$categoryCombo.id" #if( $program.categoryCombo.id == $categoryCombo.id ) selected="selected"#end>$encoder.htmlEncode( $categoryCombo.displayName )</option>
+ #end
+ </select>
+ </td>
+ </tr>
<tr name='nonAnonymous'><td> </td></tr>