dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #17376
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 6888: (patient) Favorite for tabular report.
------------------------------------------------------------
revno: 6888
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2012-05-09 15:30:28 +0700
message:
(patient) Favorite for tabular report.
added:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAttributeAssociation.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientDataElementAssociation.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientFixedAttribueAssociation.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientIdentifierTypeAssociation.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReport.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportStore.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/DefaultPatientTabularReportService.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate/
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate/HibernatePatientTabularReportStore.java
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAttribueAssociation.hbm.xml
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientDataElementAssociation.hbm.xml
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientFixedAttribueAssociation.hbm.xml
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientIdentifierTypeAssociation.hbm.xml
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientTabularReport.hbm.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/DeleteTabularReportAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportsAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/UpdateTabularReportNameAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/edit.png
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/favorite.png
modified:
dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties
dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.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
=== added directory 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport'
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAttributeAssociation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAttributeAssociation.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAttributeAssociation.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import org.hisp.dhis.patient.PatientAttribute;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientAttribueAssociation.java May 7, 2012 1:47:15 PM$
+ */
+public class PatientAttributeAssociation
+{
+ private Integer id;
+
+ private PatientTabularReport patientTabularReport;
+
+ private PatientAttribute patientAttribute;
+
+ private String key;
+
+ private boolean hidden;
+
+ // -------------------------------------------------------------------------
+ // Constructor
+ // -------------------------------------------------------------------------
+
+ public PatientAttributeAssociation()
+ {
+ }
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public Integer getId()
+ {
+ return id;
+ }
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ public PatientTabularReport getPatientTabularReport()
+ {
+ return patientTabularReport;
+ }
+
+ public void setPatientTabularReport( PatientTabularReport patientTabularReport )
+ {
+ this.patientTabularReport = patientTabularReport;
+ }
+
+ public PatientAttribute getPatientAttribute()
+ {
+ return patientAttribute;
+ }
+
+ public void setPatientAttribute( PatientAttribute patientAttribute )
+ {
+ this.patientAttribute = patientAttribute;
+ }
+
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey( String key )
+ {
+ this.key = key;
+ }
+
+ public boolean isHidden()
+ {
+ return hidden;
+ }
+
+ public void setHidden( boolean hidden )
+ {
+ this.hidden = hidden;
+ }
+
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientDataElementAssociation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientDataElementAssociation.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientDataElementAssociation.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import org.hisp.dhis.dataelement.DataElement;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientDataElementAssociation.java May 7, 2012 1:47:16 PM$
+ */
+public class PatientDataElementAssociation
+{
+ private Integer id;
+
+ private PatientTabularReport patientTabularReport;
+
+ private DataElement dataElement;
+
+ private String key;
+
+ private boolean hidden;
+
+ // -------------------------------------------------------------------------
+ // Constructor
+ // -------------------------------------------------------------------------
+
+ public PatientDataElementAssociation()
+ {
+ }
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public Integer getId()
+ {
+ return id;
+ }
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ public PatientTabularReport getPatientTabularReport()
+ {
+ return patientTabularReport;
+ }
+
+ public void setPatientTabularReport( PatientTabularReport patientTabularReport )
+ {
+ this.patientTabularReport = patientTabularReport;
+ }
+
+ public DataElement getDataElement()
+ {
+ return dataElement;
+ }
+
+ public void setDataElement( DataElement dataElement )
+ {
+ this.dataElement = dataElement;
+ }
+
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey( String key )
+ {
+ this.key = key;
+ }
+
+ public boolean isHidden()
+ {
+ return hidden;
+ }
+
+ public void setHidden( boolean hidden )
+ {
+ this.hidden = hidden;
+ }
+
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientFixedAttribueAssociation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientFixedAttribueAssociation.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientFixedAttribueAssociation.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientFixedAttribueAssociation.java May 7, 2012 1:47:15 PM$
+ */
+public class PatientFixedAttribueAssociation
+{
+ private Integer id;
+
+ private PatientTabularReport patientTabularReport;
+
+ private String attributeName;
+
+ private String key;
+
+ private boolean hidden;
+
+ // -------------------------------------------------------------------------
+ // Constructor
+ // -------------------------------------------------------------------------
+
+ public PatientFixedAttribueAssociation()
+ {
+ }
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public Integer getId()
+ {
+ return id;
+ }
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ public PatientTabularReport getPatientTabularReport()
+ {
+ return patientTabularReport;
+ }
+
+ public void setPatientTabularReport( PatientTabularReport patientTabularReport )
+ {
+ this.patientTabularReport = patientTabularReport;
+ }
+
+ public String getAttributeName()
+ {
+ return attributeName;
+ }
+
+ public void setAttributeName( String attributeName )
+ {
+ this.attributeName = attributeName;
+ }
+
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey( String key )
+ {
+ this.key = key;
+ }
+
+ public boolean isHidden()
+ {
+ return hidden;
+ }
+
+ public void setHidden( boolean hidden )
+ {
+ this.hidden = hidden;
+ }
+
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientIdentifierTypeAssociation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientIdentifierTypeAssociation.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientIdentifierTypeAssociation.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import org.hisp.dhis.patient.PatientIdentifierType;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientIdentifierTypeAssociation.java May 7, 2012 1:47:17 PM$
+ */
+public class PatientIdentifierTypeAssociation
+{
+ private Integer id;
+
+ private PatientTabularReport patientTabularReport;
+
+ private PatientIdentifierType patientIdentifierType;
+
+ private String key;
+
+ private boolean hidden;
+
+ // -------------------------------------------------------------------------
+ // Constructor
+ // -------------------------------------------------------------------------
+
+ public PatientIdentifierTypeAssociation()
+ {
+ }
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public Integer getId()
+ {
+ return id;
+ }
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ public PatientTabularReport getPatientTabularReport()
+ {
+ return patientTabularReport;
+ }
+
+ public void setPatientTabularReport( PatientTabularReport patientTabularReport )
+ {
+ this.patientTabularReport = patientTabularReport;
+ }
+
+ public PatientIdentifierType getPatientIdentifierType()
+ {
+ return patientIdentifierType;
+ }
+
+ public void setPatientIdentifierType( PatientIdentifierType patientIdentifierType )
+ {
+ this.patientIdentifierType = patientIdentifierType;
+ }
+
+ public String getKey()
+ {
+ return key;
+ }
+
+ public void setKey( String key )
+ {
+ this.key = key;
+ }
+
+ public boolean isHidden()
+ {
+ return hidden;
+ }
+
+ public void setHidden( boolean hidden )
+ {
+ this.hidden = hidden;
+ }
+
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReport.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReport.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReport.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.program.ProgramStage;
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientTabularReport.java May 7, 2012 12:41:41 PM$
+ */
+public class PatientTabularReport
+ extends BaseIdentifiableObject
+{
+ private static final long serialVersionUID = -2880334669266185058L;
+
+ public static String PREFIX_META_DATA = "meta";
+
+ public static String PREFIX_IDENTIFIER_TYPE = "iden";
+
+ public static String PREFIX_PATIENT_ATTRIBUTE = "attr";
+
+ public static String PREFIX_DATA_ELEMENT = "de";
+
+ public static String VALUE_TYPE_OPTION_SET = "optionSet";
+
+
+ private Date startDate;
+
+ private Date endDate;
+
+ private ProgramStage programStage;
+
+ private List<PatientIdentifierTypeAssociation> identifiers = new ArrayList<PatientIdentifierTypeAssociation>();
+
+ private List<PatientAttributeAssociation> attributes = new ArrayList<PatientAttributeAssociation>();
+
+ private List<PatientFixedAttribueAssociation> fixedAttributes = new ArrayList<PatientFixedAttribueAssociation>();
+
+ private List<PatientDataElementAssociation> dataElements = new ArrayList<PatientDataElementAssociation>();
+
+ private OrganisationUnit organisationUnit;
+
+ private int level;
+
+ private boolean sortedOrgunitAsc;
+
+ private String facilityLB;
+
+ private User user;
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ public PatientTabularReport()
+ {
+ }
+
+ public PatientTabularReport( String name )
+ {
+ this.name = name;
+ }
+
+ // -------------------------------------------------------------------------
+ // Getters && Setters
+ // -------------------------------------------------------------------------
+
+ public Date getStartDate()
+ {
+ return startDate;
+ }
+
+ public void setStartDate( Date startDate )
+ {
+ this.startDate = startDate;
+ }
+
+ public Date getEndDate()
+ {
+ return endDate;
+ }
+
+ public void setEndDate( Date endDate )
+ {
+ this.endDate = endDate;
+ }
+
+ public ProgramStage getProgramStage()
+ {
+ return programStage;
+ }
+
+ public void setProgramStage( ProgramStage programStage )
+ {
+ this.programStage = programStage;
+ }
+
+ public List<PatientIdentifierTypeAssociation> getIdentifiers()
+ {
+ return identifiers;
+ }
+
+ public void setIdentifiers( List<PatientIdentifierTypeAssociation> identifiers )
+ {
+ this.identifiers = identifiers;
+ }
+
+ public List<PatientAttributeAssociation> getAttributes()
+ {
+ return attributes;
+ }
+
+ public void setAttributes( List<PatientAttributeAssociation> attributes )
+ {
+ this.attributes = attributes;
+ }
+
+ public List<PatientFixedAttribueAssociation> getFixedAttributes()
+ {
+ return fixedAttributes;
+ }
+
+ public void setFixedAttributes( List<PatientFixedAttribueAssociation> fixedAttributes )
+ {
+ this.fixedAttributes = fixedAttributes;
+ }
+
+ public List<PatientDataElementAssociation> getDataElements()
+ {
+ return dataElements;
+ }
+
+ public void setDataElements( List<PatientDataElementAssociation> dataElements )
+ {
+ this.dataElements = dataElements;
+ }
+
+ public OrganisationUnit getOrganisationUnit()
+ {
+ return organisationUnit;
+ }
+
+ public void setOrganisationUnit( OrganisationUnit organisationUnit )
+ {
+ this.organisationUnit = organisationUnit;
+ }
+
+ public int getLevel()
+ {
+ return level;
+ }
+
+ public void setLevel( int level )
+ {
+ this.level = level;
+ }
+
+ public boolean isSortedOrgunitAsc()
+ {
+ return sortedOrgunitAsc;
+ }
+
+ public void setSortedOrgunitAsc( boolean sortedOrgunitAsc )
+ {
+ this.sortedOrgunitAsc = sortedOrgunitAsc;
+ }
+
+ public String getFacilityLB()
+ {
+ return facilityLB;
+ }
+
+ public void setFacilityLB( String facilityLB )
+ {
+ this.facilityLB = facilityLB;
+ }
+
+ public User getUser()
+ {
+ return user;
+ }
+
+ public void setUser( User user )
+ {
+ this.user = user;
+ }
+
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportService.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportService.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import java.util.Collection;
+
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientTabularReportService.java May 7, 2012 1:01:39 PM$
+ */
+public interface PatientTabularReportService
+{
+ void saveOrUpdate( PatientTabularReport patientTabularReport );
+
+ PatientTabularReport getPatientTabularReport( int id );
+
+ void deletePatientTabularReport( PatientTabularReport patientTabularReport );
+
+ Collection<PatientTabularReport> getAllCharts();
+
+ Collection<PatientTabularReport> getPatientTabularReports( User user );
+}
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportStore.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientTabularReportStore.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import java.util.Collection;
+
+import org.hisp.dhis.common.GenericIdentifiableObjectStore;
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $PatientTabularReportStore.java May 7, 2012 1:01:55 PM$
+ */
+public interface PatientTabularReportStore extends GenericIdentifiableObjectStore<PatientTabularReport>
+{
+ Collection<PatientTabularReport> get( User user );
+}
=== added directory 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport'
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/DefaultPatientTabularReportService.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/DefaultPatientTabularReportService.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/DefaultPatientTabularReportService.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport;
+
+import java.util.Collection;
+
+import org.hisp.dhis.user.User;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $DefaultPatientTabularReportService.java May 7, 2012 1:12:31 PM$
+ */
+@Transactional
+public class DefaultPatientTabularReportService
+ implements PatientTabularReportService
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportStore tabularReportStore;
+
+ public void setTabularReportStore( PatientTabularReportStore tabularReportStore )
+ {
+ this.tabularReportStore = tabularReportStore;
+ }
+
+ // -------------------------------------------------------------------------
+ // Implementation methods
+ // -------------------------------------------------------------------------
+
+ @Override
+ public void deletePatientTabularReport( PatientTabularReport patientTabularReport )
+ {
+ tabularReportStore.delete( patientTabularReport );
+ }
+
+ @Override
+ public Collection<PatientTabularReport> getAllCharts()
+ {
+ return tabularReportStore.getAll();
+ }
+
+ @Override
+ public PatientTabularReport getPatientTabularReport( int id )
+ {
+ return tabularReportStore.get( id );
+ }
+
+ @Override
+ public Collection<PatientTabularReport> getPatientTabularReports( User user )
+ {
+ return tabularReportStore.get( user );
+ }
+
+ @Override
+ public void saveOrUpdate( PatientTabularReport patientTabularReport )
+ {
+ tabularReportStore.save( patientTabularReport );
+ }
+
+}
=== added directory 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate'
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate/HibernatePatientTabularReportStore.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate/HibernatePatientTabularReportStore.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patientreport/hibernate/HibernatePatientTabularReportStore.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.patientreport.hibernate;
+
+import java.util.Collection;
+
+import org.hibernate.criterion.Restrictions;
+import org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore;
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportStore;
+import org.hisp.dhis.user.User;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $HibernatePatientTabularReportStore.java May 7, 2012 1:10:37 PM$
+ */
+public class HibernatePatientTabularReportStore
+ extends HibernateIdentifiableObjectStore<PatientTabularReport>
+ implements PatientTabularReportStore
+{
+
+ @SuppressWarnings( "unchecked" )
+ @Override
+ public Collection<PatientTabularReport> get( User user )
+ {
+ return getCriteria( Restrictions.eq( "user", user ) ).list();
+ }
+
+}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2012-04-11 06:25:02 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2012-05-09 08:30:28 +0000
@@ -95,11 +95,11 @@
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
- <bean id="org.hisp.dhis.patient.PatientAttributeOptionStore"
- class="org.hisp.dhis.patient.hibernate.HibernatePatientAttributeOptionStore">
- <property name="clazz" value="org.hisp.dhis.patient.PatientAttributeOption"/>
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
+ <bean id="org.hisp.dhis.patient.PatientAttributeOptionStore"
+ class="org.hisp.dhis.patient.hibernate.HibernatePatientAttributeOptionStore">
+ <property name="clazz" value="org.hisp.dhis.patient.PatientAttributeOption"/>
+ <property name="sessionFactory" ref="sessionFactory"/>
+ </bean>
<bean id="org.hisp.dhis.patientdatavalue.PatientDataValueStore"
class="org.hisp.dhis.patientdatavalue.hibernate.HibernatePatientDataValueStore">
@@ -137,6 +137,12 @@
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
+ <bean id="org.hisp.dhis.patientreport.PatientTabularReportStore"
+ class="org.hisp.dhis.patientreport.hibernate.HibernatePatientTabularReportStore">
+ <property name="clazz" value="org.hisp.dhis.patientreport.PatientTabularReport" />
+ <property name="sessionFactory" ref="sessionFactory" />
+ </bean>
+
<!-- Service definitions -->
<bean id="org.hisp.dhis.program.ProgramDataEntryService"
@@ -312,11 +318,16 @@
</bean>
<bean id="org.hisp.dhis.program.ProgramAttributeOptionService"
- class="org.hisp.dhis.program.DefaultProgramAttributeOptionService">
- <property name="programAttributeOptionStore"
- ref="org.hisp.dhis.program.ProgramAttributeOptionStore"/>
- </bean>
+ class="org.hisp.dhis.program.DefaultProgramAttributeOptionService">
+ <property name="programAttributeOptionStore"
+ ref="org.hisp.dhis.program.ProgramAttributeOptionStore"/>
+ </bean>
+ <bean id="org.hisp.dhis.patientreport.PatientTabularReportService"
+ class="org.hisp.dhis.patientreport.DefaultPatientTabularReportService">
+ <property name="tabularReportStore" ref="org.hisp.dhis.patientreport.PatientTabularReportStore" />
+ </bean>
+
<!-- Aggregation engine -->
<bean
=== added directory 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport'
=== added directory 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate'
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAttribueAssociation.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAttribueAssociation.hbm.xml 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAttribueAssociation.hbm.xml 2012-05-09 08:30:28 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+ <class name="org.hisp.dhis.patientreport.PatientAttributeAssociation"
+ table="patientattribueassociation">
+
+ <id name="id" column="patientattribueassociationid">
+ <generator class="native" />
+ </id>
+
+ <many-to-one name="patientTabularReport" class="org.hisp.dhis.patientreport.PatientTabularReport"
+ column="patienttabularreportid" foreign-key="fk_patientattribueassociation_patienttabularreportid" />
+
+ <many-to-one name="patientAttribute" class="org.hisp.dhis.patient.PatientAttribute"
+ column="patientattributeid" foreign-key="fk_patientattribueassociation_patientattributeid" />
+
+ <property name="key" />
+
+ <property name="hidden" />
+
+ </class>
+</hibernate-mapping>
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientDataElementAssociation.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientDataElementAssociation.hbm.xml 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientDataElementAssociation.hbm.xml 2012-05-09 08:30:28 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+ <class name="org.hisp.dhis.patientreport.PatientDataElementAssociation"
+ table="patientdataelementassociation">
+
+ <id name="id" column="patientdataelementassociationid">
+ <generator class="native" />
+ </id>
+
+ <many-to-one name="patientTabularReport" class="org.hisp.dhis.patientreport.PatientTabularReport"
+ column="patienttabularreportid" foreign-key="fk_patientattribueassociation_patienttabularreportid" />
+
+ <many-to-one name="dataElement" class="org.hisp.dhis.dataelement.DataElement"
+ column="dataelementid" foreign-key="fk_patientattribueassociation_dataelementid" />
+
+ <property name="key" />
+
+ <property name="hidden" />
+
+ </class>
+</hibernate-mapping>
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientFixedAttribueAssociation.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientFixedAttribueAssociation.hbm.xml 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientFixedAttribueAssociation.hbm.xml 2012-05-09 08:30:28 +0000
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+ <class name="org.hisp.dhis.patientreport.PatientFixedAttribueAssociation"
+ table="patientfixedattribueassociation">
+
+ <id name="id" column="patientfixedattribueassociationid">
+ <generator class="native" />
+ </id>
+
+ <many-to-one name="patientTabularReport" class="org.hisp.dhis.patientreport.PatientTabularReport"
+ column="patienttabularreportid" foreign-key="fk_patientattribueassociation_patienttabularreportid" />
+
+ <property name="attributeName" />
+
+ <property name="key" />
+
+ <property name="hidden" />
+
+ </class>
+</hibernate-mapping>
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientIdentifierTypeAssociation.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientIdentifierTypeAssociation.hbm.xml 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientIdentifierTypeAssociation.hbm.xml 2012-05-09 08:30:28 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+ <class name="org.hisp.dhis.patientreport.PatientIdentifierTypeAssociation"
+ table="patientidentifiertypeAssociation">
+
+ <id name="id" column="patientidentifiertypeAssociationid">
+ <generator class="native" />
+ </id>
+
+ <many-to-one name="patientTabularReport" class="org.hisp.dhis.patientreport.PatientTabularReport"
+ column="patienttabularreportid" foreign-key="fk_patientattribueassociation_patienttabularreportid" />
+
+ <many-to-one name="patientIdentifierType" class="org.hisp.dhis.patient.PatientIdentifierType"
+ column="patientidentifierTypeid" foreign-key="fk_patientattribueassociation_patientidentifieriypeid" />
+
+ <property name="key" />
+
+ <property name="hidden" />
+
+ </class>
+</hibernate-mapping>
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientTabularReport.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientTabularReport.hbm.xml 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientTabularReport.hbm.xml 2012-05-09 08:30:28 +0000
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
+ [<!ENTITY identifiableProperties SYSTEM "classpath://org/hisp/dhis/common/identifiableProperties.hbm">]
+ >
+
+<hibernate-mapping>
+ <class name="org.hisp.dhis.patientreport.PatientTabularReport"
+ table="patienttabularreport">
+
+ <id name="id" column="patienttabularreportid">
+ <generator class="native" />
+ </id>
+
+ &identifiableProperties;
+
+ <property name="startDate" />
+
+ <property name="endDate" />
+
+ <many-to-one name="programStage" class="org.hisp.dhis.program.ProgramStage"
+ column="programstageid" foreign-key="fk_patienttabularreport_programstageid" />
+
+ <list name="attributes" cascade="all" >
+ <key column="patienttabularreportid"/>
+ <list-index column="sort_order" base="0" />
+ <one-to-many class="org.hisp.dhis.patientreport.PatientAttributeAssociation"/>
+ </list>
+
+ <list name="fixedAttributes" cascade="all" >
+ <key column="patienttabularreportid"/>
+ <list-index column="sort_order" base="0" />
+ <one-to-many class="org.hisp.dhis.patientreport.PatientFixedAttribueAssociation"/>
+ </list>
+
+ <list name="identifiers" cascade="all" >
+ <key column="patienttabularreportid"/>
+ <list-index column="sort_order" base="0" />
+ <one-to-many class="org.hisp.dhis.patientreport.PatientIdentifierTypeAssociation"/>
+ </list>
+
+ <list name="dataElements" cascade="all" >
+ <key column="patienttabularreportid"/>
+ <list-index column="sort_order" base="0" />
+ <one-to-many class="org.hisp.dhis.patientreport.PatientDataElementAssociation"/>
+ </list>
+
+ <many-to-one name="organisationUnit"
+ class="org.hisp.dhis.organisationunit.OrganisationUnit" column="organisationunitid"
+ foreign-key="fk_patient_organisationunitid" />
+
+ <property name="level" />
+
+ <property name="sortedOrgunitAsc" />
+
+ <property name="facilityLB" />
+
+ <many-to-one name="user" class="org.hisp.dhis.user.User"
+ column="userid" foreign-key="fk_patienttabularreport_userid" />
+
+ </class>
+</hibernate-mapping>
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/DeleteTabularReportAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/DeleteTabularReportAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/DeleteTabularReportAction.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.caseentry.action.report;
+
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $DeleteTabularReportAction.java May 7, 2012 4:11:43 PM$
+ */
+public class DeleteTabularReportAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportService tabularReportService;
+
+ public void setTabularReportService( PatientTabularReportService tabularReportService )
+ {
+ this.tabularReportService = tabularReportService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ PatientTabularReport tabularReport = tabularReportService.getPatientTabularReport( id );
+
+ tabularReportService.deletePatientTabularReport( tabularReport );
+
+ return SUCCESS;
+ }
+
+}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java 2012-05-02 08:15:45 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java 2012-05-09 08:30:28 +0000
@@ -27,6 +27,12 @@
package org.hisp.dhis.caseentry.action.report;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_DATA_ELEMENT;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_IDENTIFIER_TYPE;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_META_DATA;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_PATIENT_ATTRIBUTE;
+import static org.hisp.dhis.patientreport.PatientTabularReport.VALUE_TYPE_OPTION_SET;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -63,16 +69,6 @@
public class GenerateTabularReportAction
extends ActionPagingSupport<ProgramStageInstance>
{
- private String PREFIX_META_DATA = "meta";
-
- private String PREFIX_IDENTIFIER_TYPE = "iden";
-
- private String PREFIX_PATIENT_ATTRIBUTE = "attr";
-
- private String PREFIX_DATA_ELEMENT = "de";
-
- private String VALUE_TYPE_OPTION_SET = "optionSet";
-
// -------------------------------------------------------------------------
// Dependencies
// -------------------------------------------------------------------------
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportAction.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.caseentry.action.report;
+
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $DeleteTabularReportAction.java May 7, 2012 4:11:43 PM$
+ */
+public class GetTabularReportAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportService tabularReportService;
+
+ public void setTabularReportService( PatientTabularReportService tabularReportService )
+ {
+ this.tabularReportService = tabularReportService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private PatientTabularReport tabularReport;
+
+ public PatientTabularReport getTabularReport()
+ {
+ return tabularReport;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ tabularReport = tabularReportService.getPatientTabularReport( id );
+
+ return SUCCESS;
+ }
+
+}
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportsAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportsAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetTabularReportsAction.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.caseentry.action.report;
+
+import java.util.Collection;
+import java.util.HashSet;
+
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportService;
+import org.hisp.dhis.user.CurrentUserService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $GetTabularReportsAction.java May 7, 2012 4:08:13 PM$
+ */
+public class GetTabularReportsAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportService tabularReportService;
+
+ public void setTabularReportService( PatientTabularReportService tabularReportService )
+ {
+ this.tabularReportService = tabularReportService;
+ }
+
+ private CurrentUserService currentUserService;
+
+ public void setCurrentUserService( CurrentUserService currentUserService )
+ {
+ this.currentUserService = currentUserService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Output
+ // -------------------------------------------------------------------------
+
+ private Collection<PatientTabularReport> tabularReports = new HashSet<PatientTabularReport>();
+
+ public Collection<PatientTabularReport> getTabularReports()
+ {
+ return tabularReports;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ tabularReports = tabularReportService.getPatientTabularReports( currentUserService.getCurrentUser() );
+
+ return SUCCESS;
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.caseentry.action.report;
+
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_DATA_ELEMENT;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_IDENTIFIER_TYPE;
+import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_PATIENT_ATTRIBUTE;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.hisp.dhis.dataelement.DataElement;
+import org.hisp.dhis.dataelement.DataElementService;
+import org.hisp.dhis.i18n.I18nFormat;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
+import org.hisp.dhis.patient.PatientAttribute;
+import org.hisp.dhis.patient.PatientAttributeService;
+import org.hisp.dhis.patient.PatientIdentifierType;
+import org.hisp.dhis.patient.PatientIdentifierTypeService;
+import org.hisp.dhis.patientreport.PatientAttributeAssociation;
+import org.hisp.dhis.patientreport.PatientDataElementAssociation;
+import org.hisp.dhis.patientreport.PatientFixedAttribueAssociation;
+import org.hisp.dhis.patientreport.PatientIdentifierTypeAssociation;
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportService;
+import org.hisp.dhis.program.ProgramStage;
+import org.hisp.dhis.program.ProgramStageService;
+import org.hisp.dhis.user.CurrentUserService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $SaveTabularReportAction.java May 7, 2012 3:13:11 PM$
+ */
+public class SaveTabularReportAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportService tabularReportService;
+
+ public void setTabularReportService( PatientTabularReportService tabularReportService )
+ {
+ this.tabularReportService = tabularReportService;
+ }
+
+ private OrganisationUnitService organisationUnitService;
+
+ public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
+ {
+ this.organisationUnitService = organisationUnitService;
+ }
+
+ private ProgramStageService programStageService;
+
+ public void setProgramStageService( ProgramStageService programStageService )
+ {
+ this.programStageService = programStageService;
+ }
+
+ private DataElementService dataElementService;
+
+ public void setDataElementService( DataElementService dataElementService )
+ {
+ this.dataElementService = dataElementService;
+ }
+
+ private PatientIdentifierTypeService identifierTypeService;
+
+ public void setIdentifierTypeService( PatientIdentifierTypeService identifierTypeService )
+ {
+ this.identifierTypeService = identifierTypeService;
+ }
+
+ private PatientAttributeService patientAttributeService;
+
+ public void setPatientAttributeService( PatientAttributeService patientAttributeService )
+ {
+ this.patientAttributeService = patientAttributeService;
+ }
+
+ private CurrentUserService currentUserService;
+
+ public void setCurrentUserService( CurrentUserService currentUserService )
+ {
+ this.currentUserService = currentUserService;
+ }
+
+ private I18nFormat format;
+
+ public void setFormat( I18nFormat format )
+ {
+ this.format = format;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private String name;
+
+ private String startDate;
+
+ private String endDate;
+
+ private Integer programStageId;
+
+ private List<String> fixedAttributes = new ArrayList<String>();
+
+ private List<String> searchingValues = new ArrayList<String>();
+
+ private Integer orgunitId;
+
+ private boolean orderByOrgunitAsc;
+
+ private Integer level;
+
+ private String facilityLB;
+
+ // -------------------------------------------------------------------------
+ // Setters
+ // -------------------------------------------------------------------------
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public void setLevel( Integer level )
+ {
+ this.level = level;
+ }
+
+ public void setSearchingValues( List<String> searchingValues )
+ {
+ this.searchingValues = searchingValues;
+ }
+
+ public void setFacilityLB( String facilityLB )
+ {
+ this.facilityLB = facilityLB;
+ }
+
+ public void setOrderByOrgunitAsc( boolean orderByOrgunitAsc )
+ {
+ this.orderByOrgunitAsc = orderByOrgunitAsc;
+ }
+
+ public void setFixedAttributes( List<String> fixedAttributes )
+ {
+ this.fixedAttributes = fixedAttributes;
+ }
+
+ public void setEndDate( String endDate )
+ {
+ this.endDate = endDate;
+ }
+
+ public void setStartDate( String startDate )
+ {
+ this.startDate = startDate;
+ }
+
+ public void setOrgunitId( Integer orgunitId )
+ {
+ this.orgunitId = orgunitId;
+ }
+
+ public void setProgramStageId( Integer programStageId )
+ {
+ this.programStageId = programStageId;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ OrganisationUnit orgunit = organisationUnitService.getOrganisationUnit( orgunitId );
+ ProgramStage programStage = programStageService.getProgramStage( programStageId );
+
+ // ---------------------------------------------------------------------
+ // Get fixed-attributes
+ // ---------------------------------------------------------------------
+
+ PatientTabularReport tabularReport = new PatientTabularReport( name );
+ tabularReport.setStartDate( format.parseDate( startDate ) );
+ tabularReport.setEndDate( format.parseDate( endDate ) );
+ tabularReport.setProgramStage( programStage );
+ tabularReport.setOrganisationUnit( orgunit );
+ tabularReport.setLevel( level );
+ tabularReport.setFacilityLB( facilityLB );
+ tabularReport.setSortedOrgunitAsc( orderByOrgunitAsc );
+ tabularReport.setUser( currentUserService.getCurrentUser() );
+
+ // ---------------------------------------------------------------------
+ // Get fixed-attributes
+ // ---------------------------------------------------------------------
+
+ List<PatientFixedAttribueAssociation> fixedAttrAssociations = new ArrayList<PatientFixedAttribueAssociation>();
+
+ for ( String fixedAttribute : fixedAttributes )
+ {
+ PatientFixedAttribueAssociation association = new PatientFixedAttribueAssociation();
+ association.setAttributeName( fixedAttribute );
+ association.setPatientTabularReport( tabularReport );
+ fixedAttrAssociations.add( association );
+ }
+
+ // ---------------------------------------------------------------------
+ // Get searching-keys
+ // ---------------------------------------------------------------------
+
+ List<PatientIdentifierTypeAssociation> identifiers = new ArrayList<PatientIdentifierTypeAssociation>();
+
+ List<PatientAttributeAssociation> attributes = new ArrayList<PatientAttributeAssociation>();
+
+ List<PatientDataElementAssociation> dataElements = new ArrayList<PatientDataElementAssociation>();
+
+ int index = 0;
+ for ( String searchingValue : searchingValues )
+ {
+ String[] infor = searchingValue.split( "_" );
+ String objectType = infor[0];
+ int objectId = Integer.parseInt( infor[1] );
+
+ if ( objectType.equals( PREFIX_IDENTIFIER_TYPE ) )
+ {
+ PatientIdentifierTypeAssociation association = new PatientIdentifierTypeAssociation();
+ PatientIdentifierType identifierType = identifierTypeService.getPatientIdentifierType( objectId );
+
+ association.setPatientIdentifierType( identifierType );
+ association.setPatientTabularReport( tabularReport );
+ association.setHidden( Boolean.parseBoolean( infor[2] ) );
+
+ if ( infor.length == 4 )
+ {
+ association.setKey( infor[3].trim() );
+ }
+
+ identifiers.add( association );
+
+ index++;
+ }
+ else if ( objectType.equals( PREFIX_PATIENT_ATTRIBUTE ) )
+ {
+ PatientAttributeAssociation association = new PatientAttributeAssociation();
+ PatientAttribute attribute = patientAttributeService.getPatientAttribute( objectId );
+
+ association.setPatientAttribute( attribute );
+ association.setPatientTabularReport( tabularReport );
+ association.setHidden( Boolean.parseBoolean( infor[2] ) );
+
+ if ( infor.length == 4 )
+ {
+ association.setKey( infor[3].trim() );
+ }
+
+ attributes.add( association );
+
+ index++;
+ }
+ else if ( objectType.equals( PREFIX_DATA_ELEMENT ) )
+ {
+ PatientDataElementAssociation association = new PatientDataElementAssociation();
+ DataElement dataElement = dataElementService.getDataElement( objectId );
+
+ association.setDataElement( dataElement );
+ association.setPatientTabularReport( tabularReport );
+ association.setHidden( Boolean.parseBoolean( infor[2] ) );
+
+ if ( infor.length == 4 )
+ {
+ association.setKey( infor[3].trim() );
+ }
+
+ dataElements.add( association );
+
+ index++;
+ }
+
+ }
+
+ if ( fixedAttrAssociations.size() > 0 )
+ {
+ tabularReport.setFixedAttributes( fixedAttrAssociations );
+ }
+ else if ( identifiers.size() > 0 )
+ {
+ tabularReport.setIdentifiers( identifiers );
+ }
+ else if ( attributes.size() > 0 )
+ {
+ tabularReport.setAttributes( attributes );
+ }
+
+ tabularReport.setFixedAttributes( fixedAttrAssociations );
+ tabularReport.setIdentifiers( identifiers );
+ tabularReport.setAttributes( attributes );
+ tabularReport.setDataElements( dataElements );
+
+ tabularReportService.saveOrUpdate( tabularReport );
+
+ return SUCCESS;
+ }
+
+}
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/UpdateTabularReportNameAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/UpdateTabularReportNameAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/UpdateTabularReportNameAction.java 2012-05-09 08:30:28 +0000
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.caseentry.action.report;
+
+import org.hisp.dhis.patientreport.PatientTabularReport;
+import org.hisp.dhis.patientreport.PatientTabularReportService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version $DeleteTabularReportAction.java May 7, 2012 4:11:43 PM$
+ */
+public class UpdateTabularReportNameAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private PatientTabularReportService tabularReportService;
+
+ public void setTabularReportService( PatientTabularReportService tabularReportService )
+ {
+ this.tabularReportService = tabularReportService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ PatientTabularReport tabularReport = tabularReportService.getPatientTabularReport( id );
+
+ tabularReport.setName( name );
+
+ tabularReportService.saveOrUpdate( tabularReport );
+
+ return SUCCESS;
+ }
+
+}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2012-04-20 06:58:46 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2012-05-09 08:30:28 +0000
@@ -249,89 +249,6 @@
ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
</bean>
- <bean id="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction"
- class="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction"
- scope="prototype">
- <property name="selectedStateManager"
- ref="org.hisp.dhis.caseentry.state.SelectedStateManager" />
- <property name="organisationUnitService"
- ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.TabularInitializeAction"
- class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction"
- scope="prototype">
- <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction"
- class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction"
- scope="prototype">
- <property name="organisationUnitService"
- ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.LoadProgramsAction"
- class="org.hisp.dhis.caseentry.action.report.LoadProgramsAction"
- scope="prototype">
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction"
- class="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction"
- scope="prototype">
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- <property name="identifierTypeService"
- ref="org.hisp.dhis.patient.PatientIdentifierTypeService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction"
- class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction"
- scope="prototype">
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- </bean>
-
- <bean
- id="org.hisp.dhis.caseentry.action.report.LoadAttributesAction"
- class="org.hisp.dhis.caseentry.action.report.LoadAttributesAction"
- scope="prototype">
- <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
- <property name="attributeService"
- ref="org.hisp.dhis.patient.PatientAttributeService" />
- </bean>
-
- <bean id="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction"
- class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction"
- scope="prototype">
- <property name="programStageService" ref="org.hisp.dhis.program.ProgramStageService" />
- </bean>
-
- <bean
- id="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction"
- class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction"
- scope="prototype">
- <property name="programStageService" ref="org.hisp.dhis.program.ProgramStageService" />
- <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
- <property name="programStageInstanceService"
- ref="org.hisp.dhis.program.ProgramStageInstanceService" />
- <property name="organisationUnitService"
- ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- <property name="identifierTypeService"
- ref="org.hisp.dhis.patient.PatientIdentifierTypeService" />
- <property name="patientAttributeService"
- ref="org.hisp.dhis.patient.PatientAttributeService" />
- </bean>
-
- <bean
- id="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction"
- class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction"
- scope="prototype">
- <property name="selectedStateManager"
- ref="org.hisp.dhis.caseentry.state.SelectedStateManager" />
- </bean>
-
<!-- Case Aggregation -->
<bean
@@ -907,5 +824,142 @@
class="org.hisp.dhis.caseentry.action.patient.ValidateSearchRelationshipAction"
scope="prototype">
</bean>
+
+ <!-- Tabular report -->
+
+ <bean id="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction"
+ class="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction"
+ scope="prototype">
+ <property name="selectedStateManager"
+ ref="org.hisp.dhis.caseentry.state.SelectedStateManager" />
+ <property name="organisationUnitService"
+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.TabularInitializeAction"
+ class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction"
+ scope="prototype">
+ <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction"
+ class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction"
+ scope="prototype">
+ <property name="organisationUnitService"
+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.LoadProgramsAction"
+ class="org.hisp.dhis.caseentry.action.report.LoadProgramsAction"
+ scope="prototype">
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction"
+ class="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction"
+ scope="prototype">
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ <property name="identifierTypeService"
+ ref="org.hisp.dhis.patient.PatientIdentifierTypeService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction"
+ class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction"
+ scope="prototype">
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.LoadAttributesAction"
+ class="org.hisp.dhis.caseentry.action.report.LoadAttributesAction"
+ scope="prototype">
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ <property name="attributeService"
+ ref="org.hisp.dhis.patient.PatientAttributeService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction"
+ class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction"
+ scope="prototype">
+ <property name="programStageService" ref="org.hisp.dhis.program.ProgramStageService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction"
+ class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction"
+ scope="prototype">
+ <property name="programStageService" ref="org.hisp.dhis.program.ProgramStageService" />
+ <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+ <property name="programStageInstanceService"
+ ref="org.hisp.dhis.program.ProgramStageInstanceService" />
+ <property name="organisationUnitService"
+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ <property name="identifierTypeService"
+ ref="org.hisp.dhis.patient.PatientIdentifierTypeService" />
+ <property name="patientAttributeService"
+ ref="org.hisp.dhis.patient.PatientAttributeService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction"
+ class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction"
+ scope="prototype">
+ <property name="selectedStateManager"
+ ref="org.hisp.dhis.caseentry.state.SelectedStateManager" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.GetTabularReportsAction"
+ class="org.hisp.dhis.caseentry.action.report.GetTabularReportsAction"
+ scope="prototype">
+ <property name="tabularReportService"
+ ref="org.hisp.dhis.patientreport.PatientTabularReportService" />
+ <property name="currentUserService"
+ ref="org.hisp.dhis.user.CurrentUserService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.SaveTabularReportAction"
+ class="org.hisp.dhis.caseentry.action.report.SaveTabularReportAction"
+ scope="prototype">
+ <property name="tabularReportService"
+ ref="org.hisp.dhis.patientreport.PatientTabularReportService" />
+ <property name="currentUserService"
+ ref="org.hisp.dhis.user.CurrentUserService" />
+ <property name="programStageService" ref="org.hisp.dhis.program.ProgramStageService" />
+ <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+ <property name="organisationUnitService"
+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ <property name="identifierTypeService"
+ ref="org.hisp.dhis.patient.PatientIdentifierTypeService" />
+ <property name="patientAttributeService"
+ ref="org.hisp.dhis.patient.PatientAttributeService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.GetTabularReportAction"
+ class="org.hisp.dhis.caseentry.action.report.GetTabularReportAction"
+ scope="prototype">
+ <property name="tabularReportService"
+ ref="org.hisp.dhis.patientreport.PatientTabularReportService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.UpdateTabularReportNameAction"
+ class="org.hisp.dhis.caseentry.action.report.UpdateTabularReportNameAction"
+ scope="prototype">
+ <property name="tabularReportService"
+ ref="org.hisp.dhis.patientreport.PatientTabularReportService" />
+ </bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.report.DeleteTabularReportAction"
+ class="org.hisp.dhis.caseentry.action.report.DeleteTabularReportAction"
+ scope="prototype">
+ <property name="tabularReportService"
+ ref="org.hisp.dhis.patientreport.PatientTabularReportService" />
+ </bean>
</beans>
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-04-28 11:26:03 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-05-09 08:30:28 +0000
@@ -334,4 +334,5 @@
favorites = Favorites
manage_favorites = Manage favorites
update = Update
-et_no_programs = Please select an program.
\ No newline at end of file
+et_no_programs = Please select an program.
+last_updated = Last updated
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-04-20 06:51:37 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-05-09 08:30:28 +0000
@@ -265,77 +265,6 @@
<param name="page">/dhis-web-caseentry/records.vm</param>
</action>
- <action name="tabularReportSelect"
- class="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction">
- <interceptor-ref name="organisationUnitTreeStack" />
- <result name="success" type="velocity">/main.vm</result>
- <param name="page">/dhis-web-caseentry/tabularReportSelect.vm</param>
- <param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
- <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/tabularReport.js,javascript/commons.js</param>
- <param name="stylesheets">style/report.css</param>
- <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
- </action>
-
- <action name="getOrganisationUnitChildren"
- class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction">
- <result name="success" type="velocity-json">
- /dhis-web-caseentry/jsonminOrganisationUnitChildren.vm</result>
- </action>
-
- <action name="tabularInitialize"
- class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction">
- <result name="success" type="velocity-json">
- /dhis-web-caseentry/jsonTabularInitialize.vm</result>
- </action>
-
- <action name="getReportPrograms"
- class="org.hisp.dhis.caseentry.action.report.LoadProgramsAction">
- <result name="success" type="velocity-json">
- /dhis-web-commons/ajax/jsonPrograms.vm</result>
- </action>
-
- <action name="loadReportIdentifierTypes"
- class="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction">
- <result name="success" type="velocity-json">
- /dhis-web-caseentry/jsonIdentifierTypes.vm</result>
- </action>
-
- <action name="loadReportProgramStages"
- class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction">
- <result name="success" type="velocity-json">/dhis-web-caseentry/responseProgramStages.vm</result>
- </action>
-
- <action name="loadReportAttributes"
- class="org.hisp.dhis.caseentry.action.report.LoadAttributesAction">
- <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPatientAttributes.vm</result>
- </action>
-
- <action name="loadDataElements"
- class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction">
- <result name="success" type="velocity-json">/dhis-web-caseentry/responseDataElements.vm</result>
- </action>
-
- <action name="getTabularParams"
- class="org.hisp.dhis.caseentry.action.report.GetTabularParamsAction">
- <result name="success" type="velocity-json">/dhis-web-caseentry/responseTabularParams.vm</result>
- </action>
-
- <action name="validateTabularReport"
- class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction">
- <result name="success" type="velocity-json">
- /dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
- <result name="input" type="velocity-json">
- /dhis-web-commons/ajax/jsonResponseInput.vm</result>
- </action>
-
- <action name="generateTabularReport"
- class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
- <result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularReport.vm</result>
- <result name="xls" type="gridXlsResult" />
- <result name="pdf" type="gridPdfResult" />
- <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
- </action>
-
<!-- i18n -->
<action name="i18n" class="org.hisp.dhis.caseentry.action.NoAction">
@@ -716,5 +645,108 @@
<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
</action>
+ <!-- Tabular report -->
+
+ <action name="tabularReportSelect"
+ class="org.hisp.dhis.caseentry.action.report.TabularReportSelectAction">
+ <interceptor-ref name="organisationUnitTreeStack" />
+ <result name="success" type="velocity">/main.vm</result>
+ <param name="page">/dhis-web-caseentry/tabularReportSelect.vm</param>
+ <param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
+ <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/tabularReport.js,javascript/commons.js</param>
+ <param name="stylesheets">style/report.css</param>
+ <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+ </action>
+
+ <action name="getOrganisationUnitChildren"
+ class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-caseentry/jsonminOrganisationUnitChildren.vm</result>
+ </action>
+
+ <action name="tabularInitialize"
+ class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-caseentry/jsonTabularInitialize.vm</result>
+ </action>
+
+ <action name="getReportPrograms"
+ class="org.hisp.dhis.caseentry.action.report.LoadProgramsAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-commons/ajax/jsonPrograms.vm</result>
+ </action>
+
+ <action name="loadReportIdentifierTypes"
+ class="org.hisp.dhis.caseentry.action.report.LoadIdentifierTypesAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-caseentry/jsonIdentifierTypes.vm</result>
+ </action>
+
+ <action name="loadReportProgramStages"
+ class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction">
+ <result name="success" type="velocity-json">/dhis-web-caseentry/responseProgramStages.vm</result>
+ </action>
+
+ <action name="loadReportAttributes"
+ class="org.hisp.dhis.caseentry.action.report.LoadAttributesAction">
+ <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPatientAttributes.vm</result>
+ </action>
+
+ <action name="loadDataElements"
+ class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction">
+ <result name="success" type="velocity-json">/dhis-web-caseentry/responseDataElements.vm</result>
+ </action>
+
+ <action name="getTabularParams"
+ class="org.hisp.dhis.caseentry.action.report.GetTabularParamsAction">
+ <result name="success" type="velocity-json">/dhis-web-caseentry/responseTabularParams.vm</result>
+ </action>
+
+ <action name="validateTabularReport"
+ class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ <result name="input" type="velocity-json">
+ /dhis-web-commons/ajax/jsonResponseInput.vm</result>
+ </action>
+
+ <action name="generateTabularReport"
+ class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
+ <result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularReportResult.vm</result>
+ <result name="xls" type="gridXlsResult" />
+ <result name="pdf" type="gridPdfResult" />
+ <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+ </action>
+
+ <action name="saveTabularReport"
+ class="org.hisp.dhis.caseentry.action.report.SaveTabularReportAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ </action>
+
+ <action name="getTabularReports"
+ class="org.hisp.dhis.caseentry.action.report.GetTabularReportsAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-caseentry/jsonTabularReportList.vm</result>
+ </action>
+
+ <action name="getTabularReport"
+ class="org.hisp.dhis.caseentry.action.report.GetTabularReportAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-caseentry/jsonTabularReport.vm</result>
+ </action>
+
+ <action name="updateTabularReportName"
+ class="org.hisp.dhis.caseentry.action.report.UpdateTabularReportNameAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ </action>
+
+ <action name="deleteTabularReport"
+ class="org.hisp.dhis.caseentry.action.report.DeleteTabularReportAction">
+ <result name="success" type="velocity-json">
+ /dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ </action>
+
</package>
</struts>
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2012-05-07 04:34:16 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2012-05-09 08:30:28 +0000
@@ -37,6 +37,11 @@
dataelements_get: 'loadDataElements.action',
organisationunitchildren_get: 'getOrganisationUnitChildren.action',
generatetabularreport_get: 'generateTabularReport.action',
+ favorite_getall: 'getTabularReports.action',
+ favorite_get: 'getTabularReport.action',
+ favorite_rename: 'updateTabularReportName.action',
+ favorite_save: 'saveTabularReport.action',
+ favorite_delete: 'deleteTabularReport.action',
redirect: 'index.action'
},
params: {
@@ -104,7 +109,9 @@
west_maxheight_accordion_organisationunit: 225,
center_tbar_height: 31,
east_gridcolumn_height: 30,
- form_label_width: 90
+ form_label_width: 90,
+ grid_favorite_width: 420,
+ grid_favorite_height: 250
}
};
@@ -144,7 +151,10 @@
toolbar: {
menuitem: {}
},
- statusbar: {}
+ statusbar: {},
+ favorite: {
+ rename: {}
+ }
};
TR.util = {
@@ -412,11 +422,169 @@
Ext.Array.each(fixedAttributes, function(item) {
if( item.value )
{
- p.fixedAttributes.push( item.paramName );
+ p.push( item.paramName );
}
});
return p;
},
+ crud: {
+ favorite: {
+ create: function(fn, isupdate) {
+ TR.util.mask.showMask(TR.cmp.favorite.window, TR.i18n.saving + '...');
+
+ var p = TR.state.getParams();
+ p.name = TR.cmp.favorite.name.getValue();
+
+ if (isupdate) {
+ p.uid = TR.store.favorite.getAt(TR.store.favorite.findExact('name', p.name)).data.id;
+ }
+
+ Ext.Ajax.request({
+ url: TR.conf.finals.ajax.path_root + TR.conf.finals.ajax.favorite_save,
+ method: 'POST',
+ params: p,
+ success: function() {
+ TR.store.favorite.load({callback: function() {
+ TR.util.mask.hideMask();
+ if (fn) {
+ fn();
+ }
+ }});
+ }
+ });
+ },
+ update: function(fn) {
+ TR.util.crud.favorite.create(fn, true);
+ },
+ del: function(fn) {
+ TR.util.mask.showMask(TR.cmp.favorite.window, TR.i18n.deleting + '...');
+ var baseurl = TR.conf.finals.ajax.path_root + TR.conf.finals.ajax.favorite_delete,
+ selection = TR.cmp.favorite.grid.getSelectionModel().getSelection();
+ Ext.Array.each(selection, function(item) {
+ baseurl = Ext.String.urlAppend(baseurl, 'uids=' + item.data.id);
+ });
+ Ext.Ajax.request({
+ url: baseurl,
+ method: 'POST',
+ success: function() {
+ TR.store.favorite.load({callback: function() {
+ TR.util.mask.hideMask();
+ if (fn) {
+ fn();
+ }
+ }});
+ }
+ });
+ },
+ run: function(id) {
+ Ext.Ajax.request({
+ url: TR.conf.finals.ajax.path_root + TR.conf.finals.ajax.favorite_get + '?id=' + id,
+ scope: this,
+ success: function(r) {
+ var f = Ext.JSON.decode(r.responseText);
+
+ Ext.getCmp('programCombobox').setValue( f.programId );
+ Ext.getCmp('programStageCombobox').setValue( f.programStageId );
+ Ext.getCmp('startDate').setValue( f.startDate );
+ Ext.getCmp('endDate').setValue( f.endDate );
+ Ext.getCmp('facilityLBCombobox').setValue( f.facilityLB );
+ Ext.getCmp('levelCombobox').setValue( f.level );
+ TR.state.orgunitId = f.organisationUnitId;
+
+ TR.cmp.params.identifierType.objects = [];
+ TR.cmp.params.patientAttribute.objects = [];
+ TR.cmp.params.fixedAttributes.objects = [];
+ TR.cmp.params.dataelement.objects = [];
+
+ // IDENTIFIER TYPE
+ TR.store.identifierType.selected.removeAll();
+ if (f.identifiers && f.anonymous == "false" ) {
+ for (var i = 0; i < f.identifiers.length; i++) {
+ TR.cmp.params.identifierType.objects.push({id: f.identifiers[i].id, name: TR.util.string.getEncodedString(f.identifiers[i].name)});
+ }
+ TR.store.identifierType.selected.add(TR.cmp.params.identifierType.objects);
+
+ var storeIdentifierType = TR.store.identifierType.available;
+ storeIdentifierType.parent = f.programId;
+ if (TR.util.store.containsParent(storeIdentifierType)) {
+ TR.util.store.loadFromStorage(storeIdentifierType);
+ TR.util.multiselect.filterAvailable(TR.cmp.params.identifierType.available, TR.cmp.params.identifierType.selected);
+ }
+ else {
+ storeIdentifierType.load({params: {programId: f.programId}});
+ }
+ }
+
+ // PATIENT ATTRIBUTE
+ TR.store.patientAttribute.selected.removeAll();
+ if (f.attributes && f.anonymous == "false") {
+ for (var i = 0; i < f.attributes.length; i++) {
+ TR.cmp.params.patientAttribute.objects.push({id: f.attributes[i].id, name: TR.util.string.getEncodedString(f.attributes[i].name)});
+ }
+ TR.store.patientAttribute.selected.add(TR.cmp.params.patientAttribute.objects);
+
+ var storePatientAttribute = TR.store.patientAttribute.available;
+ storePatientAttribute.parent = f.programId;
+ if (TR.util.store.containsParent(storePatientAttribute)) {
+ TR.util.store.loadFromStorage(storePatientAttribute);
+ TR.util.multiselect.filterAvailable(TR.cmp.params.patientAttribute.available, TR.cmp.params.patientAttribute.selected);
+ }
+ else {
+ storePatientAttribute.load({params: {programId: f.programId}});
+ }
+ }
+
+ // FIXED ATTRIBUTES
+ TR.util.setEnabledFixedAttr();
+ if (f.fixedAttributes && f.anonymous == "false") {
+ var fixedAttributes = TR.cmp.params.fixedAttributes.checkbox;
+ Ext.Array.each(fixedAttributes, function(item) {
+ for (var i = 0; i < f.fixedAttributes.length; i++) {
+ var flag = false;
+ if( item.paramName == f.fixedAttributes[i].name )
+ {
+ item.setValue( true );
+ flag = true;
+ break;
+ }
+ }
+ if( !flag ){
+ item.setValue( false );
+ }
+ });
+ }
+
+ // PROGRAM-STAGE
+ var storeProgramStage = TR.store.programStage;
+ storeProgramStage.parent = f.programStageId;
+ storeProgramStage.load({params: {programId: f.programId}});
+ Ext.getCmp('programStageCombobox').setValue( f.programStageId );
+
+ // DATAELEMENT
+ TR.store.dataelement.selected.removeAll();
+ if (f.dataelements) {
+ for (var i = 0; i < f.dataelements.length; i++) {
+ TR.cmp.params.dataelement.objects.push({id: f.dataelements[i].id, name: TR.util.string.getEncodedString(f.dataelements[i].name)});
+ }
+ TR.store.dataelement.selected.add(TR.cmp.params.dataelement.objects);
+
+ var store = TR.store.dataelement.available;
+ store.parent = f.programStageId;
+ if (TR.util.store.containsParent(store)) {
+ TR.util.store.loadFromStorage(store);
+ TR.util.multiselect.filterAvailable(TR.cmp.params.dataelement.available, TR.cmp.params.dataelement.selected);
+ }
+ else {
+ store.load({params: {programStageId: f.programStageId}});
+ }
+ }
+
+ TR.exe.execute();
+ }
+ });
+ }
+ }
+ }
};
TR.store = {
@@ -467,7 +635,7 @@
load: function(s) {
this.isloaded = true;
TR.util.store.addToStorage(s);
- TR.util.multiselect.filterAvailable(TR.cmp.params.identifierType.available, TR.cmp.params.identifierType.selected);
+ TR.util.multiselect.filterAvailable(TR.cmp.params.patientAttribute.available, TR.cmp.params.patientAttribute.selected);
}
}
}),
@@ -510,12 +678,12 @@
isloaded: false,
storage: {},
listeners: {
- load: function(s) {
+ load: function(s) {
this.isloaded = true;
TR.util.store.addToStorage(s);
TR.util.multiselect.filterAvailable(TR.cmp.params.dataelement.available, TR.cmp.params.dataelement.selected);
}
- }
+ }
}),
selected: Ext.create('Ext.data.Store', {
fields: ['id', 'name'],
@@ -539,7 +707,38 @@
},
storage: {}
});
- }
+ },
+ favorite: Ext.create('Ext.data.Store', {
+ fields: ['id', 'name', 'lastUpdated'],
+ proxy: {
+ type: 'ajax',
+ url: TR.conf.finals.ajax.path_root + TR.conf.finals.ajax.favorite_getall,
+ reader: {
+ type: 'json',
+ root: 'tabularReports'
+ }
+ },
+ isloaded: false,
+ sorting: {
+ field: 'name',
+ direction: 'ASC'
+ },
+ sortStore: function() {
+ this.sort(this.sorting.field, this.sorting.direction);
+ },
+ listeners: {
+ load: function(s) {
+ s.isloaded = !s.isloaded ? true : false;
+
+ s.sortStore();
+ s.each(function(r) {
+ r.data.lastUpdated = r.data.lastUpdated.substr(0,16);
+ r.data.icon = '<img src="' + TR.conf.finals.ajax.path_images + 'favorite.png" />';
+ r.commit();
+ });
+ }
+ }
+ })
}
TR.state = {
@@ -547,6 +746,7 @@
total: 1,
orderByOrgunitAsc: true,
orderByExecutionDateByAsc: true,
+ orgunitId: 0,
generateReport: function( type ) {
// Validation
if( !this.validation.objects() )
@@ -608,8 +808,9 @@
p.endDate = TR.cmp.settings.endDate.rawValue;
p.facilityLB = TR.cmp.settings.facilityLB.getValue();
p.level = TR.cmp.settings.level.getValue();
+
// organisation unit
- p.orgunitId = TR.cmp.params.organisationunit.treepanel.getSelectionModel().getSelection()[0].data.id
+ p.orgunitId = TR.state.orgunitId;
p.orderByOrgunitAsc = this.orderByOrgunitAsc;
p.orderByExecutionDateByAsc= this.orderByExecutionDateByAsc;
@@ -618,11 +819,6 @@
// Get fixed attributes
p.fixedAttributes = TR.util.getSelectedFixedAttr();
- /*var fixedAttributes = TR.cmp.params.fixedAttributes.checkbox;
- Ext.Array.each(fixedAttributes, function(item) {
- if( item.value )
- p.fixedAttributes.push( item.paramName );
- });*/
// Get searching values
p.searchingValues = [];
@@ -676,7 +872,7 @@
p += "&endDate=" + TR.cmp.settings.endDate.rawValue;
p += "&facilityLB=" + TR.cmp.settings.facilityLB.getValue();
p += "&level=" + TR.cmp.settings.level.getValue();
- p += "&orgunitId=" + TR.cmp.params.organisationunit.treepanel.getSelectionModel().getSelection()[0].data.id
+ p += "&orgunitId=" + TR.state.orgunitId;
p += "&orderByOrgunitAsc=" + 'true';
p += "&orderByExecutionDateByAsc=" +'true';
p += "&programStageId=" + TR.cmp.params.programStage.getValue();
@@ -754,13 +950,6 @@
return true;
},
-
- render: function() {
- if (!TR.c.isrendered) {
- TR.cmp.toolbar.datatable.enable();
- TR.c.isrendered = true;
- }
- },
response: function(r) {
if (!r.responseText) {
TR.util.mask.hideMask();
@@ -851,7 +1040,7 @@
name:"meta_" + index + "_",
sortable: false,
draggable: false,
- hidden: eval(TR.value.hidden[index])
+ hidden: eval(TR.value.hidden['col' + index])
}
}
@@ -862,7 +1051,7 @@
dataIndex: dataIndex,
height: TR.conf.layout.east_gridcolumn_height,
name: "iden_"+ r.data.id + "_",
- hidden: eval(TR.value.hidden[index]),
+ hidden: eval(TR.value.hidden['col' + index]),
sortable: false,
draggable: true,
editor: {
@@ -880,7 +1069,7 @@
dataIndex: dataIndex,
height: TR.conf.layout.east_gridcolumn_height,
name: "attr_"+ r.data.id + "_",
- hidden: eval(TR.value.hidden[index]),
+ hidden: eval(TR.value.hidden['col' + index]),
flex:1,
sortable: false,
draggable: true,
@@ -908,7 +1097,7 @@
dataIndex: dataIndex,
height: TR.conf.layout.east_gridcolumn_height,
name: "de_"+ r.data.id + "_",
- hidden: eval(TR.value.hidden[index]),
+ hidden: eval(TR.value.hidden['col' + index]),
flex:1,
sortable: false,
draggable: true,
@@ -921,7 +1110,7 @@
allowBlank: true,
store: new Ext.data.ArrayStore({
fields: ['name'],
- data: TR.value.getSuggestedValues(index),
+ data: TR.value.getSuggestedValues('col' + index),
})
}
};
@@ -1159,6 +1348,7 @@
xtype: 'combobox',
cls: 'tr-combo',
name: TR.init.system.programs,
+ id: 'programCombobox',
emptyText: TR.i18n.please_select,
queryMode: 'local',
editable: false,
@@ -1171,25 +1361,25 @@
TR.cmp.settings.program = this;
},
select: function(cb) {
- var anonymous = cb.displayTplData[0].anonymous;
- if( anonymous=='false' )
+ var pId = cb.getValue();
+ if( cb.displayTplData[0].anonymous=='false' )
{
// IDENTIFIER TYPE
var storeIdentifierType = TR.store.identifierType.available;
TR.store.identifierType.selected.loadData([],false);
- storeIdentifierType.parent = cb.getValue();
+ storeIdentifierType.parent = pId;
if (TR.util.store.containsParent(storeIdentifierType)) {
TR.util.store.loadFromStorage(storeIdentifierType);
TR.util.multiselect.filterAvailable(TR.cmp.params.identifierType.available, TR.cmp.params.identifierType.selected);
}
else {
- storeIdentifierType.load({params: {programId: cb.getValue()}});
+ storeIdentifierType.load({params: {programId: pId}});
}
// PATIENT ATTRIBUTE
var storePatientAttribute = TR.store.patientAttribute.available;
- storePatientAttribute.parent = cb.getValue();
+ storePatientAttribute.parent = pId;
TR.store.patientAttribute.selected.loadData([],false);
if (TR.util.store.containsParent(storePatientAttribute)) {
@@ -1197,7 +1387,7 @@
TR.util.multiselect.filterAvailable(TR.cmp.params.patientAttribute.available, TR.cmp.params.patientAttribute.selected);
}
else {
- storePatientAttribute.load({params: {programId: cb.getValue()}});
+ storePatientAttribute.load({params: {programId: pId}});
}
TR.util.setEnabledFixedAttr();
}
@@ -1215,8 +1405,8 @@
// PROGRAM-STAGE
var storeProgramStage = TR.store.programStage;
TR.store.dataelement.selected.loadData([],false);
- storeProgramStage.parent = cb.getValue();
- storeProgramStage.load({params: {programId: cb.getValue()}});
+ storeProgramStage.parent = pId;
+ storeProgramStage.load({params: {programId: pId}});
}
}
},
@@ -1290,6 +1480,7 @@
{
xtype: 'treepanel',
cls: 'tr-tree',
+ id: 'treeOrg',
width: TR.conf.layout.west_fieldset_width - TR.conf.layout.west_width_subtractor,
height: 273,
autoScroll: true,
@@ -1337,6 +1528,10 @@
afterrender: function( treePanel, eOpts )
{
treePanel.getSelectionModel().select( treePanel.getRootNode() );
+ TR.state.orgunitId = treePanel.getSelectionModel().getSelection()[0].data.id;
+ },
+ itemclick : function(view,rec,item,index,eventObj){
+ TR.state.orgunitId = TR.cmp.params.organisationunit.treepanel.getSelectionModel().getSelection()[0].data.id;
}
}
}
@@ -1844,7 +2039,9 @@
},
{
xtype: 'image',
- src: 'images/grid-split.gif'
+ src: 'images/grid-split.gif',
+ width: 3,
+ height: 10
},
{
xtype: 'button',
@@ -1906,7 +2103,9 @@
},
{
xtype: 'image',
- src: 'images/grid-split.gif'
+ src: 'images/grid-split.gif',
+ width: 3,
+ height: 10
},
{
xtype: 'button',
@@ -2155,6 +2354,501 @@
},
{
xtype: 'button',
+ cls: 'tr-toolbar-btn-2',
+ text: TR.i18n.favorites + '..',
+ listeners: {
+ afterrender: function(b) {
+ this.menu = Ext.create('Ext.menu.Menu', {
+ margin: '2 0 0 0',
+ shadow: false,
+ showSeparator: false,
+ items: [
+ {
+ text: TR.i18n.manage_favorites,
+ iconCls: 'tr-menu-item-edit',
+ handler: function() {
+ if (TR.cmp.favorite.window) {
+ TR.cmp.favorite.window.show();
+ }
+ else {
+ TR.cmp.favorite.window = Ext.create('Ext.window.Window', {
+ title: TR.i18n.manage_favorites,
+ iconCls: 'tr-window-title-favorite',
+ bodyStyle: 'padding:8px; background-color:#fff',
+ width: TR.conf.layout.grid_favorite_width,
+ height: TR.conf.layout.grid_favorite_height,
+ closeAction: 'hide',
+ resizable: false,
+ modal: true,
+ resetForm: function() {
+ TR.cmp.favorite.name.setValue('');
+ },
+ items: [
+ {
+ xtype: 'form',
+ bodyStyle: 'border-style:none',
+ items: [
+ {
+ xtype: 'textfield',
+ cls: 'tr-textfield',
+ fieldLabel: 'Name',
+ maxLength: 160,
+ enforceMaxLength: true,
+ labelWidth: TR.conf.layout.form_label_width,
+ width: TR.conf.layout.grid_favorite_width - 28,
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.name = this;
+ },
+ change: function() {
+ TR.cmp.favorite.save.xable();
+ }
+ }
+ }
+ ]
+ },
+ {
+ xtype: 'grid',
+ width: TR.conf.layout.grid_favorite_width - 28,
+ scroll: 'vertical',
+ multiSelect: true,
+ columns: [
+ {
+ dataIndex: 'name',
+ width: TR.conf.layout.grid_favorite_width - 139,
+ style: 'display:none'
+ },
+ {
+ dataIndex: 'lastUpdated',
+ width: 111,
+ style: 'display:none'
+ }
+ ],
+ setHeightInWindow: function(store) {
+ var h = (store.getCount() * 23) + 30,
+ sh = TR.util.viewport.getSize().y * 0.6;
+ this.setHeight(h > sh ? sh : h);
+ this.doLayout();
+ this.up('window').doLayout();
+ },
+ store: TR.store.favorite,
+ tbar: {
+ id: 'favorite_t',
+ cls: 'dv-toolbar',
+ height: 30,
+ defaults: {
+ height: 24
+ },
+ items: [
+ {
+ text: TR.i18n.sort_by + '..',
+ cls: 'dv-toolbar-btn-2',
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.sortby = this;
+ },
+ afterrender: function(b) {
+ this.addCls('dv-menu-togglegroup');
+ this.menu = Ext.create('Ext.menu.Menu', {
+ shadowOffset: 1,
+ showSeparator: false,
+ width: 109,
+ height: 70,
+ items: [
+ {
+ xtype: 'radiogroup',
+ cls: 'dv-radiogroup',
+ columns: 1,
+ vertical: true,
+ items: [
+ {
+ boxLabel: TR.i18n.name,
+ name: 'sortby',
+ handler: function() {
+ if (this.getValue()) {
+ var store = TR.store.favorite;
+ store.sorting.field = 'name';
+ store.sorting.direction = 'ASC';
+ store.sortStore();
+ this.up('menu').hide();
+ }
+ }
+ },
+ {
+ boxLabel: TR.i18n.last_updated,
+ name: 'sortby',
+ checked: true,
+ handler: function() {
+ if (this.getValue()) {
+ var store = TR.store.favorite;
+ store.sorting.field = 'lastUpdated';
+ store.sorting.direction = 'DESC';
+ store.sortStore();
+ this.up('menu').hide();
+ }
+ }
+ }
+ ]
+ }
+ ]
+ });
+ }
+ }
+ },
+ '->',
+ {
+ text: TR.i18n.rename,
+ cls: 'dv-toolbar-btn-2',
+ disabled: true,
+ xable: function() {
+ if (TR.cmp.favorite.grid.getSelectionModel().getSelection().length == 1) {
+ TR.cmp.favorite.rename.button.enable();
+ }
+ else {
+ TR.cmp.favorite.rename.button.disable();
+ }
+ },
+ handler: function() {
+ var selected = TR.cmp.favorite.grid.getSelectionModel().getSelection()[0];
+ var w = Ext.create('Ext.window.Window', {
+ title: TR.i18n.rename_favorite,
+ layout: 'fit',
+ width: TR.conf.layout.window_confirm_width,
+ bodyStyle: 'padding:10px 5px; background-color:#fff; text-align:center',
+ modal: true,
+ cmp: {},
+ items: [
+ {
+ xtype: 'textfield',
+ cls: 'dv-textfield',
+ maxLength: 160,
+ enforceMaxLength: true,
+ value: selected.data.name,
+ listeners: {
+ added: function() {
+ this.up('window').cmp.name = this;
+ },
+ change: function() {
+ this.up('window').cmp.rename.xable();
+ }
+ }
+ }
+ ],
+ bbar: [
+ {
+ xtype: 'label',
+ style: 'padding-left:2px; line-height:22px; font-size:10px; color:#666; width:50%',
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.rename.label = this;
+ }
+ }
+ },
+ '->',
+ {
+ text: TR.i18n.cancel,
+ handler: function() {
+ this.up('window').close();
+ }
+ },
+ {
+ text: TR.i18n.rename,
+ disabled: true,
+ xable: function() {
+ var value = this.up('window').cmp.name.getValue();
+ if (value) {
+ if (TR.store.favorite.findExact('name', value) == -1) {
+ this.enable();
+ TR.cmp.favorite.rename.label.setText('');
+ return;
+ }
+ else {
+ TR.cmp.favorite.rename.label.setText(TR.i18n.name_already_in_use);
+ }
+ }
+ this.disable();
+ },
+ handler: function() {
+ TR.util.crud.favorite.updateName(this.up('window').cmp.name.getValue());
+ },
+ listeners: {
+ afterrender: function() {
+ this.up('window').cmp.rename = this;
+ },
+ change: function() {
+ this.xable();
+ }
+ }
+ }
+ ],
+ listeners: {
+ afterrender: function() {
+ TR.cmp.favorite.rename.window = this;
+ }
+ }
+ });
+ w.setPosition((screen.width/2)-(TR.conf.layout.window_confirm_width/2), TR.conf.layout.window_favorite_ypos + 100, true);
+ w.show();
+ },
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.rename.button = this;
+ }
+ }
+ },
+ {
+ text: TR.i18n.delete_object,
+ cls: 'dv-toolbar-btn-2',
+ disabled: true,
+ xable: function() {
+ if (TR.cmp.favorite.grid.getSelectionModel().getSelection().length) {
+ TR.cmp.favorite.del.enable();
+ }
+ else {
+ TR.cmp.favorite.del.disable();
+ }
+ },
+ handler: function() {
+ var sel = TR.cmp.favorite.grid.getSelectionModel().getSelection();
+ if (sel.length) {
+ var str = '';
+ for (var i = 0; i < sel.length; i++) {
+ var out = sel[i].data.name.length > 35 ? (sel[i].data.name.substr(0,35) + '...') : sel[i].data.name;
+ str += '<br/>' + out;
+ }
+ var w = Ext.create('Ext.window.Window', {
+ title: TR.i18n.delete_favorite,
+ width: TR.conf.layout.window_confirm_width,
+ bodyStyle: 'padding:10px 5px; background-color:#fff; text-align:center',
+ modal: true,
+ items: [
+ {
+ html: TR.i18n.are_you_sure,
+ bodyStyle: 'border-style:none'
+ },
+ {
+ html: str,
+ cls: 'dv-window-confirm-list'
+ }
+ ],
+ bbar: [
+ {
+ text: TR.i18n.cancel,
+ handler: function() {
+ this.up('window').close();
+ }
+ },
+ '->',
+ {
+ text: TR.i18n.delete_object,
+ handler: function() {
+ this.up('window').close();
+ TR.util.crud.favorite.del(function() {
+ TR.cmp.favorite.name.setValue('');
+ TR.cmp.favorite.window.down('grid').setHeightInWindow(TR.store.favorite);
+ });
+ }
+ }
+ ]
+ });
+ w.setPosition((screen.width/2)-(TR.conf.layout.window_confirm_width/2), TR.conf.layout.window_favorite_ypos + 100, true);
+ w.show();
+ }
+ },
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.del = this;
+ }
+ }
+ }
+ ]
+ },
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.grid = this;
+ },
+ itemclick: function(g, r) {
+ TR.cmp.favorite.name.setValue(r.data.name);
+ TR.cmp.favorite.rename.button.xable();
+ TR.cmp.favorite.del.xable();
+ },
+ itemdblclick: function() {
+ if (TR.cmp.favorite.save.xable()) {
+ TR.cmp.favorite.save.handler();
+ }
+ }
+ }
+ }
+ ],
+ bbar: [
+ {
+ xtype: 'label',
+ style: 'padding-left:2px; line-height:22px; font-size:10px; color:#666; width:70%',
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.label = this;
+ }
+ }
+ },
+ '->',
+ {
+ text: TR.i18n.save,
+ disabled: true,
+ xable: function() {
+ if (TR.cmp.favorite.name.getValue()) {
+ var index = TR.store.favorite.findExact('name', TR.cmp.favorite.name.getValue());
+ if (index != -1) {
+ this.enable();
+ TR.cmp.favorite.label.setText('');
+ return true;
+ }
+ else {
+ this.enable();
+ TR.cmp.favorite.label.setText('');
+ return true;
+ }
+ }
+ else {
+ TR.cmp.favorite.label.setText('');
+ }
+
+ this.disable();
+ return false;
+ },
+ handler: function() {
+ if (this.xable()) {
+ var value = TR.cmp.favorite.name.getValue();
+ if (TR.store.favorite.findExact('name', value) != -1) {
+ var item = value.length > 40 ? (value.substr(0,40) + '...') : value;
+ var w = Ext.create('Ext.window.Window', {
+ title: TR.i18n.save_favorite,
+ width: TR.conf.layout.window_confirm_width,
+ bodyStyle: 'padding:10px 5px; background-color:#fff; text-align:center',
+ modal: true,
+ items: [
+ {
+ html: TR.i18n.are_you_sure,
+ bodyStyle: 'border-style:none'
+ },
+ {
+ html: '<br/>' + item,
+ cls: 'dv-window-confirm-list'
+ }
+ ],
+ bbar: [
+ {
+ text: TR.i18n.cancel,
+ handler: function() {
+ this.up('window').close();
+ }
+ },
+ '->',
+ {
+ text: TR.i18n.overwrite,
+ handler: function() {
+ this.up('window').close();
+ TR.util.crud.favorite.update(function() {
+ TR.cmp.favorite.window.resetForm();
+ });
+
+ }
+ }
+ ]
+ });
+ w.setPosition((screen.width/2)-(TR.conf.layout.window_confirm_width/2), TR.conf.layout.window_favorite_ypos + 100, true);
+ w.show();
+ }
+ else {
+ TR.util.crud.favorite.create(function() {
+ TR.cmp.favorite.window.resetForm();
+ TR.cmp.favorite.window.down('grid').setHeightInWindow(TR.store.favorite);
+ });
+ }
+ }
+ },
+ listeners: {
+ added: function() {
+ TR.cmp.favorite.save = this;
+ }
+ }
+ }
+ ],
+ listeners: {
+ show: function() {
+ TR.cmp.favorite.save.xable();
+ this.down('grid').setHeightInWindow(TR.store.favorite);
+ }
+ }
+ });
+ var w = TR.cmp.favorite.window;
+ w.setPosition((screen.width/2)-(TR.conf.layout.grid_favorite_width/2), TR.conf.layout.window_favorite_ypos, true);
+ w.show();
+ }
+ },
+ listeners: {
+ added: function() {
+ TR.cmp.toolbar.menuitem.datatable = this;
+ }
+ }
+ },
+ '-',
+ {
+ xtype: 'grid',
+ cls: 'dv-menugrid',
+ width: 420,
+ scroll: 'vertical',
+ columns: [
+ {
+ dataIndex: 'icon',
+ width: 25,
+ style: 'display:none'
+ },
+ {
+ dataIndex: 'name',
+ width: 285,
+ style: 'display:none'
+ },
+ {
+ dataIndex: 'lastUpdated',
+ width: 110,
+ style: 'display:none'
+ }
+ ],
+ setHeightInMenu: function(store) {
+ var h = store.getCount() * 26,
+ sh = TR.util.viewport.getSize().y * 0.6;
+ this.setHeight(h > sh ? sh : h);
+ this.doLayout();
+ this.up('menu').doLayout();
+ },
+ store: TR.store.favorite,
+ listeners: {
+ itemclick: function(g, r) {
+ g.getSelectionModel().select([], false);
+ this.up('menu').hide();
+ TR.util.crud.favorite.run(r.data.id);
+ }
+ }
+ }
+ ],
+ listeners: {
+ show: function() {
+ if (!TR.store.favorite.isloaded) {
+ TR.store.favorite.load({scope: this, callback: function() {
+ this.down('grid').setHeightInMenu(TR.store.favorite);
+ }});
+ }
+ else {
+ this.down('grid').setHeightInMenu(TR.store.favorite);
+ }
+ }
+ }
+ });
+ }
+ }
+ },
+ {
+ xtype: 'button',
text: TR.i18n.download + '..',
execute: function(type) {
TR.exe.execute( type );
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/edit.png'
Binary files dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/edit.png 1970-01-01 00:00:00 +0000 and dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/edit.png 2012-05-09 08:30:28 +0000 differ
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/favorite.png'
Binary files dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/favorite.png 1970-01-01 00:00:00 +0000 and dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/images/favorite.png 2012-05-09 08:30:28 +0000 differ