Skip to content

Commit

Permalink
WD|Failed save form #4
Browse files Browse the repository at this point in the history
  • Loading branch information
baksosapi committed Nov 24, 2017
2 parents a0f396f + 159236b commit ea1a63a
Show file tree
Hide file tree
Showing 279 changed files with 25,102 additions and 98 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,5 @@ opensrp-path/
/opensrp-app/
/opensrp-bidan2/
/opensrp-path/
/opensrp-vaksinator/
opensrp-vaksinator/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# opensrp-client-sid
SID Client Application
# opensrp-client-sid Vaksinator Application
SID Vaksinator Client Application
[![Build Status](https://travis-ci.org/OpenSRP/opensrp-client-sid.svg?branch=master)](https://travis-ci.org/OpenSRP/opensrp-client-sid) [![Coverage Status](https://coveralls.io/repos/github/OpenSRP/opensrp-client-sid/badge.svg?branch=master)](https://coveralls.io/github/OpenSRP/opensrp-client-sid?branch=master)

[![Dristhi](https://raw.githubusercontent.com/OpenSRP/opensrp-client/master/opensrp-app/res/drawable-mdpi/login_logo.png)](https://smartregister.atlassian.net/wiki/dashboard.action)
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.content.DialogInterface;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
Expand All @@ -11,15 +12,17 @@
import com.flurry.android.FlurryAgent;

import org.smartregister.bidan_cloudant.BuildConfig;
import org.smartregister.bidan_cloudant.service.SaveService;
import org.smartregister.bidan_cloudant.utils.VaksinatorFormUtils;
import org.smartregister.domain.form.FieldOverrides;
import org.smartregister.domain.form.FormSubmission;
import org.smartregister.bidan_cloudant.R;
import org.smartregister.bidan_cloudant.fragment.NativeKISmartRegisterFragment;
import org.smartregister.bidan_cloudant.pageradapter.BaseRegisterActivityPagerAdapter;
import org.smartregister.enketo.listener.DisplayFormListener;
import org.smartregister.provider.SmartRegisterClientsProvider;
import org.smartregister.service.ZiggyService;
import org.smartregister.sync.ClientProcessor;
import org.smartregister.util.FormUtils;
import org.smartregister.view.activity.SecuredNativeSmartRegisterActivity;
import org.smartregister.view.dialog.DialogOption;
import org.smartregister.view.dialog.LocationSelectorDialogFragment;
Expand All @@ -46,9 +49,10 @@
/**
* Created by Dimas Ciputra on 2/18/15.
*/
public class NativeKISmartRegisterActivity extends SecuredNativeSmartRegisterActivity implements LocationSelectorDialogFragment.OnLocationSelectedListener{
SimpleDateFormat timer = new SimpleDateFormat("hh:mm:ss");
public class NativeKISmartRegisterActivity extends SecuredNativeSmartRegisterActivity
implements LocationSelectorDialogFragment.OnLocationSelectedListener, DisplayFormListener {
public static final String TAG = NativeKISmartRegisterActivity.class.getSimpleName();

@Bind(R.id.view_pager)
OpenSRPViewPager mPager;
private FragmentPagerAdapter mPagerAdapter;
Expand All @@ -57,18 +61,22 @@ public class NativeKISmartRegisterActivity extends SecuredNativeSmartRegisterAct
private String[] formNames = new String[]{};
private android.support.v4.app.Fragment mBaseFragment = null;

SimpleDateFormat timer = new SimpleDateFormat("hh:mm:ss");

ZiggyService ziggyService;

// WD need for initialize queries
NativeKISmartRegisterFragment nf = new NativeKISmartRegisterFragment();

Map<String, String> FS = new HashMap<>();

ZiggyService ziggyService;
SaveService saveService;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ButterKnife.bind(this);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Expand All @@ -80,14 +88,13 @@ protected void onCreate(Bundle savedInstanceState) {
// FlurryFacade.logEvent("kohort_ibu_dashboard");
formNames = this.buildFormNameList();

// mBaseFragment = new NativeKISmartRegisterFragment(); // Relace by followed
// WD
// mBaseFragment = new NativeKISmartRegisterFragment(); // Relace by followed
Bundle extras = getIntent().getExtras();
if (extras != null){
boolean mode_face = extras.getBoolean("org.smartregister.bidan_cloudant.face.face_mode");
String base_id = extras.getString("org.smartregister.bidan_cloudant.face.base_id");
double proc_time = extras.getDouble("org.smartregister.bidan_cloudant.face.proc_time");
// Log.e(TAG, "onCreate: "+proc_time );

if (mode_face){
nf.setCriteria(base_id);
Expand All @@ -98,11 +105,8 @@ protected void onCreate(Bundle savedInstanceState) {
showToast("id "+base_id);
AlertDialog.Builder builder= new AlertDialog.Builder(this);
builder.setTitle("Is it Right Person ?");
// builder.setTitle("Is it Right Clients ?" + base_id);
// builder.setTitle("Is it Right Clients ?"+ pc.getName());

// TODO : get name by base_id
// builder.setMessage("Process Time : " + proc_time + " s");

builder.setNegativeButton("CANCEL", listener);
builder.setPositiveButton("YES", listener);
Expand All @@ -124,17 +128,12 @@ public void onPageSelected(int position) {
}
});

// ziggyService = context().ziggyService();

/* if(LoginActivity.generator.uniqueIdController().needToRefillUniqueId(LoginActivity.generator.UNIQUE_ID_LIMIT)) {
String toastMessage = "need to refill unique id, its only "+
LoginActivity.generator.uniqueIdController().countRemainingUniqueId()+
" remaining";
Toast.makeText(context().applicationContext(), toastMessage, Toast.LENGTH_LONG).show();
}*/

ziggyService = context().ziggyService();

saveService = new SaveService(context().ziggyFileLoader(), context().formDataRepository(),
context().formSubmissionRouter());
}

public void onPageChanged(int page){
setRequestedOrientation(page == 0 ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
LoginActivity.setLanguage();
Expand Down Expand Up @@ -169,13 +168,15 @@ public DialogOption[] getEditOptions() {
new OpenFormOption(getString(R.string.str_register_anc_form), "kartu_anc_registration", formController),
new OpenFormOption(getString(R.string.str_register_child_form), AllConstantsINA.FormNames.ANAK_BAYI_REGISTRATION, formController),
new OpenFormOption(getString(R.string.str_close_ki_form), AllConstantsINA.FormNames.KARTU_IBU_CLOSE, formController),

};


}

@Override
public void OnLocationSelected(String locationJSONString) {
Log.d(TAG, "OnLocationSelected: "+ locationJSONString );

if (BuildConfig.SYNC_WAIT){
if(Support.ONSYNC) {
Toast.makeText(this,"Data still Synchronizing, please wait",Toast.LENGTH_SHORT).show();
Expand All @@ -185,65 +186,24 @@ public void OnLocationSelected(String locationJSONString) {
JSONObject combined = null;

try {
JSONObject locationJSON = new JSONObject(locationJSONString);
// JSONObject uniqueId = new JSONObject(LoginActivity.generator.uniqueIdController().getUniqueIdJson());

combined = locationJSON;
// Iterator<String> iter = uniqueId.keys();

/* while (iter.hasNext()) {
String key = iter.next();
combined.put(key, uniqueId.get(key));
}*/
combined = new JSONObject(locationJSONString);

} catch (JSONException e) {
e.printStackTrace();
}

if (combined != null) {

FieldOverrides fieldOverrides = new FieldOverrides(combined.toString());

startFormActivity(AllConstantsINA.FormNames.KARTU_IBU_REGISTRATION, null, fieldOverrides.getJSONString());
}
}

@Override
public void saveFormSubmission(String formSubmission, String id, String formName, JSONObject fieldOverrides){
Log.v("fieldoverride", fieldOverrides.toString());
// save the form
try{
FormUtils formUtils = FormUtils.getInstance(getApplicationContext());
FormSubmission submission = formUtils.generateFormSubmisionFromXMLString(id, formSubmission, formName, fieldOverrides);
ziggyService.saveForm(getParams(submission), submission.instance());
ClientProcessor.getInstance(getApplicationContext()).processClient();

context().formSubmissionService().updateFTSsearch(submission);
context().formSubmissionRouter().handleSubmission(submission, formName);

if(formName.equals("kartu_ibu_registration")){
// saveuniqueid();
}
//switch to forms list fragment
switchToBaseFragment(formSubmission); // Unnecessary!! passing on data

}catch (Exception e){
// TODO: show error dialog on the formfragment if the submission fails
DisplayFormFragment displayFormFragment = getDisplayFormFragmentAtIndex(currentPage);
if (displayFormFragment != null) {
displayFormFragment.hideTranslucentProgressDialog();
}
e.printStackTrace();
}
//end capture flurry log for FS
String end = timer.format(new Date());
Map<String, String> FS = new HashMap<String, String>();
FS.put("end", end);
FlurryAgent.logEvent(formName,FS, true);
}

@Override
public void startFormActivity(String formName, String entityId, String metaData) {
// FlurryFacade.logEvent(formName);
// FlurryFacade.logEvent(formName);
if (BuildConfig.SYNC_WAIT){
if(Support.ONSYNC) {
Toast.makeText(this,"Data still Synchronizing, please wait",Toast.LENGTH_SHORT).show();
Expand All @@ -255,22 +215,28 @@ public void startFormActivity(String formName, String entityId, String metaData)
FS.put("start", start);
FlurryAgent.logEvent(formName,FS, true );
// Log.v("fieldoverride", metaData);

// Call Form here
try {
int formIndex = FormUtils.getIndexForFormName(formName, formNames) + 1; // add the offset
int formIndex = VaksinatorFormUtils.getIndexForFormName(formName, formNames) + 1; // add the offset
if (entityId != null || metaData != null){
String data = null;
String data;
//check if there is previously saved data for the form
data = getPreviouslySavedDataForForm(formName, metaData, entityId);
if (data == null){
data = FormUtils.getInstance(getApplicationContext()).generateXMLInputForFormWithEntityId(entityId, formName, metaData);
data = VaksinatorFormUtils.getInstance(getApplicationContext()).
generateXMLInputForFormWithEntityId(entityId, formName, metaData);
}

DisplayFormFragment displayFormFragment = getDisplayFormFragmentAtIndex(formIndex);
Log.e(TAG, "activatingForm: data="+data);

if (displayFormFragment != null) {
displayFormFragment.setFormData(data);
displayFormFragment.setRecordId(entityId);
displayFormFragment.setFieldOverides(metaData);
}

}

mPager.setCurrentItem(formIndex, false); //Don't animate the view on orientation change the view disapears
Expand All @@ -281,16 +247,41 @@ public void startFormActivity(String formName, String entityId, String metaData)

}

/* public void saveuniqueid() {
@Override
public void saveFormSubmission(String formSubmission, String id, String formName, JSONObject fieldOverrides){
Log.d("fieldoverride", fieldOverrides.toString());
Log.e("fieldoverride", fieldOverrides.toString());

// save the form
try {
JSONObject uniqueId = new JSONObject(LoginActivity.generator.uniqueIdController().getUniqueIdJson());
String uniq = uniqueId.getString("unique_id");
// LoginActivity.generator.uniqueIdController().updateCurrentUniqueId(uniq);
VaksinatorFormUtils formUtils = VaksinatorFormUtils.getInstance(getApplicationContext());
FormSubmission submission = formUtils.generateFormSubmisionFromXMLString(id, formSubmission, formName, fieldOverrides);
saveService.saveForm(getParams(submission), submission.instance());
ClientProcessor.getInstance(getApplicationContext()).processClient();

} catch (JSONException e) {
context().formSubmissionService().updateFTSsearch(submission);
context().formSubmissionRouter().handleSubmission(submission, formName);

if(formName.equals("kartu_ibu_registration")){
// saveuniqueid();
}
//switch to forms list fragment
switchToBaseFragment(formSubmission); // Unnecessary!! passing on data

} catch (Exception e){
// TODO: show error dialog on the formfragment if the submission fails
DisplayFormFragment displayFormFragment = getDisplayFormFragmentAtIndex(currentPage);
if (displayFormFragment != null) {
displayFormFragment.hideTranslucentProgressDialog();
}
e.printStackTrace();
}
}*/
//end capture flurry log for FS
String end = timer.format(new Date());
Map<String, String> FS = new HashMap<String, String>();
FS.put("end", end);
FlurryAgent.logEvent(formName,FS, true);
}

public void switchToBaseFragment(final String data){
final int prevPageIndex = currentPage;
Expand All @@ -317,7 +308,7 @@ public void run() {

}

public android.support.v4.app.Fragment findFragmentByPosition(int position) {
public Fragment findFragmentByPosition(int position) {
FragmentPagerAdapter fragmentPagerAdapter = mPagerAdapter;
return getSupportFragmentManager().findFragmentByTag("android:switcher:" + mPager.getId() + ":" + fragmentPagerAdapter.getItemId(position));
}
Expand All @@ -329,9 +320,10 @@ public DisplayFormFragment getDisplayFormFragmentAtIndex(int index) {
@Override
protected void onPause() {
super.onPause();

retrieveAndSaveUnsubmittedFormData();
String KIEnd = timer.format(new Date());
Map<String, String> KI = new HashMap<String, String>();
Map<String, String> KI = new HashMap< >();
KI.put("end", KIEnd);
FlurryAgent.logEvent("KI_dashboard",KI, true );
}
Expand All @@ -349,17 +341,13 @@ public void onBackPressed() {
}

private String[] buildFormNameList(){
List<String> formNames = new ArrayList<String>();
List<String> formNames = new ArrayList<>();
formNames.add(AllConstantsINA.FormNames.KARTU_IBU_REGISTRATION);
formNames.add(AllConstantsINA.FormNames.KOHORT_KB_PELAYANAN);
formNames.add(AllConstantsINA.FormNames.KARTU_IBU_ANC_REGISTRATION);
formNames.add(AllConstantsINA.FormNames.ANAK_BAYI_REGISTRATION);
formNames.add(AllConstantsINA.FormNames.KARTU_IBU_CLOSE);

DialogOption[] options = getEditOptions();
//for (int i = 0; i < options.length; i++) {
// formNames.add(((OpenFormOption) options[i]).getFormName());
// }
return formNames.toArray(new String[formNames.size()]);
}

Expand Down Expand Up @@ -390,12 +378,7 @@ public void onClick(DialogInterface dialog, int which) {
nf.setCriteria("");
Log.e(TAG, "onClick: NO ");
FlurryAgent.logEvent(TAG + "search_by_face NOK", FS, true);
// onBackPressed();
//
// Intent intent= new Intent(NativeKISmartRegisterActivity.this, NativeKISmartRegisterActivity.class);
// startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
}
// Toast.makeText(NativeKISmartRegisterActivity.this, mBaseFragment.toString(), Toast.LENGTH_SHORT).show();

}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,9 @@ public void startRegistration() {

}

String uniqueIdJson = LoginActivity.generator.uniqueIdController().getUniqueIdJson();

if (BuildConfig.UNIQUE_ID){
String uniqueIdJson = LoginActivity.generator.uniqueIdController().getUniqueIdJson();
if (uniqueIdJson == null || uniqueIdJson.isEmpty()) {
Toast.makeText(getActivity(), "no unique id", Toast.LENGTH_LONG).show();
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,14 @@ public void onPageSelected(int position) {
}
});

if (BuildConfig.UNIQUE_ID){
if(LoginActivity.generator.uniqueIdController().needToRefillUniqueId(LoginActivity.generator.UNIQUE_ID_LIMIT)) {
String toastMessage = "need to refill unique id, its only "+
LoginActivity.generator.uniqueIdController().countRemainingUniqueId()+
" remaining";
Toast.makeText(context().applicationContext(), toastMessage, Toast.LENGTH_LONG).show();
}

if(LoginActivity.generator.uniqueIdController().needToRefillUniqueId(LoginActivity.generator.UNIQUE_ID_LIMIT)) {
String toastMessage = "need to refill unique id, its only "+
LoginActivity.generator.uniqueIdController().countRemainingUniqueId()+
" remaining";
Toast.makeText(context().applicationContext(), toastMessage, Toast.LENGTH_LONG).show();
}

ziggyService = context().ziggyService();
Expand Down
Loading

0 comments on commit ea1a63a

Please sign in to comment.