dhis-mobile-devs team mailing list archive
-
dhis-mobile-devs team
-
Mailing list archive
-
Message #00280
[Branch ~dhis-mobile-devs/dhis-mobile/lwuit-tracking] Rev 141: support more attribute type, change registration flow
------------------------------------------------------------
revno: 141
committer: Long <Long@Long-Laptop>
branch nick: lwuit-tracking
timestamp: Tue 2013-09-10 14:17:17 +0700
message:
support more attribute type, change registration flow
added:
src/org/hisp/dhis/mobile/view/RegistrationProgramSelectionView.java
modified:
build.xml
src/org/hisp/dhis/mobile/connection/task/PersonRegistrationTask.java
src/org/hisp/dhis/mobile/connection/task/UploadTrackingFormTask.java
src/org/hisp/dhis/mobile/midlet/NameBasedMIDlet.java
src/org/hisp/dhis/mobile/model/Patient.java
src/org/hisp/dhis/mobile/model/PatientAttribute.java
src/org/hisp/dhis/mobile/recordstore/ProgramRecordStore.java
src/org/hisp/dhis/mobile/view/LoginView.java
src/org/hisp/dhis/mobile/view/PersonRegistrationView.java
src/org/hisp/dhis/mobile/view/ProgramStageListView.java
src/org/hisp/dhis/mobile/view/TrackingDataEntryView.java
src/org/hisp/dhis/mobile/view/TrackingMainMenuView.java
--
lp:~dhis-mobile-devs/dhis-mobile/lwuit-tracking
https://code.launchpad.net/~dhis-mobile-devs/dhis-mobile/lwuit-tracking
Your team DHIS mobile developers is subscribed to branch lp:~dhis-mobile-devs/dhis-mobile/lwuit-tracking.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis-mobile-devs/dhis-mobile/lwuit-tracking/+edit-subscription
=== modified file 'build.xml'
--- build.xml 2013-09-06 13:27:45 +0000
+++ build.xml 2013-09-10 07:17:17 +0000
@@ -36,9 +36,9 @@
<!-- Server URL -->
<property name="server.url" value="http://localhost:9999" />
<!-- User Name -->
- <property name="username" value="mobile" />
+ <property name="username" value="long" />
<!-- Password -->
- <property name="password" value="district" />
+ <property name="password" value="District1" />
<!-- Server Phone Number -->
<property name="server.phonenumber" value="" />
<!-- Default Locale -->
=== modified file 'src/org/hisp/dhis/mobile/connection/task/PersonRegistrationTask.java'
--- src/org/hisp/dhis/mobile/connection/task/PersonRegistrationTask.java 2013-08-27 08:04:10 +0000
+++ src/org/hisp/dhis/mobile/connection/task/PersonRegistrationTask.java 2013-09-10 07:17:17 +0000
@@ -46,7 +46,6 @@
catch ( Exception e )
{
-
e.printStackTrace();
}
=== modified file 'src/org/hisp/dhis/mobile/connection/task/UploadTrackingFormTask.java'
--- src/org/hisp/dhis/mobile/connection/task/UploadTrackingFormTask.java 2013-08-23 06:43:42 +0000
+++ src/org/hisp/dhis/mobile/connection/task/UploadTrackingFormTask.java 2013-09-10 07:17:17 +0000
@@ -73,7 +73,7 @@
if ( message.equalsIgnoreCase( PROGRAM_STAGE_UPLOADED ) )
{
- programStage.setCompleted( true );
+ programStage.setCompleted( uploadProgramStage.isCompleted() );
for ( int i = 0; i < patient.getPrograms().size(); i++ )
{
@@ -89,7 +89,7 @@
if ( programStage.getId() == this.programStage.getId() )
{
((ProgramStage) ((Program) patient.getPrograms().elementAt( i )).getProgramStages()
- .elementAt( j )).setCompleted( true );
+ .elementAt( j )).setCompleted( this.uploadProgramStage.isCompleted() );
}
}
}
@@ -115,7 +115,6 @@
else if ( message.equalsIgnoreCase( SINGLE_EVENT_UPLOADED ) )
{
programStage.setCompleted( true );
- System.out.println( "patient:" + patient.getFullName() );
nameBasedMIDlet.getAlertBoxView( programStage.getName(), Text.UPLOAD_COMPLETED() ).showView();
nameBasedMIDlet.getTrackingMainMenuView().showView();
=== modified file 'src/org/hisp/dhis/mobile/midlet/NameBasedMIDlet.java'
--- src/org/hisp/dhis/mobile/midlet/NameBasedMIDlet.java 2013-09-07 13:31:02 +0000
+++ src/org/hisp/dhis/mobile/midlet/NameBasedMIDlet.java 2013-09-10 07:17:17 +0000
@@ -33,6 +33,7 @@
import org.hisp.dhis.mobile.view.PersonRegistrationOrgUnitSelectView;
import org.hisp.dhis.mobile.view.PersonRegistrationView;
import org.hisp.dhis.mobile.view.ProgramStageListView;
+import org.hisp.dhis.mobile.view.RegistrationProgramSelectionView;
import org.hisp.dhis.mobile.view.SectionListView;
import org.hisp.dhis.mobile.view.TrackingDataEntryView;
import org.hisp.dhis.mobile.view.TrackingMainMenuView;
@@ -74,9 +75,11 @@
private OfflineView offlineView;
private OfflineOrgUnitSelectView offlineOrgUnitSelectView;
-
+
private NoMatchingView noMatchingView;
+ private RegistrationProgramSelectionView registrationProgramSelectionView;
+
public NameBasedMIDlet()
{
DHISMIDlet.debug( "Initializing Name-based Reporting Application" );
@@ -340,4 +343,19 @@
}
return noMatchingView;
}
+
+ public RegistrationProgramSelectionView getRegistrationProgramSelectionView()
+ {
+ if ( registrationProgramSelectionView == null )
+ {
+ registrationProgramSelectionView = new RegistrationProgramSelectionView( this );
+ }
+ return registrationProgramSelectionView;
+ }
+
+ public void setRegistrationProgramSelectionView( RegistrationProgramSelectionView registrationProgramSelectionView )
+ {
+ this.registrationProgramSelectionView = registrationProgramSelectionView;
+ }
+
}
=== modified file 'src/org/hisp/dhis/mobile/model/Patient.java'
--- src/org/hisp/dhis/mobile/model/Patient.java 2013-07-17 03:16:08 +0000
+++ src/org/hisp/dhis/mobile/model/Patient.java 2013-09-10 07:17:17 +0000
@@ -291,8 +291,8 @@
this.setFirstName( din.readUTF() );
this.setMiddleName( din.readUTF() );
this.setLastName( din.readUTF() );
-
- if( din.readBoolean() )
+
+ if ( din.readBoolean() )
{
this.setOrganisationUnitName( din.readUTF() );
}
@@ -357,7 +357,7 @@
}
int attsNumb = din.readInt();
- if( attsNumb > 0 )
+ if ( attsNumb > 0 )
{
this.patientAttValues = new Vector();
PatientAttribute patientAttribute = new PatientAttribute();
@@ -371,7 +371,7 @@
{
this.patientAttValues = null;
}
-
+
int numbIdentifiers = din.readInt();
if ( numbIdentifiers > 0 )
{
@@ -398,15 +398,12 @@
Program program = new Program();
program.deSerialize( din );
programsVector.addElement( program );
- /*int programID = din.readInt();
- try
- {
- programsVector.addElement( (Program)ProgramRecordStore.getProgram( programID ) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }*/
+ /*
+ * int programID = din.readInt(); try {
+ * programsVector.addElement(
+ * (Program)ProgramRecordStore.getProgram( programID ) ); }
+ * catch ( Exception e ) { e.printStackTrace(); }
+ */
}
this.setPrograms( programsVector );
}
@@ -414,17 +411,15 @@
{
this.setPrograms( null );
}
-
- /*int numbPatientDataValue = din.readInt();
-
- for ( int i = 0; i < numbPatientDataValue; i++ )
- {
- int dataElementID = din.readInt();
- System.out.println(dataElementID);
- String value = din.readUTF();
- System.out.println("value :"+value);
- }*/
-
+
+ /*
+ * int numbPatientDataValue = din.readInt();
+ *
+ * for ( int i = 0; i < numbPatientDataValue; i++ ) { int dataElementID
+ * = din.readInt(); System.out.println(dataElementID); String value =
+ * din.readUTF(); System.out.println("value :"+value); }
+ */
+
int numbRelationships = din.readInt();
if ( numbRelationships > 0 )
@@ -481,14 +476,13 @@
}
public void serialize( DataOutputStream dout )
- throws IOException
+ throws IOException
{
dout.writeInt( this.getId() );
- System.out.println(this.getFirstName() +"-"+this.getMiddleName()+"-"+this.getLastName());
dout.writeUTF( this.getFirstName() );
dout.writeUTF( this.getMiddleName() );
dout.writeUTF( this.getLastName() );
-
+
if ( organisationUnitName != null )
{
dout.writeBoolean( true );
@@ -498,7 +492,7 @@
{
dout.writeBoolean( false );
}
-
+
if ( gender != null )
{
dout.writeBoolean( true );
@@ -508,7 +502,7 @@
{
dout.writeBoolean( false );
}
-
+
if ( dobType != null )
{
dout.writeBoolean( true );
@@ -518,7 +512,7 @@
{
dout.writeBoolean( false );
}
-
+
if ( birthDate != null )
{
dout.writeBoolean( true );
@@ -550,85 +544,89 @@
{
dout.writeBoolean( false );
}
-
+
// Write Attribute Value
- if( patientAttValues != null )
+ if ( patientAttValues != null )
{
dout.writeInt( patientAttValues.size() );
- for ( int i=0;i< patientAttValues.size();i++ )
+ for ( int i = 0; i < patientAttValues.size(); i++ )
{
- dout.writeUTF( ((PatientAttribute)patientAttValues.elementAt( i )).getName() );
- dout.writeUTF( ((PatientAttribute)patientAttValues.elementAt( i )).getValue() );
+ // dout.writeUTF( ((PatientAttribute)
+ // patientAttValues.elementAt( i )).getName() );
+ // dout.writeUTF( ((PatientAttribute)
+ // patientAttValues.elementAt( i )).getValue() );
+ PatientAttribute patientAttribute = (PatientAttribute) patientAttValues.elementAt( i );
+ patientAttribute.serialize( dout );
}
}
else
{
dout.writeInt( 0 );
}
-
+
// Write Patient Identifier
- if( identifiers != null )
+ if ( identifiers != null )
{
dout.writeInt( identifiers.size() );
- for ( int i=0;i< identifiers.size();i++ )
+ for ( int i = 0; i < identifiers.size(); i++ )
{
- ((PatientIdentifier)identifiers.elementAt( i )).serialize( dout );
+ ((PatientIdentifier) identifiers.elementAt( i )).serialize( dout );
}
}
else
{
dout.writeInt( 0 );
}
-
+
// Write Program
- if( programs != null )
+ if ( programs != null )
{
dout.writeInt( programs.size() );
- for ( int i=0;i< programs.size();i++ )
+ for ( int i = 0; i < programs.size(); i++ )
{
- ((Program)programs.elementAt( i )).serialize( dout );
+ ((Program) programs.elementAt( i )).serialize( dout );
}
}
else
{
dout.writeInt( 0 );
}
-
+
// Write Relationships
if ( relationships != null )
{
dout.writeInt( relationships.size() );
- for ( int i=0;i< relationships.size();i++ )
+ for ( int i = 0; i < relationships.size(); i++ )
{
- ((Relationship)relationships.elementAt( i )).serialize( dout );
+ ((Relationship) relationships.elementAt( i )).serialize( dout );
}
}
else
{
dout.writeInt( 0 );
}
-
+
// Write Enrolled Programs
if ( enrollmentPrograms != null )
{
dout.writeInt( enrollmentPrograms.size() );
- for ( int i=0;i< enrollmentPrograms.size();i++ )
+ for ( int i = 0; i < enrollmentPrograms.size(); i++ )
{
- ((Program)enrollmentPrograms.elementAt( i )).serialize( dout );
+ ((Program) enrollmentPrograms.elementAt( i )).serialize( dout );
}
}
else
{
dout.writeInt( 0 );
}
-
+
// Write Enrolled Relationships
if ( enrollmentRelationships != null )
{
dout.writeInt( enrollmentRelationships.size() );
- for ( int i=0;i< enrollmentRelationships.size();i++ )
+ for ( int i = 0; i < enrollmentRelationships.size(); i++ )
{
- ((Relationship)enrollmentRelationships.elementAt( i )).serialize( dout );
+ ((Relationship) enrollmentRelationships.elementAt( i )).serialize( dout );
}
}
else
=== modified file 'src/org/hisp/dhis/mobile/model/PatientAttribute.java'
--- src/org/hisp/dhis/mobile/model/PatientAttribute.java 2012-07-12 02:34:52 +0000
+++ src/org/hisp/dhis/mobile/model/PatientAttribute.java 2013-09-10 07:17:17 +0000
@@ -21,6 +21,7 @@
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.util.Vector;
public class PatientAttribute
implements DataStreamSerializable // Comparable
@@ -30,6 +31,10 @@
private String value;
+ private String type;
+
+ private Vector predefinedValues;
+
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -69,6 +74,26 @@
this.value = value;
}
+ public String getType()
+ {
+ return type;
+ }
+
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+
+ public Vector getPredefinedValues()
+ {
+ return predefinedValues;
+ }
+
+ public void setPredefinedValues( Vector predefinedValues )
+ {
+ this.predefinedValues = predefinedValues;
+ }
+
public boolean equals( PatientAttribute patientAttribute )
{
if ( this.name.equals( patientAttribute.getName() ) && this.value.equals( patientAttribute.getValue() ) )
@@ -91,6 +116,13 @@
{
dout.writeUTF( name );
dout.writeUTF( value );
+ dout.writeUTF( type );
+
+ dout.writeInt( predefinedValues.size() );
+ for ( int i = 0; i < predefinedValues.size(); i++ )
+ {
+ dout.writeUTF( (String) predefinedValues.elementAt( i ) );
+ }
}
public void deSerialize( DataInputStream din )
@@ -98,6 +130,15 @@
{
this.setName( din.readUTF() );
this.setValue( din.readUTF() );
+ this.setType( din.readUTF() );
+
+ int optionSize = din.readInt();
+ predefinedValues = new Vector();
+
+ for ( int i = 0; i < optionSize; i++ )
+ {
+ predefinedValues.addElement( din.readUTF() );
+ }
}
}
=== modified file 'src/org/hisp/dhis/mobile/recordstore/ProgramRecordStore.java'
--- src/org/hisp/dhis/mobile/recordstore/ProgramRecordStore.java 2013-09-07 13:31:02 +0000
+++ src/org/hisp/dhis/mobile/recordstore/ProgramRecordStore.java 2013-09-10 07:17:17 +0000
@@ -40,13 +40,13 @@
{
public static final String PROGRAM_DB = "PROGRAM";
- public static boolean savePrograms( Vector programVector)
+ public static boolean savePrograms( Vector programVector )
throws RecordStoreFullException, RecordStoreNotFoundException, RecordStoreException, IOException
{
for ( int i = 0; i < programVector.size(); i++ )
{
Program program = (Program) programVector.elementAt( i );
- if ( !saveProgram( program) )
+ if ( !saveProgram( program ) )
{
return false;
}
@@ -203,4 +203,33 @@
}
return modelList;
}
+
+ public static Vector getAllProgram()
+ throws RecordStoreFullException, RecordStoreNotFoundException, RecordStoreException, IOException
+ {
+ Vector programs = new Vector();
+ RecordStore recordStore = null;
+ RecordEnumeration recordEnumeration = null;
+
+ try
+ {
+ recordStore = RecordStore.openRecordStore( PROGRAM_DB, true );
+ recordEnumeration = recordStore.enumerateRecords( null, null, false );
+ while ( recordEnumeration.hasNextElement() )
+ {
+ Program program = new Program();
+ SerializationUtil.deSerialize( program, recordEnumeration.nextRecord() );
+ programs.addElement( program );
+ }
+
+ }
+ finally
+ {
+ recordEnumeration.destroy();
+ recordStore.closeRecordStore();
+ System.gc();
+ }
+
+ return programs;
+ }
}
=== modified file 'src/org/hisp/dhis/mobile/view/LoginView.java'
--- src/org/hisp/dhis/mobile/view/LoginView.java 2013-09-06 13:27:45 +0000
+++ src/org/hisp/dhis/mobile/view/LoginView.java 2013-09-10 07:17:17 +0000
@@ -48,9 +48,9 @@
private static String DEFAULT_DHIS_URL = "http://localhost:8080/dhis";
- private static String DEFAULT_USERNAME = "mobile";
+ private static String DEFAULT_USERNAME = "long";
- private static String DEFAULT_PASSWORD = "district";
+ private static String DEFAULT_PASSWORD = "District1";
public static final String MOBILE_PATH = "api/mobile/2.10/LWUIT";
=== modified file 'src/org/hisp/dhis/mobile/view/PersonRegistrationView.java'
--- src/org/hisp/dhis/mobile/view/PersonRegistrationView.java 2013-09-06 13:27:45 +0000
+++ src/org/hisp/dhis/mobile/view/PersonRegistrationView.java 2013-09-10 07:17:17 +0000
@@ -23,6 +23,7 @@
import com.sun.lwuit.ComboBox;
import com.sun.lwuit.Command;
+import com.sun.lwuit.Component;
import com.sun.lwuit.Dialog;
import com.sun.lwuit.Form;
import com.sun.lwuit.Label;
@@ -273,7 +274,7 @@
getPersonRegistrationForm();
personRegistrationForm.removeAll();
- fullNameLabel = new Label( Text.FULL_NAME() + " (*)" );
+ fullNameLabel = new Label( "MNCH Number(*)" );
genderLabel = new Label( Text.GENDER() );
dateOfBirthLabel = new Label( Text.DATE_OF_BIRTH() + " (*)" );
phoneNumberLabel = new Label( Text.PHONE_NUMBER() );
@@ -391,12 +392,32 @@
patientAttribute.getName().length() - 1 ) );
this.patientAttributeLabel = new Label( patientAttribute.getName() );
- this.patientAttributeTextField = new TextField();
- this.patientAttributeTextField.setLabelForComponent( patientAttributeLabel );
-
personRegistrationForm.addComponent( patientAttributeLabel );
- personRegistrationForm.addComponent( patientAttributeTextField );
- patientAttributeValueVector.addElement( patientAttributeTextField );
+
+ if ( patientAttribute.getType().equals( "bool" ) )
+ {
+ String[] option = { "Option", "Yes", "No" };
+ ComboBox comboBox = new ComboBox( option );
+ comboBox.setLabelForComponent( patientAttributeLabel );
+
+ personRegistrationForm.addComponent( comboBox );
+ patientAttributeValueVector.addElement( comboBox );
+ }
+ else
+ {
+ this.patientAttributeTextField = new TextField();
+ this.patientAttributeTextField.setLabelForComponent( patientAttributeLabel );
+
+ if ( patientAttribute.getType().equals( "number" ) )
+ {
+ patientAttributeTextField.setConstraint( TextField.NUMERIC );
+ patientAttributeTextField.setInputModeOrder( new String[] { "123" } );
+ }
+
+ personRegistrationForm.addComponent( patientAttributeTextField );
+ patientAttributeValueVector.addElement( patientAttributeTextField );
+ }
+
}
}
else
@@ -408,9 +429,16 @@
patientAttribute.getName().length() - 1 ) );
this.patientAttributeLabel = new Label( patientAttribute.getName() );
+
this.patientAttributeTextField = new TextField();
this.patientAttributeTextField.setLabelForComponent( patientAttributeLabel );
+ if ( patientAttribute.getType().equals( "number" ) )
+ {
+ patientAttributeTextField.setConstraint( TextField.NUMERIC );
+ patientAttributeTextField.setInputModeOrder( new String[] { "123" } );
+ }
+
personRegistrationForm.addComponent( patientAttributeLabel );
personRegistrationForm.addComponent( patientAttributeTextField );
patientAttributeValueVector.addElement( patientAttributeTextField );
@@ -739,22 +767,39 @@
{
for ( int i = 0; i < this.patientAttributeValueVector.size(); i++ )
{
- String rqAt = "" + this.requireAttributeVector.elementAt( i );
- TextField field = (TextField) this.patientAttributeValueVector.elementAt( i );
- int endIndex = field.getLabelForComponent().getText().indexOf( "(" );
+ String value = null;
+ Component field = (Component) this.patientAttributeValueVector.elementAt( i );
+
+ if ( this.patientAttributeValueVector.elementAt( i ) instanceof TextField )
+ {
+ TextField textField = (TextField) this.patientAttributeValueVector.elementAt( i );
+ value = textField.getText();
+ }
+ else
+ {
+ ComboBox comboBox = (ComboBox) this.patientAttributeValueVector.elementAt( i );
+ value = (String) comboBox.getSelectedItem();
+ if ( value.equalsIgnoreCase( "Yes" ) )
+ {
+ value = "true";
+ }
+ else if ( value.equalsIgnoreCase( "No" ) )
+ {
+ value = "false";
+ }
+ else
+ {
+ value = "";
+ }
+ }
+
String name = "";
- if ( rqAt.equals( ")" ) )
- {
- name = field.getLabelForComponent().getText().substring( 0, endIndex ).trim();
- }
- else
- {
- name = field.getLabelForComponent().getText().toString().trim();
- }
-
+ name = field.getLabelForComponent().getText().toString().trim();
PatientAttribute patientAttribute = new PatientAttribute();
patientAttribute.setName( name );
- patientAttribute.setValue( field.getText() );
+ patientAttribute.setValue( value );
+ patientAttribute.setType( "" );
+ patientAttribute.setPredefinedValues( new Vector() );
patientAttributeValueVector.setElementAt( patientAttribute, i );
}
@@ -805,7 +850,6 @@
getRequiredLabel().setText( "(*) : Required Field" );
getDobWrongFortmatLabel().setText( Text.DOB_WRONG_FORMAT() );
getPersonRegistrationForm().show();
- System.out.println( "Come here . . ." );
}
else
{
@@ -917,24 +961,40 @@
{
for ( int i = 0; i < this.patientAttributeValueVector.size(); i++ )
{
- String rqAt = "" + this.requireAttributeVector.elementAt( i );
- TextField field = (TextField) this.patientAttributeValueVector.elementAt( i );
- int endIndex = field.getLabelForComponent().getText().indexOf( "(" );
+ String value = null;
+ Component field = (Component) this.patientAttributeValueVector.elementAt( i );
+
+ if ( this.patientAttributeValueVector.elementAt( i ) instanceof TextField )
+ {
+ TextField textField = (TextField) this.patientAttributeValueVector.elementAt( i );
+ value = textField.getText();
+ }
+ else
+ {
+ ComboBox comboBox = (ComboBox) this.patientAttributeValueVector.elementAt( i );
+ value = (String) comboBox.getSelectedItem();
+ if ( value.equalsIgnoreCase( "Yes" ) )
+ {
+ value = "true";
+ }
+ else if ( value.equalsIgnoreCase( "No" ) )
+ {
+ value = "false";
+ }
+ else
+ {
+ value = "";
+ }
+ }
+
String name = "";
- if ( rqAt.equals( ")" ) )
- {
- name = field.getLabelForComponent().getText().substring( 0, endIndex ).trim();
- }
- else
- {
- name = field.getLabelForComponent().getText().toString().trim();
- }
-
+ name = field.getLabelForComponent().getText().toString().trim();
PatientAttribute patientAttribute = new PatientAttribute();
patientAttribute.setName( name );
- patientAttribute.setValue( field.getText() );
+ patientAttribute.setValue( value );
+ patientAttribute.setType( "" );
+ patientAttribute.setPredefinedValues( new Vector() );
patientAttributeValueVector.setElementAt( patientAttribute, i );
-
}
patient.setPatientAttValues( patientAttributeValueVector );
=== modified file 'src/org/hisp/dhis/mobile/view/ProgramStageListView.java'
--- src/org/hisp/dhis/mobile/view/ProgramStageListView.java 2013-06-20 08:18:17 +0000
+++ src/org/hisp/dhis/mobile/view/ProgramStageListView.java 2013-09-10 07:17:17 +0000
@@ -11,9 +11,7 @@
import org.hisp.dhis.mobile.model.ProgramStage;
import org.hisp.dhis.mobile.ui.Text;
-import com.sun.lwuit.Button;
import com.sun.lwuit.Command;
-import com.sun.lwuit.Component;
import com.sun.lwuit.Container;
import com.sun.lwuit.Form;
import com.sun.lwuit.Image;
@@ -22,7 +20,6 @@
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.layouts.BoxLayout;
-import com.sun.lwuit.layouts.FlowLayout;
import com.sun.lwuit.layouts.GridLayout;
import com.sun.lwuit.plaf.Style;
=== added file 'src/org/hisp/dhis/mobile/view/RegistrationProgramSelectionView.java'
--- src/org/hisp/dhis/mobile/view/RegistrationProgramSelectionView.java 1970-01-01 00:00:00 +0000
+++ src/org/hisp/dhis/mobile/view/RegistrationProgramSelectionView.java 2013-09-10 07:17:17 +0000
@@ -0,0 +1,151 @@
+package org.hisp.dhis.mobile.view;
+
+import java.util.Vector;
+
+import org.hisp.dhis.mobile.connection.ConnectionManager;
+import org.hisp.dhis.mobile.midlet.DHISMIDlet;
+import org.hisp.dhis.mobile.midlet.NameBasedMIDlet;
+import org.hisp.dhis.mobile.model.OrgUnit;
+import org.hisp.dhis.mobile.model.Program;
+import org.hisp.dhis.mobile.model.ProgramStage;
+import org.hisp.dhis.mobile.recordstore.OrgUnitRecordStore;
+import org.hisp.dhis.mobile.recordstore.PatientAttributeRecordStore;
+import org.hisp.dhis.mobile.recordstore.PatientIdentifierRecordStore;
+import org.hisp.dhis.mobile.recordstore.ProgramRecordStore;
+import org.hisp.dhis.mobile.ui.Text;
+
+import com.sun.lwuit.Command;
+import com.sun.lwuit.Form;
+import com.sun.lwuit.List;
+import com.sun.lwuit.animations.CommonTransitions;
+import com.sun.lwuit.events.ActionEvent;
+import com.sun.lwuit.events.ActionListener;
+import com.sun.lwuit.layouts.BoxLayout;
+
+public class RegistrationProgramSelectionView
+ extends AbstractView
+ implements ActionListener
+{
+
+ private Form registrationProgramSelectionForm;
+
+ private List programList;
+
+ private Command backCommand;
+
+ private NameBasedMIDlet nameBasedMIDlet;
+
+ private Vector programVector;
+
+ public RegistrationProgramSelectionView( DHISMIDlet dhisMIDlet )
+ {
+ super( dhisMIDlet );
+ this.nameBasedMIDlet = (NameBasedMIDlet) this.dhisMIDlet;
+ }
+
+ public void actionPerformed( ActionEvent ae )
+ {
+ if ( ae.getSource() == this.getProgramList() )
+ {
+ Program selectedProgram = (Program) programVector.elementAt( this.getProgramList().getSelectedIndex() );
+ try
+ {
+ Vector orgUnitVector = OrgUnitRecordStore.loadAllOrgUnit();
+
+ dhisMIDlet.setCurrentOrgUnit( ((OrgUnit) orgUnitVector.elementAt( 0 )) );
+ if ( PatientIdentifierRecordStore.loadPatientIdentifiers().size() == 0
+ && PatientAttributeRecordStore.loadPatientAttribute().size() == 0 )
+ {
+ ConnectionManager.setUrl( nameBasedMIDlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
+ ConnectionManager.getVariesInfo();
+ }
+ else
+ {
+ ConnectionManager.setUrl( nameBasedMIDlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
+ }
+
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+ else
+ {
+ nameBasedMIDlet.getTrackingMainMenuView().showView();
+ }
+ }
+
+ public void prepareView()
+ {
+ programVector = null;
+ programList = null;
+ try
+ {
+ programVector = ProgramRecordStore.getAllProgram();
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+
+ for ( int i = 0; i < programVector.size(); i++ )
+ {
+ Program program = (Program) programVector.elementAt( i );
+ ProgramStage firstStage = (ProgramStage) program.getProgramStages().elementAt( 0 );
+
+ if ( !firstStage.isSingleEvent() )
+ {
+ this.getProgramList().addItem( program.getName() );
+ }
+ }
+ }
+
+ public void showView()
+ {
+ this.getRegistrationProgramSelectionForm().show();
+
+ }
+
+ public List getProgramList()
+ {
+ if ( programList == null )
+ {
+ programList = new List();
+ programList.setSmoothScrolling( true );
+ programList.setFixedSelection( List.FIXED_NONE );
+ programList.addActionListener( this );
+ }
+ return programList;
+ }
+
+ public Command getBackCommand()
+ {
+ if ( backCommand == null )
+ {
+ backCommand = new Command( Text.BACK() );
+ }
+ return backCommand;
+ }
+
+ public Form getRegistrationProgramSelectionForm()
+ {
+ if ( registrationProgramSelectionForm == null )
+ {
+ registrationProgramSelectionForm = new Form( "Select Program" );
+ registrationProgramSelectionForm.setLayout( new BoxLayout( BoxLayout.Y_AXIS ) );
+ registrationProgramSelectionForm.setTransitionOutAnimator( CommonTransitions.createSlide(
+ CommonTransitions.SLIDE_HORIZONTAL, true, 200 ) );
+ registrationProgramSelectionForm.addCommandListener( this );
+ registrationProgramSelectionForm.addComponent( this.getProgramList() );
+ registrationProgramSelectionForm.addCommand( new Command( "Back" ) );
+ }
+ return registrationProgramSelectionForm;
+ }
+
+ public void setRegistrationProgramSelectionForm( Form registrationProgramSelectionForm )
+ {
+ this.registrationProgramSelectionForm = registrationProgramSelectionForm;
+ }
+
+}
=== modified file 'src/org/hisp/dhis/mobile/view/TrackingDataEntryView.java'
--- src/org/hisp/dhis/mobile/view/TrackingDataEntryView.java 2013-09-07 12:59:05 +0000
+++ src/org/hisp/dhis/mobile/view/TrackingDataEntryView.java 2013-09-10 07:17:17 +0000
@@ -42,6 +42,7 @@
import org.hisp.dhis.mobile.ui.Text;
import org.hisp.dhis.mobile.util.TrackingUtils;
+import com.sun.lwuit.CheckBox;
import com.sun.lwuit.ComboBox;
import com.sun.lwuit.Command;
import com.sun.lwuit.Component;
@@ -88,6 +89,8 @@
private TextField reportDateField = new TextField();
+ private CheckBox completeStatusCheckBox;
+
public TrackingDataEntryView( DHISMIDlet dhisMIDlet )
{
super( dhisMIDlet );
@@ -136,6 +139,10 @@
}
}
}
+
+ // Add complete check box
+ completeStatusCheckBox = new CheckBox( "Complete" );
+ mainForm.addComponent( completeStatusCheckBox );
}
else if ( programStage != null )
{
@@ -162,6 +169,14 @@
mainForm.addComponent( getComponentByType( ((ProgramStageDataElement) programStage.getDataElements()
.elementAt( i )) ) );
}
+
+ // Add complete check box
+ completeStatusCheckBox = new CheckBox( "Complete" );
+ if ( programStage.isCompleted() )
+ {
+ completeStatusCheckBox.setSelected( true );
+ }
+ mainForm.addComponent( completeStatusCheckBox );
}
/*
@@ -266,7 +281,7 @@
uploadProgramStage.setId( programStage.getId() );
uploadProgramStage.setName( programStage.getName() );
- uploadProgramStage.setCompleted( programStage.isCompleted() );
+ uploadProgramStage.setCompleted( completeStatusCheckBox.isSelected() );
uploadProgramStage.setRepeatable( programStage.isRepeatable() );
uploadProgramStage.setSingleEvent( programStage.isSingleEvent() );
uploadProgramStage.setDataElements( programStage.getDataElements() );
=== modified file 'src/org/hisp/dhis/mobile/view/TrackingMainMenuView.java'
--- src/org/hisp/dhis/mobile/view/TrackingMainMenuView.java 2013-09-08 12:38:35 +0000
+++ src/org/hisp/dhis/mobile/view/TrackingMainMenuView.java 2013-09-10 07:17:17 +0000
@@ -105,39 +105,36 @@
}
if ( nextPageName.equals( "Add Person" ) )
{
-
- try
- {
- Vector orgUnitVector = OrgUnitRecordStore.loadAllOrgUnit();
- if ( orgUnitVector.size() > 1 )
- {
- nameBasedMidlet.getWaitingView().showView();
- nameBasedMidlet.getPersonRegistrationOrgUnitSelectView().showView();
- }
- else
- {
- dhisMIDlet.setCurrentOrgUnit( ((OrgUnit) orgUnitVector.elementAt( 0 )) );
- if ( PatientIdentifierRecordStore.loadPatientIdentifiers().size() == 0
- && PatientAttributeRecordStore.loadPatientAttribute().size() == 0 )
- {
- ConnectionManager.setUrl( nameBasedMidlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
- ConnectionManager.getVariesInfo();
- }
- else
- {
- ConnectionManager.setUrl( nameBasedMidlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
- }
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
+// try
+// {
+// Vector orgUnitVector = OrgUnitRecordStore.loadAllOrgUnit();
+// if ( orgUnitVector.size() > 1 )
+// {
+// nameBasedMidlet.getWaitingView().showView();
+// nameBasedMidlet.getPersonRegistrationOrgUnitSelectView().showView();
+// }
+// else
+// {
+// dhisMIDlet.setCurrentOrgUnit( ((OrgUnit) orgUnitVector.elementAt( 0 )) );
+// if ( PatientIdentifierRecordStore.loadPatientIdentifiers().size() == 0
+// && PatientAttributeRecordStore.loadPatientAttribute().size() == 0 )
+// {
+// ConnectionManager.setUrl( nameBasedMidlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
+// ConnectionManager.getVariesInfo();
+// }
+// else
+// {
+// ConnectionManager.setUrl( nameBasedMidlet.getCurrentOrgUnit().getGetVariesInfoUrl() );
+// }
+// }
+// }
+// catch ( Exception e )
+// {
+// e.printStackTrace();
+// }
+ nameBasedMidlet.getRegistrationProgramSelectionView().prepareView();
+ nameBasedMidlet.getRegistrationProgramSelectionView().showView();
}
- /*
- * if ( nextPageName.equals( "Update Contact" ) ) {
- * nameBasedMidlet.getUpdateContactView().showView(); }
- */
if ( nextPageName.equals( "Anonymous" ) )
{
nameBasedMidlet.getWaitingView().showView();