Skip to content

Commit

Permalink
Merge branch 'gh-release-android-fixes' into gh-release-1.87.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Flava177 committed Jan 24, 2025
2 parents 6c3d301 + 61bde81 commit c4f4596
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2882,6 +2882,7 @@ public interface Captions {
String SixtyDay_specifySources = "specifySources";
String SixtyDay_productName = "productName";
String SixtyDay_batchNumber = "batchNumber";
String SixtyDay_barcode = "barcode";
String SixtyDay_dateOfManufacture = "dateOfManufacture";
String SixtyDay_expirationDate = "expirationDate";
String SixtyDay_packageSize = "packageSize";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ public class SixtyDayDto extends PseudonymizableDto {
public static final String SPECIFY_SOURCES = "specifySources";
public static final String PRODUCT_NAME = "productName";
public static final String BATCH_NUMBER = "batchNumber";
public static final String BARCODE = "barcode";
public static final String DATE_OF_MANUFACTURE = "dateOfManufacture";
public static final String EXPIRATION_DATE = "expirationDate";
public static final String PACKAGE_SIZE = "packageSize";
Expand Down Expand Up @@ -91,6 +92,7 @@ public class SixtyDayDto extends PseudonymizableDto {
private String specifySources;
private String productName;
private String batchNumber;
private String barcode;
private Date dateOfManufacture;
private Date expirationDate;
private String packageSize;
Expand Down Expand Up @@ -405,4 +407,12 @@ public String getSpecifySources() {
public void setSpecifySources(String specifySources) {
this.specifySources = specifySources;
}

public String getBarcode() {
return barcode;
}

public void setBarcode(String barcode) {
this.barcode = barcode;
}
}
1 change: 1 addition & 0 deletions sormas-api/src/main/resources/captions.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2702,6 +2702,7 @@ specifyFoodsSources =If Yes, specify food(s)
specifySources =If Yes, specify sources(s)
productName =Product Name
batchNumber =Batch/ Lot Number
barcode =Barcode
dateOfManufacture =Date Of Manufacture
expirationDate =Expiration Date
packageSize =Package Size (Grams/ Milliliters)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
// public static final int DATABASE_VERSION = 307;
//public static final int DATABASE_VERSION = 343;
// public static final int DATABASE_VERSION = 410;
public static final int DATABASE_VERSION = 429;
public static final int DATABASE_VERSION = 431;

private static DatabaseHelper instance = null;
private final Context context;
Expand Down Expand Up @@ -4513,6 +4513,10 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
+ " UNIQUE (snapshot ASC, uuid ASC)"
+ ");"
);

case 430:
currentVersion = 430;
getDao(Sample.class).executeRaw("ALTER TABLE sixtyday ADD barcode varchar(255)");
// ATTENTION: break should only be done after last version
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ public class SixtyDay extends PseudonymizableAdo {
private Date dateOfCompletionOfForm;
@Column
private String nameOfHealthFacility;
@Column
private String barcode;

public String getPersonExamineCase() {
return personExamineCase;
Expand Down Expand Up @@ -490,6 +492,14 @@ public void setNameOfHealthFacility(String nameOfHealthFacility) {
this.nameOfHealthFacility = nameOfHealthFacility;
}

public String getBarcode() {
return barcode;
}

public void setBarcode(String barcode) {
this.barcode = barcode;
}

@Transient
public Set<ParalysisSite> getParalysisWeaknessPresentSite() {
if (paralysisWeaknessPresentSite == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ public void fillInnerFromDto(SixtyDay target, SixtyDayDto source) {
target.setFoodTel(source.getFoodTel());
target.setFoodAvailableTesting(source.getFoodAvailableTesting());
target.setLabTestConducted(source.getLabTestConducted());
target.setBarcode(source.getBarcode());
}

@Override
Expand Down Expand Up @@ -134,6 +135,7 @@ public void fillInnerFromAdo(SixtyDayDto target, SixtyDay source) {
target.setFoodTel(source.getFoodTel());
target.setFoodAvailableTesting(source.getFoodAvailableTesting());
target.setLabTestConducted(source.getLabTestConducted());
target.setBarcode(source.getBarcode());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@
import static android.view.View.GONE;
import static android.view.View.VISIBLE;

import android.content.Intent;
import android.content.res.Resources;
import android.view.View;

import androidx.annotation.Nullable;

import com.google.android.gms.common.api.CommonStatusCodes;

import java.util.List;

Expand All @@ -37,6 +43,7 @@
import de.symeda.sormas.app.R;
import de.symeda.sormas.app.backend.caze.Case;
import de.symeda.sormas.app.backend.sixtyday.SixtyDay;
import de.symeda.sormas.app.barcode.BarcodeActivity;
import de.symeda.sormas.app.component.Item;
import de.symeda.sormas.app.databinding.FragmentCaseEditSixtydayLayoutBinding;
import de.symeda.sormas.app.util.DataUtils;
Expand Down Expand Up @@ -107,6 +114,7 @@ public void onLayoutBinding(final FragmentCaseEditSixtydayLayoutBinding contentB
contentBinding.sixtyDayDateOfManufacture.initializeDateField(getFragmentManager());
contentBinding.sixtyDayExpirationDate.initializeDateField(getFragmentManager());
contentBinding.sixtyDayPackagingType.initializeSpinner(packageTypeList);
contentBinding.sixtyDaySpecifySources.setVisibility(GONE);

if (caze.getDisease() != null) {
super.hideFieldsForDisease(caze.getDisease(), contentBinding.mainContent, FormType.SIXTY_DAY_FOLLOW_UP_EDIT);
Expand All @@ -130,6 +138,9 @@ protected void onAfterLayoutBinding(FragmentCaseEditSixtydayLayoutBinding conten
getContentBinding().sixtyDayPackagingTypeOther.setVisibility(VISIBLE);
}

getContentBinding().buttonScanFieldSixtyDayId.setVisibility(GONE);
getContentBinding().sixtyDayHeadingProvide.setVisibility(GONE);

getContentBinding().sixtyDayFoodAvailableTesting.addValueChangedListener( field ->{
YesNoUnknown value = (YesNoUnknown) field.getValue();
if (value == YesNoUnknown.YES) {
Expand All @@ -139,13 +150,29 @@ protected void onAfterLayoutBinding(FragmentCaseEditSixtydayLayoutBinding conten
}
});

if (getContentBinding().sixtyDaySpecifySources.getValue() != null) {
/*if (getContentBinding().sixtyDaySpecifySources.getValue() != null) {
getContentBinding().sixtyDaySpecifySources.setVisibility(VISIBLE);
}
}*/

contentBinding.buttonScanFieldSixtyDayId.setOnClickListener((View v) -> {
Intent intent = new Intent(getContext(), BarcodeActivity.class);
startActivityForResult(intent, BarcodeActivity.RC_BARCODE_CAPTURE);
});
}

@Override
public int getEditLayout() {
return R.layout.fragment_case_edit_sixtyday_layout;
}

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == BarcodeActivity.RC_BARCODE_CAPTURE) {
if (resultCode == CommonStatusCodes.SUCCESS && data != null) {
getContentBinding().sixtyDayBarcode.setValue(data.getStringExtra(BarcodeActivity.BARCODE_RESULT));
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,28 @@

</LinearLayout>

<LinearLayout
android:id="@+id/sixtyDay_scan_field_fieldSixtyDayLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<de.symeda.sormas.app.component.controls.ControlButton
android:id="@+id/button_scan_field_sixtyDay_id"
android:textColor="@color/whiteOpaque"
android:text="@string/scan_field_sample_id"
app:buttonType="@{ControlButtonType.PRIMARY}"
style="@style/ControlFirstOfTwoColumnsStyle" />

<de.symeda.sormas.app.component.controls.ControlTextEditField
android:id="@+id/sixtyDay_barcode"
app:value="@={data.barcode}"
app:dependencyParentField="@{sixtyDayFoodAvailableTesting}"
app:dependencyParentValue="@{YesNoUnknown.YES}"
style="@style/ControlSecondOfTwoColumnsStyle" />

</LinearLayout>

<LinearLayout
android:id="@+id/sixtyDay_manufactureExpirationDate_layout"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ public class SixtyDay extends AbstractDomainObject {
private String address;
private String foodTel;
private String specifySources;
private String barcode;


public String getPersonExamineCase() {
Expand Down Expand Up @@ -407,4 +408,12 @@ public String getSpecifySources() {
public void setSpecifySources(String specifySources) {
this.specifySources = specifySources;
}

public String getBarcode() {
return barcode;
}

public void setBarcode(String barcode) {
this.barcode = barcode;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ public SixtyDay fillOrBuildEntity(SixtyDayDto source, SixtyDay target, boolean c
target.setAddress(source.getAddress());
target.setFoodTel(source.getFoodTel());
target.setSpecifySources(source.getSpecifySources());
target.setBarcode(source.getBarcode());

return target;
}
Expand Down Expand Up @@ -150,6 +151,7 @@ public static SixtyDayDto toDto(SixtyDay sixtyDay) {
target.setAddress(source.getAddress());
target.setFoodTel(source.getFoodTel());
target.setSpecifySources(source.getSpecifySources());
target.setBarcode(source.getBarcode());


return target;
Expand Down
5 changes: 4 additions & 1 deletion sormas-backend/src/main/resources/sql/sormas_schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15227,4 +15227,7 @@ ALTER TABLE afpimmunization ADD COLUMN lastdose DATE;
ALTER TABLE afpimmunization ADD COLUMN dateLastOpvDosesReceivedThroughSia DATE;
ALTER TABLE afpimmunization ADD COLUMN dateLastIpvDosesReceivedThroughSia DATE;

INSERT INTO schema_version(version_number, comment) VALUES (722, 'Dropped and added columns in afpimmunization to change types to date');
INSERT INTO schema_version(version_number, comment) VALUES (722, 'Dropped and added columns in afpimmunization to change types to date');

ALTER TABLE sixtyday ADD COLUMN barcode VARCHAR(255);
INSERT INTO schema_version(version_number, comment) VALUES (723, 'Added barcode to sixtyday(food sample testing)');
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,6 @@ protected void addFields() {
EbsDto.MANUAL_SCANNING_TYPE,
Arrays.asList(ManualScanningType.ONLINE),
true);
FieldHelper.setVisibleWhen(
getFieldGroup(),
Arrays.asList(EbsDto.OTHER_INFORMANT),
EbsDto.CATEGORY_OF_INFORMANT,
Arrays.asList(PersonReporting.OTHER),
true);

regionField.addValueChangeListener(e -> {
RegionReferenceDto region = (RegionReferenceDto) regionField.getValue();
Expand Down Expand Up @@ -339,8 +333,10 @@ protected void addFields() {
}
if (value == PersonReporting.OTHER){
otherInformant.setRequired(true);
otherInformant.setVisible(true);
}else {
otherInformant.setRequired(false);
otherInformant.setVisible(false);
}
Arrays.stream(MediaScannningType.values())
.filter(scanType -> !itemsToAdd.contains(scanType))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ public class SixtyDayForm extends AbstractEditForm<SixtyDayDto>{
loc(PROVIDE_HEADING_LOC)+
fluidRowLocs(SixtyDayDto.SPECIFY_FOODS_SOURCES, SixtyDayDto.SPECIFY_SOURCES) +
fluidRowLocs(SixtyDayDto.PRODUCT_NAME, SixtyDayDto.BATCH_NUMBER) +
fluidRowLocs(6, SixtyDayDto.BARCODE) +
fluidRowLocs(SixtyDayDto.DATE_OF_MANUFACTURE, SixtyDayDto.EXPIRATION_DATE) +
fluidRowLocs(SixtyDayDto.PACKAGE_SIZE, SixtyDayDto.PACKAGING_TYPE, SixtyDayDto.PACKAGING_TYPE_OTHER) +
fluidRowLocs(SixtyDayDto.PLACE_OF_PURCHASE, SixtyDayDto.NAME_OF_MANUFACTURER) +
Expand Down Expand Up @@ -164,6 +165,7 @@ protected void addFields() {
TextField sources = addField(SixtyDayDto.SPECIFY_SOURCES, TextField.class);
TextField productName = addField(SixtyDayDto.PRODUCT_NAME, TextField.class);
TextField batchNumber = addField(SixtyDayDto.BATCH_NUMBER, TextField.class);
TextField barcode = addField(SixtyDayDto.BARCODE, TextField.class);
DateField dateOfManufacture = addField(SixtyDayDto.DATE_OF_MANUFACTURE, DateField.class);
DateField expirationDate = addField(SixtyDayDto.EXPIRATION_DATE, DateField.class);
TextField packageSize = addField(SixtyDayDto.PACKAGE_SIZE, TextField.class);
Expand All @@ -175,7 +177,7 @@ protected void addFields() {
TextField foodTel = addField(SixtyDayDto.FOOD_TEL, TextField.class);

setVisible(false,
SixtyDayDto.FOOD_AVAILABLE_TESTING, SixtyDayDto.LAB_TEST_CONDUCTED, SixtyDayDto.SPECIFY_FOODS_SOURCES, SixtyDayDto.SPECIFY_SOURCES, SixtyDayDto.PRODUCT_NAME, SixtyDayDto.BATCH_NUMBER, SixtyDayDto.DATE_OF_MANUFACTURE, SixtyDayDto.EXPIRATION_DATE, SixtyDayDto.PACKAGE_SIZE, SixtyDayDto.PACKAGING_TYPE, SixtyDayDto.PACKAGING_TYPE_OTHER, SixtyDayDto.PLACE_OF_PURCHASE, SixtyDayDto.NAME_OF_MANUFACTURER, SixtyDayDto.ADDRESS, SixtyDayDto.FOOD_TEL);
SixtyDayDto.FOOD_AVAILABLE_TESTING, SixtyDayDto.LAB_TEST_CONDUCTED, SixtyDayDto.SPECIFY_FOODS_SOURCES, SixtyDayDto.SPECIFY_SOURCES, SixtyDayDto.PRODUCT_NAME, SixtyDayDto.BATCH_NUMBER, SixtyDayDto.BARCODE, SixtyDayDto.DATE_OF_MANUFACTURE, SixtyDayDto.EXPIRATION_DATE, SixtyDayDto.PACKAGE_SIZE, SixtyDayDto.PACKAGING_TYPE, SixtyDayDto.PACKAGING_TYPE_OTHER, SixtyDayDto.PLACE_OF_PURCHASE, SixtyDayDto.NAME_OF_MANUFACTURER, SixtyDayDto.ADDRESS, SixtyDayDto.FOOD_TEL);


initializeVisibilitiesAndAllowedVisibilities();
Expand All @@ -201,25 +203,25 @@ protected void addFields() {

setVisible(true,
SixtyDayDto.FOOD_AVAILABLE_TESTING, SixtyDayDto.LAB_TEST_CONDUCTED);

foodAvailable.addValueChangeListener(field -> {
Object rawValue = ((NullableOptionGroup)field.getProperty()).getNullableValue();
YesNoUnknown value = (YesNoUnknown) rawValue;

boolean provideTrue = value == YesNoUnknown.YES;
headingProvide.setVisible(provideTrue);
});
}

FieldHelper.setVisibleWhen(
foodAvailable,
Arrays.asList(food, sources, productName, batchNumber, dateOfManufacture, expirationDate, packageSize, packagingType, placeOfPurchase, nameOfManufacturer,
address, foodTel),Arrays.asList(YesNoUnknown.YES),true);
address, foodTel, barcode),Arrays.asList(YesNoUnknown.YES),true);
packagingType.addValueChangeListener(event -> {
boolean isOther = event.getProperty().getValue() == PackagingType.OTHER;
packagingTypeOther.setVisible(isOther);
});

foodAvailable.addValueChangeListener(field -> {
Object rawValue = ((NullableOptionGroup)field.getProperty()).getNullableValue();
YesNoUnknown value = (YesNoUnknown) rawValue;

boolean provideTrue = value == YesNoUnknown.YES;
headingProvide.setVisible(provideTrue);
});

}

private Label createLabel(String text, String h4, String location) {
Expand Down

0 comments on commit c4f4596

Please sign in to comment.