You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1684,6 +1698,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ar-SA.properties b/sormas-api/src/main/resources/strings_ar-SA.properties
index b8a40e4c886..e4e38383b71 100644
--- a/sormas-api/src/main/resources/strings_ar-SA.properties
+++ b/sormas-api/src/main/resources/strings_ar-SA.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_cs-CZ.properties b/sormas-api/src/main/resources/strings_cs-CZ.properties
index eee09d2f65c..c9571bc9a7b 100644
--- a/sormas-api/src/main/resources/strings_cs-CZ.properties
+++ b/sormas-api/src/main/resources/strings_cs-CZ.properties
@@ -421,7 +421,9 @@ errorSurveillanceReportNotEditable = Tato zpráva již není upravitelná
errorEnvironmentSampleNotEditable = Tento vzorek prostředí již není upravitelný
errorEnvironmentSampleNoDispatchRight = Nemáte potřebné uživatelské právo ke změně stavu odeslání tohoto vzorku
errorEnvironmentSampleNoReceivalRight = Nemáte potřebné uživatelské právo ke změně stavu příjmu tohoto vzorku prostředí
-errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorSendingExternalEmail = E-mail nelze odeslat. Kontaktujte prosím administrátora a upozorněte ho na tento problém.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Přístup odepřen
headingActivityAsCase = Aktivita jako případ
@@ -541,10 +543,10 @@ headingEditCountry = Upravit zemi
headingEditContinent = Upravit kontinent
headingEditSample = Upravit vzorek
headingEditSubcontinent = Upravit subkontinent
-headingEntitiesNotArchived = None of the entities were archived
-headingEntitiesNotDearchived = None of the entities were dearchived
-headingEntitiesNotEdited = None of the entities were edited
-headingEntitiesNotSent = None of the entities were sent
+headingEntitiesNotArchived = Žádný z těchto subjektů nebyl archivován
+headingEntitiesNotDearchived = Žádný z těchto subjektů nebyl dearchivován
+headingEntitiesNotEdited = Žádný z těchto subjektů nebyl upraven
+headingEntitiesNotSent = Žádný z těchto subjektů nebyl odeslán
headingEnvironmentalExposure = Vystavení v životním prostředí
headingEpiCurve = Epidemiologické křivky
headingErrorReportNotAvailable = Zpráva o chybě není k dispozici
@@ -733,7 +735,7 @@ headingCasesRestored = Případy obnoveny
headingContactsRestored = Kontakty obnoveny
headingEventsRestored = Události obnoveny
headingEventParticipantsRestored = Účastníci události obnoveni
-headingImmunizationsDeleted = Immunizations deleted
+headingImmunizationsDeleted = Immunizace odstraněna
headingImmunizationsNotDeleted = None of the immunizations were deleted
headingImmunizationsNotRestored = None of the immunizations were restored
headingImmunizationsRestored = Immunizace obnovena
@@ -860,7 +862,9 @@ headingEnvironmentSampleLocation = Umístění místa odběru vzorků
headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Požadované patogeny k testování
headingLimitedDiseases=Disease restrictions
-headingExternalEmailSend=Send email
+headingExternalEmailSend=Poslat e-mail
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Prosím zdokumentujte VŠECHNY relevantní aktivity po infekci\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Hromadný proces byl zrušen\! Všechny vy
infoBulkUnresponsiveWindowHint = Tip\: Pokud se ukazatel průběhu zdá být nereagující a po chvíli není vidět žádný průběh zkuste kliknout na toto vyskakovací okno nebo změnit velikost okna prohlížeče.
infoNoEnvironmentSamples = Pro toto prostředí nebyly vytvořeny žádné vzorky
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = Akce mimo jurisdikci uživatele nemůže být odstraněna
@@ -1475,14 +1481,22 @@ messageNoEnvironmentSamplesSelected = You have not selected any environment samp
messageEnvironmentSamplesDeleted = All selected eligible environment samples have been deleted
messageCountEnvironmentSamplesNotDeleted = %s environment samples not deleted\: %s
messageCountEnvironmentSamplesNotDeletedAccessDeniedReason = %s environment samples not deleted because they are not in jurisdiction or owned\: %s
-messageEnvironmentSamplesRestored = All selected environment samples have been restored
+messageEnvironmentSamplesRestored = Všechny vybrané vzorky prostředí byly obnoveny
messageEnvironmentSampleSaved = Vzorek prostředí uložen
messageRestoreNotPossibleAlreadyInEvent = Uživatel události nemůže být obnoven, protože osoba již má jiného účastníka aktivní události v této události
messageDuplicateEnvironmentFound = Podobné prostředí již existuje v databázi (UUID\: %s)
-messageCasePersonHasNoEmail=Case person has no email address specified
-messageContactPersonHasNoEmail=Contact person has no email address specified
-messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
+messageCasePersonHasNoEmail=Osoba případu nemá zadanou e-mailovou adresu
+messageContactPersonHasNoEmail=Kontaktní osoba nemá zadanou e-mailovou adresu
+messageEventParticipantPersonHasNoEmail=Uživatel události nemá zadanou e-mailovou adresu
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = Klasifikace případu %s se změnila na %s.
notificationCaseInvestigationDone = Vyšetřování případu %s bylo dokončeno.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... do
promptEnvironmentSampleLonFrom= Zeměpisná délka prostředí.od...
promptEnvironmentSampleLonTo= ... do
+promptCustomizableEnumTranslationLanguage = Jazyk
+promptCustomizableEnumTranslationCaption = Přeložený popisek
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Neuložené změny
unsavedChanges.warningMessage = Tento formulář obsahuje neuložené změny. Rozhodněte, zda chcete zrušit akci, kterou jste právě učinili, abyste je zkontrolovali, nebo uložit nebo zrušit změny a pokračovat.
diff --git a/sormas-api/src/main/resources/strings_de-CH.properties b/sormas-api/src/main/resources/strings_de-CH.properties
index 16c091d8f6d..cad56da96fb 100644
--- a/sormas-api/src/main/resources/strings_de-CH.properties
+++ b/sormas-api/src/main/resources/strings_de-CH.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Zugriff verweigert
headingActivityAsCase = Aktivitäten als Fall (Betreuung/Unterbringung/Tätigkeit in Einrichtung)
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Bitte dokumentieren Sie ALLE relevanten Aktivitäten nach der Infektion\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = Die Falldefinitionskategorie des Falls %s wurde auf %s geändert.
notificationCaseInvestigationDone = Die Untersuchung des Falls %s wurde durchgeführt.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Ungespeicherte Änderungen
unsavedChanges.warningMessage = Dieses Formular enthält ungespeicherte Änderungen. Bitte entscheiden Sie, ob Sie die gerade ausgeführte Aktion abbrechen wollen, um sie zu überprüfen oder speichern bzw. verwerfen Sie die Änderungen und fahren fort.
diff --git a/sormas-api/src/main/resources/strings_de-DE.properties b/sormas-api/src/main/resources/strings_de-DE.properties
index 02ee6f40d92..607d769fc35 100644
--- a/sormas-api/src/main/resources/strings_de-DE.properties
+++ b/sormas-api/src/main/resources/strings_de-DE.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Zugriff verweigert
headingActivityAsCase = Betreuung/Unterbringung/Tätigkeit in Einrichtung
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Bitte dokumentieren Sie ALLE relevanten Betreuungen, Unterbringungen und Tätigkeiten in Einrichtungen\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Massenverarbeitung wurde abgebrochen\! All
infoBulkUnresponsiveWindowHint = Tipp\: Wenn der Fortschrittsbalken nicht reagiert und nach einer Weile kein Fortschritt sichtbar ist versuchen Sie auf dieses Popup-Fenster zu klicken oder die Größe Ihres Browserfensters zu verändern.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = Die Aktion außerhalb der Zuständigkeit des Benutzers kann nicht gelöscht werden
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = Die Falldefinitionskategorie des Falls %s wurde auf %s geändert.
notificationCaseInvestigationDone = Die Untersuchung des Falls %s wurde durchgeführt.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Ungespeicherte Änderungen
unsavedChanges.warningMessage = Dieses Formular enthält ungespeicherte Änderungen. Bitte entscheiden Sie, ob Sie die gerade ausgeführte Aktion abbrechen wollen, um sie zu überprüfen oder speichern bzw. verwerfen Sie die Änderungen und fahren fort.
diff --git a/sormas-api/src/main/resources/strings_en-AF.properties b/sormas-api/src/main/resources/strings_en-AF.properties
index 46b205883e3..b7aaf4b74f9 100644
--- a/sormas-api/src/main/resources/strings_en-AF.properties
+++ b/sormas-api/src/main/resources/strings_en-AF.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_en-GH.properties b/sormas-api/src/main/resources/strings_en-GH.properties
index 2d25441f097..f055ff748bb 100644
--- a/sormas-api/src/main/resources/strings_en-GH.properties
+++ b/sormas-api/src/main/resources/strings_en-GH.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_en-NG.properties b/sormas-api/src/main/resources/strings_en-NG.properties
index 3ddef2707f6..d8d8b151b91 100644
--- a/sormas-api/src/main/resources/strings_en-NG.properties
+++ b/sormas-api/src/main/resources/strings_en-NG.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_es-CU.properties b/sormas-api/src/main/resources/strings_es-CU.properties
index c83df960ec1..c371292f522 100644
--- a/sormas-api/src/main/resources/strings_es-CU.properties
+++ b/sormas-api/src/main/resources/strings_es-CU.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = Esta muestra ambiental ya no es editable
errorEnvironmentSampleNoDispatchRight = No tiene el derecho de usuario necesario para cambiar el estado de envío de esta muestra ambiental
errorEnvironmentSampleNoReceivalRight = No tiene el derecho de usuario necesario para cambiar el estado de recepción de esta muestra ambiental
errorSendingExternalEmail = No se pudo enviar el mensaje. Por favor, contacte a un administrador y notifíquele sobre este problema.
+errorExternalEmailAttachmentCannotEncrypt=No se puede enviar el mensaje con archivos adjuntos. La persona no tiene carnet de identidad o número de teléfono para enviar la contraseña o el servicio de SMS no está configurado en el sistema.
+
# headings
headingAccessDenied = Acceso denegado
headingActivityAsCase = Actividad como caso
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Gestión de muestras
headingEnvironmentSampleRequestedPathogenTests = Pruebas de patógeno solicitadas
headingLimitedDiseases=Restricciones de enfermedades
headingExternalEmailSend=Enviar mensaje
+headingExternalEmailDetails=Detalles del mensaje
+headingCustomizableEnumConfigurationInfo=Configuración de enumeración personalizable
# Info texts
infoActivityAsCaseInvestigation = Por favor, documente TODAS las actividades relevantes después de la infección\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = ¡El proceso masivo se canceló\! Todas la
infoBulkUnresponsiveWindowHint = Sugerencia\: Si la barra de progreso parece no responder y no hay progreso visible por algún tiempo, pruebe hacer clic en esta ventana emergente o cambiar el tamaño de la ventana de su navegador.
infoNoEnvironmentSamples = No se han creado muestras para este ambiente
infoRestrictDiseasesDescription=Marcar todas las enfermedades a las que el usuario debiera tener acceso
+infoNoCustomizableEnumTranslations = Haga clic en el botón + a continuación para añadir traducciones a este valor de enumeración personalizable.
+infoCustomizableEnumConfigurationInfo = Las enumeraciones personalizables son conjuntos de valores que se pueden personalizar para reaccionar a las necesidades individuales de un país o una situación epidemiológica específica. La tabla en esta pantalla contiene todos los valores de enumeración personalizable en la base de datos. Cada valor está asociado con un tipo de datos, por ejemplo, variantes de enfermedad o tipos de ocupación. Algunos de estos tipos de datos tienen valores predeterminados que se agregan automáticamente a la base de datos cuando se configura SORMAS o se agregan nuevos tipos de datos al sistema.
Puede agregar nuevos valores de enumeración o editar los existentes, agregar traducciones para idiomas admitidos por SORMAS, seleccionar las enfermedades para las que el valor debe ser visible (de forma predeterminada, los valores de enumeración personalizable son visibles para todas las enfermedades) y configurar propiedades adicionales.
Las propiedades se utilizan para un mayor control del comportamiento de los valores de enumeración personalizable. Por ejemplo, la propiedad "tiene detalles" que es compatible con la mayoría de los valores de enumeración controla si al seleccionar el valor de enumeración aparece un campo de texto adicional al que los usuarios pueden agregar más información.
# Messages
messageActionOutsideJurisdictionDeletionDenied = La acción fuera de la jurisdicción del usuario no puede ser eliminada
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=El caso no tiene una dirección de correo electróni
messageContactPersonHasNoEmail=El contacto no tiene una dirección de correo electrónico especificada
messageEventParticipantPersonHasNoEmail=El participante de evento no tiene una dirección de correo electrónico especificada
messageTravelEntryPersonHasNoEmail=La persona de la entrada de viaje no tiene una dirección de correo electrónico especificada
+messageNoExternalEmailToCaseSent=No se envió ningún mensaje al caso
+messageNoExternalEmailToContactSent=No se envió ningún mensaje al contacto
+messageNoExternalEmailToEventParticipantSent=No se envió ningún mensaje al participante de evento
+messageNoExternalEmailToTravelEntrySent=No se envió ningún mensaje al viajero
+messageExternalEmailNoAttachments=Sin archivos adjuntos
+messageCustomizableEnumValueSaved = Valor de enumeración personalizable guardado
+messageExternalEmailAttachmentPassword=Por favor, utilice esta contraseña para abrir los documentos que se le envíen por correo electrónico desde SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=No se pueden adjuntar documentos porque el cifrado no sería posible. Para cifrar documentos, la persona debe tener un carnet de identidad, o un número de teléfono móvil con capacidad de enviar SMS especificado en este sistema.
# Notifications
notificationCaseClassificationChanged = La clasificación del caso %s se cambió a %s.
notificationCaseInvestigationDone = La investigación del caso %s fue realizada.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... hasta
promptEnvironmentSampleLonFrom= Longitud de ambiente desde...
promptEnvironmentSampleLonTo= ... hasta
+promptCustomizableEnumTranslationLanguage = Idioma
+promptCustomizableEnumTranslationCaption = Leyenda traducida
+promptCustomizableEnumSearchField = Buscar por valor o leyenda...
+
# Unsaved changes
unsavedChanges.warningTitle = Cambios sin guardar
unsavedChanges.warningMessage = Este formulario contiene cambios sin guardar. Por favor, decida si quiere cancelar la acción que acaba de realizar para revisarlos, o guardar o descartar los cambios y continuar.
diff --git a/sormas-api/src/main/resources/strings_es-ES.properties b/sormas-api/src/main/resources/strings_es-ES.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_es-ES.properties
+++ b/sormas-api/src/main/resources/strings_es-ES.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fa-AF.properties b/sormas-api/src/main/resources/strings_fa-AF.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_fa-AF.properties
+++ b/sormas-api/src/main/resources/strings_fa-AF.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fi-FI.properties b/sormas-api/src/main/resources/strings_fi-FI.properties
index 8ab1cd2bbdb..4a7eecaf1f5 100644
--- a/sormas-api/src/main/resources/strings_fi-FI.properties
+++ b/sormas-api/src/main/resources/strings_fi-FI.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Käyttö estetty
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = Potilaan %s luokitus on muuttunut luokkaan %s.
notificationCaseInvestigationDone = Potilaan %s selvittely tehty.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fil-PH.properties b/sormas-api/src/main/resources/strings_fil-PH.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_fil-PH.properties
+++ b/sormas-api/src/main/resources/strings_fil-PH.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fj-FJ.properties b/sormas-api/src/main/resources/strings_fj-FJ.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_fj-FJ.properties
+++ b/sormas-api/src/main/resources/strings_fj-FJ.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fr-CD.properties b/sormas-api/src/main/resources/strings_fr-CD.properties
index 964af2666ae..b073e6e7b55 100644
--- a/sormas-api/src/main/resources/strings_fr-CD.properties
+++ b/sormas-api/src/main/resources/strings_fr-CD.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fr-CH.properties b/sormas-api/src/main/resources/strings_fr-CH.properties
index cb05077707b..20643553e04 100644
--- a/sormas-api/src/main/resources/strings_fr-CH.properties
+++ b/sormas-api/src/main/resources/strings_fr-CH.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Accès refusé
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = La classification du cas %s a changé en %s.
notificationCaseInvestigationDone = L'enquête du cas %s a été effectuée.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fr-FR.properties b/sormas-api/src/main/resources/strings_fr-FR.properties
index 6dce70e4473..9fd7c416320 100644
--- a/sormas-api/src/main/resources/strings_fr-FR.properties
+++ b/sormas-api/src/main/resources/strings_fr-FR.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Accès refusé
headingActivityAsCase = Activité comme cas
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Configuration de l'Enum personnalisable
# Info texts
infoActivityAsCaseInvestigation = Veuillez documenter toutes les activités pertinentes après l'infection \:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Cliquez sur le bouton + ci-dessous pour ajouter des traductions à cette valeur personnalisable.
+infoCustomizableEnumConfigurationInfo = Les enums personnalisables sont des ensembles de valeurs qui peuvent être personnalisés afin de répondre aux besoins individuels de votre pays ou à une situation épidémiologique spécifique. Le tableau sur cet écran contient toutes les valeurs personnalisables de la base de données. Chaque valeur est associée à un type de données, par exemple des variantes de maladie ou des types de profession. Certains de ces types de données ont des valeurs par défaut qui sont automatiquement ajoutées à la base de données lorsque SORMAS est configuré ou que de nouveaux types de données sont ajoutés au système.
Vous pouvez ajouter de nouvelles valeurs d'énumération ou modifier celles existantes, ajouter des traductions pour les langues prises en charge par SORMAS, sélectionnez les maladies pour lesquelles la valeur doit être visible (par défaut, les valeurs personnalisables de l'éum sont visibles pour toutes les maladies) et configurez les propriétés supplémentaires.
Les propriétés sont utilisées pour mieux contrôler le comportement des valeurs personnalisables. Par exemple, la propriété "a des détails" qui est supportée par la plupart des valeurs enum bascule si la sélection de cette valeur devrait faire apparaître un champ de texte supplémentaire auquel les utilisateurs peuvent ajouter plus d'informations.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Valeur de l'énumération personnalisable enregistrée
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = La classification du cas %s a changé en %s.
notificationCaseInvestigationDone = L'enquête du cas %s a été effectuée.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Langue
+promptCustomizableEnumTranslationCaption = Légende traduite
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Modifications non enregistrées
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_fr-TN.properties b/sormas-api/src/main/resources/strings_fr-TN.properties
index 00973e159d2..ed5d948b958 100644
--- a/sormas-api/src/main/resources/strings_fr-TN.properties
+++ b/sormas-api/src/main/resources/strings_fr-TN.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Accès refusé
headingActivityAsCase = Activité comme cas
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Veuillez documenter toutes les activités pertinentes après l'infection \:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = La classification du cas %s a changé en %s.
notificationCaseInvestigationDone = L'enquête du cas %s a été effectuée.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Modifications non enregistrées
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_hi-IN.properties b/sormas-api/src/main/resources/strings_hi-IN.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_hi-IN.properties
+++ b/sormas-api/src/main/resources/strings_hi-IN.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_hr-HR.properties b/sormas-api/src/main/resources/strings_hr-HR.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_hr-HR.properties
+++ b/sormas-api/src/main/resources/strings_hr-HR.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_it-CH.properties b/sormas-api/src/main/resources/strings_it-CH.properties
index 0703b489f54..f4e1bf2b82f 100644
--- a/sormas-api/src/main/resources/strings_it-CH.properties
+++ b/sormas-api/src/main/resources/strings_it-CH.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Accesso negato
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = La classificazione del caso %s è cambiata in %s.
notificationCaseInvestigationDone = La ricerca sul caso %s è stata effettuata.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_it-IT.properties b/sormas-api/src/main/resources/strings_it-IT.properties
index 4dd571c8c26..4cb759c9270 100644
--- a/sormas-api/src/main/resources/strings_it-IT.properties
+++ b/sormas-api/src/main/resources/strings_it-IT.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Accesso negato
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = La classificazione del caso %s è cambiata in %s.
notificationCaseInvestigationDone = La ricerca sul caso %s è stata effettuata.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ja-JP.properties b/sormas-api/src/main/resources/strings_ja-JP.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_ja-JP.properties
+++ b/sormas-api/src/main/resources/strings_ja-JP.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ne-NP.properties b/sormas-api/src/main/resources/strings_ne-NP.properties
index b8a40e4c886..e4e38383b71 100644
--- a/sormas-api/src/main/resources/strings_ne-NP.properties
+++ b/sormas-api/src/main/resources/strings_ne-NP.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_nl-NL.properties b/sormas-api/src/main/resources/strings_nl-NL.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_nl-NL.properties
+++ b/sormas-api/src/main/resources/strings_nl-NL.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_no-NO.properties b/sormas-api/src/main/resources/strings_no-NO.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_no-NO.properties
+++ b/sormas-api/src/main/resources/strings_no-NO.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_pl-PL.properties b/sormas-api/src/main/resources/strings_pl-PL.properties
index 8a1458432b1..0021767deb7 100644
--- a/sormas-api/src/main/resources/strings_pl-PL.properties
+++ b/sormas-api/src/main/resources/strings_pl-PL.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ps-AF.properties b/sormas-api/src/main/resources/strings_ps-AF.properties
index b862b7ba48c..eac76349a27 100644
--- a/sormas-api/src/main/resources/strings_ps-AF.properties
+++ b/sormas-api/src/main/resources/strings_ps-AF.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_pt-PT.properties b/sormas-api/src/main/resources/strings_pt-PT.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_pt-PT.properties
+++ b/sormas-api/src/main/resources/strings_pt-PT.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ro-RO.properties b/sormas-api/src/main/resources/strings_ro-RO.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_ro-RO.properties
+++ b/sormas-api/src/main/resources/strings_ro-RO.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ru-RU.properties b/sormas-api/src/main/resources/strings_ru-RU.properties
index d38525b9af5..4694646b208 100644
--- a/sormas-api/src/main/resources/strings_ru-RU.properties
+++ b/sormas-api/src/main/resources/strings_ru-RU.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_sv-SE.properties b/sormas-api/src/main/resources/strings_sv-SE.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_sv-SE.properties
+++ b/sormas-api/src/main/resources/strings_sv-SE.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_sw-KE.properties b/sormas-api/src/main/resources/strings_sw-KE.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_sw-KE.properties
+++ b/sormas-api/src/main/resources/strings_sw-KE.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_tr-TR.properties b/sormas-api/src/main/resources/strings_tr-TR.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_tr-TR.properties
+++ b/sormas-api/src/main/resources/strings_tr-TR.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_uk-UA.properties b/sormas-api/src/main/resources/strings_uk-UA.properties
index 7bb88b95acf..1a5e1ed321c 100644
--- a/sormas-api/src/main/resources/strings_uk-UA.properties
+++ b/sormas-api/src/main/resources/strings_uk-UA.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/strings_ur-PK.properties b/sormas-api/src/main/resources/strings_ur-PK.properties
index eaa9976df56..f1129df9b04 100644
--- a/sormas-api/src/main/resources/strings_ur-PK.properties
+++ b/sormas-api/src/main/resources/strings_ur-PK.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = رسائی مسترد کر دی
headingActivityAsCase = سرگرمی بطور کیس
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = براہ کرم انفیکشن کے بعد تمام متعلقہ سرگرمیوں کو دستاویز کریں\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = بلک پروسیس کو منسوخ کر دیا گ
infoBulkUnresponsiveWindowHint = اشارہ\: اگر پروگریس بار غیر جوابی لگتا ہے اور تھوڑی دیر کے بعد کوئی پیش رفت نظر نہیں آتی ہے، تو اس پاپ اپ ونڈو پر کلک کرنے کی کوشش کریں یا اپنی براؤزر ونڈو کا سائز تبدیل کریں۔
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = صارف کے دائرہ اختیار سے باہر کی کارروائی کو حذف نہیں کیا جا سکتا
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = کیس %s کی درجہ بندی %s میں تبدیل ہو گئی ہے۔
notificationCaseInvestigationDone = کیس %s کی تفتیش ہو چکی ہے۔
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = غیر محفوظ تبدیلیاں
unsavedChanges.warningMessage = یہ فارم غیر محفوظ شدہ تبدیلیوں پر مشتمل ہے۔ براہ کرم فیصلہ کریں کہ آیا آپ ان کا جائزہ لینے کے لیے جو کارروائی آپ نے ابھی کی ہے اسے منسوخ کرنا چاہتے ہیں، یا تبدیلیوں کو محفوظ یا رد کرنا اور جاری رکھنا چاہتے ہیں۔
diff --git a/sormas-api/src/main/resources/strings_zh-CN.properties b/sormas-api/src/main/resources/strings_zh-CN.properties
index 4a2be56607a..d104d9d8c6f 100644
--- a/sormas-api/src/main/resources/strings_zh-CN.properties
+++ b/sormas-api/src/main/resources/strings_zh-CN.properties
@@ -422,6 +422,8 @@ errorEnvironmentSampleNotEditable = This environment sample is not editable anym
errorEnvironmentSampleNoDispatchRight = You do not have the necessary user right to change the dispatch status of this environment sample
errorEnvironmentSampleNoReceivalRight = You do not have the necessary user right to change the receival status of this environment sample
errorSendingExternalEmail = Email could not be sent. Please contact an admin and notify them about this problem.
+errorExternalEmailAttachmentCannotEncrypt=Can't send email with attachments. The person has no national health id or primary phone number to send the password to or the SMS service is not set up in the system.
+
# headings
headingAccessDenied = Access denied
headingActivityAsCase = Activity as Case
@@ -861,6 +863,8 @@ headingEnvironmentSampleManagement = Sample management
headingEnvironmentSampleRequestedPathogenTests = Requested pathogens to be tested
headingLimitedDiseases=Disease restrictions
headingExternalEmailSend=Send email
+headingExternalEmailDetails=Email details
+headingCustomizableEnumConfigurationInfo=Customizable enum configuration
# Info texts
infoActivityAsCaseInvestigation = Please document ALL relevant activities after infection\:
@@ -1061,6 +1065,8 @@ infoBulkProcessCancelled = Bulk process has been cancelled\! All sele
infoBulkUnresponsiveWindowHint = Hint\: If the progress bar seems to be unresponsive and no progress is visible after a while, try to click this popup window or resize your browser window.
infoNoEnvironmentSamples = No samples have been created for this environment
infoRestrictDiseasesDescription=Mark all diseases that the user is supposed to have access to
+infoNoCustomizableEnumTranslations = Click on the + button below to add translations to this customizable enum value.
+infoCustomizableEnumConfigurationInfo = Customizable enums are value sets that can be customized in order to react to the individual needs of your country or a specific epidemiological situation. The table on this screen contains all customizable enum values in the database. Each value is associated with a data type, e.g. disease variants or occupation types. Some of these data types have default values that are automatically added to the database when SORMAS is set up or new data types are added to the system.
You can add new enum values or edit existing ones, add translations for languages supported by SORMAS, select the diseases that the value should be visible for (by default, customizable enum values are visible for all diseases), and configure additional properties.
Properties are used to further control the behaviour of customizable enum values. E.g. the "has details" property that is supported by most enum values toggles whether selecting this enum value would bring up an additional text field that users can add more information to.
# Messages
messageActionOutsideJurisdictionDeletionDenied = The action outside user's jurisdiction cannot be deleted
@@ -1483,6 +1489,14 @@ messageCasePersonHasNoEmail=Case person has no email address specified
messageContactPersonHasNoEmail=Contact person has no email address specified
messageEventParticipantPersonHasNoEmail=Event participant person has no email address specified
messageTravelEntryPersonHasNoEmail=Travel entry person has no email address specified
+messageNoExternalEmailToCaseSent=No email sent to case person
+messageNoExternalEmailToContactSent=No email sent to contact person
+messageNoExternalEmailToEventParticipantSent=No email sent to event participant person
+messageNoExternalEmailToTravelEntrySent=No email sent to travel entry person
+messageExternalEmailNoAttachments=No attachments
+messageCustomizableEnumValueSaved = Customizable enum value saved
+messageExternalEmailAttachmentPassword=Please use this password to open the documents sent to you via email from SORMAS\: %s
+messageExternalEmailAttachmentNotAvailableInfo=Attaching documents is disabled because encryption would not be possible. To encrypt documents, the person needs to have either a national health ID specified, or a primary mobile phone number set with SMS sending set up on this system.
# Notifications
notificationCaseClassificationChanged = The classification of case %s has changed to %s.
notificationCaseInvestigationDone = The investigation of case %s has been done.
@@ -1683,6 +1697,10 @@ promptEnvironmentSampleLatTo= ... to
promptEnvironmentSampleLonFrom= Environment longitude from...
promptEnvironmentSampleLonTo= ... to
+promptCustomizableEnumTranslationLanguage = Language
+promptCustomizableEnumTranslationCaption = Translated caption
+promptCustomizableEnumSearchField = Search by value or caption...
+
# Unsaved changes
unsavedChanges.warningTitle = Unsaved changes
unsavedChanges.warningMessage = This form contains unsaved changes. Please decide whether you want to cancel the action you have just taken in order to review them, or save or discard the changes and continue.
diff --git a/sormas-api/src/main/resources/validations.properties b/sormas-api/src/main/resources/validations.properties
index b6fb7d49782..5e92dd5e38c 100644
--- a/sormas-api/src/main/resources/validations.properties
+++ b/sormas-api/src/main/resources/validations.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ar-SA.properties b/sormas-api/src/main/resources/validations_ar-SA.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_ar-SA.properties
+++ b/sormas-api/src/main/resources/validations_ar-SA.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_cs-CZ.properties b/sormas-api/src/main/resources/validations_cs-CZ.properties
index e6ea9a67307..48002e8c4b2 100644
--- a/sormas-api/src/main/resources/validations_cs-CZ.properties
+++ b/sormas-api/src/main/resources/validations_cs-CZ.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Hodnota se může skládat pouze z velkých písmen, číslic a znaků „_“ a „.“.
+customizableEnumValueEmptyTranslations = Vyberte jazyky a zadejte popisky pro všechny překlady v seznamu.
+customizableEnumValueDuplicateLanguage = Přidejte pouze jeden překlad pro každý jazyk.
+customizableEnumValueDuplicateValue = Hodnota %s již existuje pro datový typ %s. Hodnoty Enum musí být jedinečné.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_de-CH.properties b/sormas-api/src/main/resources/validations_de-CH.properties
index 471a3e51aff..bc8fa7f9aad 100644
--- a/sormas-api/src/main/resources/validations_de-CH.properties
+++ b/sormas-api/src/main/resources/validations_de-CH.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_de-DE.properties b/sormas-api/src/main/resources/validations_de-DE.properties
index 8e0936a66e3..b49531cf805 100644
--- a/sormas-api/src/main/resources/validations_de-DE.properties
+++ b/sormas-api/src/main/resources/validations_de-DE.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_en-AF.properties b/sormas-api/src/main/resources/validations_en-AF.properties
index 4e47a8e2b45..78cc9588ad2 100644
--- a/sormas-api/src/main/resources/validations_en-AF.properties
+++ b/sormas-api/src/main/resources/validations_en-AF.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_en-GH.properties b/sormas-api/src/main/resources/validations_en-GH.properties
index 5e7456668f7..73c9e715bef 100644
--- a/sormas-api/src/main/resources/validations_en-GH.properties
+++ b/sormas-api/src/main/resources/validations_en-GH.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_en-NG.properties b/sormas-api/src/main/resources/validations_en-NG.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_en-NG.properties
+++ b/sormas-api/src/main/resources/validations_en-NG.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_es-CU.properties b/sormas-api/src/main/resources/validations_es-CU.properties
index 50f664f0cc3..9f845f0fbc7 100644
--- a/sormas-api/src/main/resources/validations_es-CU.properties
+++ b/sormas-api/src/main/resources/validations_es-CU.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = Este municipio está en una provincia
defaultInfrastructureInvalidParentDistrict = Esta área de salud está en un municipio diferente al predeterminado, o no existe un municipio predeterminado.
defaultInfrastructureNotRemovableChildCommunity = Tiene que eliminar el área de salud predeterminada antes de eliminar el municipio predeterminado.
defaultInfrastructureNotRemovableChildDistrict = Tiene que eliminar el municipio predeterminado antes de eliminar la provincia predeterminada.
-emailTemplateSubjectInvalid=La primera línea de la plantilla de mensaje debe comenzar con un carácter "\#" seguido por un máximo de 50 caracteres
\ No newline at end of file
+emailTemplateSubjectInvalid=La primera línea de la plantilla de mensaje debe comenzar con un carácter "\#" seguido por un máximo de 50 caracteres
+customizableEnumValueAllowedCharacters = El valor sólo puede consistir en letras mayúsculas, números y los caracteres "_" y ".".
+customizableEnumValueEmptyTranslations = Por favor, seleccione idiomas e introduzca leyendas para todas las traducciones de la lista.
+customizableEnumValueDuplicateLanguage = Por favor, sólo añada una traducción por idioma.
+customizableEnumValueDuplicateValue = El valor %s ya existe para el tipo de datos %s. Los valores de enumeración deben ser únicos.
+attachedDocumentNotRelatedToEntity=El documento adjunto no está relacionado con la entidad.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_es-ES.properties b/sormas-api/src/main/resources/validations_es-ES.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_es-ES.properties
+++ b/sormas-api/src/main/resources/validations_es-ES.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fa-AF.properties b/sormas-api/src/main/resources/validations_fa-AF.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_fa-AF.properties
+++ b/sormas-api/src/main/resources/validations_fa-AF.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fi-FI.properties b/sormas-api/src/main/resources/validations_fi-FI.properties
index 40fa792c1f2..1869e2e301d 100644
--- a/sormas-api/src/main/resources/validations_fi-FI.properties
+++ b/sormas-api/src/main/resources/validations_fi-FI.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fil-PH.properties b/sormas-api/src/main/resources/validations_fil-PH.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_fil-PH.properties
+++ b/sormas-api/src/main/resources/validations_fil-PH.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fj-FJ.properties b/sormas-api/src/main/resources/validations_fj-FJ.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_fj-FJ.properties
+++ b/sormas-api/src/main/resources/validations_fj-FJ.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fr-CD.properties b/sormas-api/src/main/resources/validations_fr-CD.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_fr-CD.properties
+++ b/sormas-api/src/main/resources/validations_fr-CD.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fr-CH.properties b/sormas-api/src/main/resources/validations_fr-CH.properties
index 64df5ac349b..b340452e185 100644
--- a/sormas-api/src/main/resources/validations_fr-CH.properties
+++ b/sormas-api/src/main/resources/validations_fr-CH.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fr-FR.properties b/sormas-api/src/main/resources/validations_fr-FR.properties
index c26d8d01fe9..c07fe009fb6 100644
--- a/sormas-api/src/main/resources/validations_fr-FR.properties
+++ b/sormas-api/src/main/resources/validations_fr-FR.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = La valeur ne peut contenir que des lettres majuscules, des chiffres, et les caractères "_" et ".".
+customizableEnumValueEmptyTranslations = Veuillez sélectionner les langues et saisir des légendes pour toutes les traductions de la liste.
+customizableEnumValueDuplicateLanguage = Veuillez ajouter une seule traduction par langue.
+customizableEnumValueDuplicateValue = La valeur %s existe déjà pour le type de données %s. Les valeurs Enum doivent être uniques.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_fr-TN.properties b/sormas-api/src/main/resources/validations_fr-TN.properties
index 39c9d223c88..45397dd1196 100644
--- a/sormas-api/src/main/resources/validations_fr-TN.properties
+++ b/sormas-api/src/main/resources/validations_fr-TN.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_hi-IN.properties b/sormas-api/src/main/resources/validations_hi-IN.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_hi-IN.properties
+++ b/sormas-api/src/main/resources/validations_hi-IN.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_hr-HR.properties b/sormas-api/src/main/resources/validations_hr-HR.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_hr-HR.properties
+++ b/sormas-api/src/main/resources/validations_hr-HR.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_it-CH.properties b/sormas-api/src/main/resources/validations_it-CH.properties
index fb6a8d2afde..4de9dcf0978 100644
--- a/sormas-api/src/main/resources/validations_it-CH.properties
+++ b/sormas-api/src/main/resources/validations_it-CH.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_it-IT.properties b/sormas-api/src/main/resources/validations_it-IT.properties
index aa4eda1232b..ccb2b2817e8 100644
--- a/sormas-api/src/main/resources/validations_it-IT.properties
+++ b/sormas-api/src/main/resources/validations_it-IT.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ja-JP.properties b/sormas-api/src/main/resources/validations_ja-JP.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_ja-JP.properties
+++ b/sormas-api/src/main/resources/validations_ja-JP.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ne-NP.properties b/sormas-api/src/main/resources/validations_ne-NP.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_ne-NP.properties
+++ b/sormas-api/src/main/resources/validations_ne-NP.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_nl-NL.properties b/sormas-api/src/main/resources/validations_nl-NL.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_nl-NL.properties
+++ b/sormas-api/src/main/resources/validations_nl-NL.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_no-NO.properties b/sormas-api/src/main/resources/validations_no-NO.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_no-NO.properties
+++ b/sormas-api/src/main/resources/validations_no-NO.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_pl-PL.properties b/sormas-api/src/main/resources/validations_pl-PL.properties
index 036c6773139..dded0ebca59 100644
--- a/sormas-api/src/main/resources/validations_pl-PL.properties
+++ b/sormas-api/src/main/resources/validations_pl-PL.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ps-AF.properties b/sormas-api/src/main/resources/validations_ps-AF.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_ps-AF.properties
+++ b/sormas-api/src/main/resources/validations_ps-AF.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_pt-PT.properties b/sormas-api/src/main/resources/validations_pt-PT.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_pt-PT.properties
+++ b/sormas-api/src/main/resources/validations_pt-PT.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ro-RO.properties b/sormas-api/src/main/resources/validations_ro-RO.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_ro-RO.properties
+++ b/sormas-api/src/main/resources/validations_ro-RO.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ru-RU.properties b/sormas-api/src/main/resources/validations_ru-RU.properties
index 936a1eaa3b0..897e32acb26 100644
--- a/sormas-api/src/main/resources/validations_ru-RU.properties
+++ b/sormas-api/src/main/resources/validations_ru-RU.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_sv-SE.properties b/sormas-api/src/main/resources/validations_sv-SE.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_sv-SE.properties
+++ b/sormas-api/src/main/resources/validations_sv-SE.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_sw-KE.properties b/sormas-api/src/main/resources/validations_sw-KE.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_sw-KE.properties
+++ b/sormas-api/src/main/resources/validations_sw-KE.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_tr-TR.properties b/sormas-api/src/main/resources/validations_tr-TR.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_tr-TR.properties
+++ b/sormas-api/src/main/resources/validations_tr-TR.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_uk-UA.properties b/sormas-api/src/main/resources/validations_uk-UA.properties
index d669e9447bb..aea21edec85 100644
--- a/sormas-api/src/main/resources/validations_uk-UA.properties
+++ b/sormas-api/src/main/resources/validations_uk-UA.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_ur-PK.properties b/sormas-api/src/main/resources/validations_ur-PK.properties
index 1e27541508c..d5ecdc4714c 100644
--- a/sormas-api/src/main/resources/validations_ur-PK.properties
+++ b/sormas-api/src/main/resources/validations_ur-PK.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-api/src/main/resources/validations_zh-CN.properties b/sormas-api/src/main/resources/validations_zh-CN.properties
index 195e74bb0b5..3d7687efa5e 100644
--- a/sormas-api/src/main/resources/validations_zh-CN.properties
+++ b/sormas-api/src/main/resources/validations_zh-CN.properties
@@ -286,4 +286,9 @@ defaultInfrastructureInvalidParentRegion = This district is in a different regio
defaultInfrastructureInvalidParentDistrict = This community is in a different district than the default district, or there is no default district.
defaultInfrastructureNotRemovableChildCommunity = You have to remove the default community before removing the default district.
defaultInfrastructureNotRemovableChildDistrict = You have to remove the default district before removing the default region.
-emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
\ No newline at end of file
+emailTemplateSubjectInvalid=The first line of the email template needs to start with a "\#" character followed by at most 50 characters
+customizableEnumValueAllowedCharacters = Value may only consist of uppercase letters, numbers, and the characters "_" and ".".
+customizableEnumValueEmptyTranslations = Please select languages and enter captions for all translations in the list.
+customizableEnumValueDuplicateLanguage = Please only add one translation per language.
+customizableEnumValueDuplicateValue = The value %s already exists for data type %s. Enum values have to be unique.
+attachedDocumentNotRelatedToEntity=The attached document is not related to the entity.
\ No newline at end of file
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java
index 59bc8e9823d..fe774f6b16d 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java
@@ -15,8 +15,6 @@
package de.symeda.sormas.app.backend.common;
-import static de.symeda.sormas.api.utils.FieldConstraints.CHARACTER_LIMIT_TEXT;
-
import java.lang.reflect.Array;
import java.math.BigInteger;
import java.sql.SQLException;
@@ -39,7 +37,6 @@
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.GenericRawResults;
import com.j256.ormlite.field.DataType;
-import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;
@@ -49,12 +46,7 @@
import android.text.TextUtils;
import android.util.Log;
-import javax.persistence.Column;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-
import de.symeda.sormas.api.Disease;
-import de.symeda.sormas.api.Language;
import de.symeda.sormas.api.caze.VaccinationStatus;
import de.symeda.sormas.api.caze.Vaccine;
import de.symeda.sormas.api.caze.VaccineManufacturer;
@@ -198,7 +190,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
public static final String DATABASE_NAME = "sormas.db";
// any time you make changes to your database objects, you may have to increase the database version
- public static final int DATABASE_VERSION = 356;
+ public static final int DATABASE_VERSION = 357;
private static DatabaseHelper instance = null;
@@ -3155,22 +3147,28 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
getDao(District.class).executeRaw("ALTER TABLE district ADD COLUMN defaultInfrastructure boolean default false;");
getDao(Community.class).executeRaw("ALTER TABLE community ADD COLUMN defaultInfrastructure boolean default false;");
- case 355:
- currentVersion = 355;
-
- getDao(User.class).executeRaw("ALTER TABLE users RENAME TO tmp_users;");
- getDao(User.class).executeRaw("CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, active BOOLEAN, address_id BIGINT REFERENCES location(id), associatedOfficer_id BIGINT REFERENCES users(id), community_id BIGINT REFERENCES community(id), district_id BIGINT REFERENCES district(id), firstName TEXT, healthFacility_id BIGINT REFERENCES facility(id), " +
- "jurisdictionLevel VARCHAR(255), language VARCHAR(255), lastName TEXT, limitedDiseases TEXT, phone TEXT, pointOfEntry_id BIGINT REFERENCES pointOfEntry(id), region_id BIGINT REFERENCES region(id), userEmail TEXT, userName TEXT, " +
- "changeDate TIMESTAMP NOT NULL, creationDate TIMESTAMP NOT NULL, lastOpenedDate TIMESTAMP, localChangeDate TIMESTAMP NOT NULL, modified BOOLEAN, snapshot BOOLEAN, uuid VARCHAR(36) NOT NULL, UNIQUE(snapshot, uuid));");
- getDao(User.class).executeRaw(
- "INSERT INTO users (active, address_id, associatedOfficer_id, community_id, district_id, firstName, healthFacility_id, " +
- "jurisdictionLevel, language, lastName, limitedDiseases, phone, pointOfEntry_id, region_id, userEmail, userName, " +
- "changeDate, creationDate, id, lastOpenedDate, localChangeDate, modified, snapshot, uuid) "
- + "SELECT active, address_id, associatedOfficer_id, community_id, district_id, firstName, healthFacility_id, " +
- "jurisdictionLevel, language, lastName, limitedDisease, phone, pointOfEntry_id, region_id, userEmail, userName, " +
- "changeDate, creationDate, id, lastOpenedDate, localChangeDate, modified, snapshot, uuid FROM tmp_users;");
- getDao(User.class).executeRaw("UPDATE users set limitedDiseases = '[' || limitedDiseases || ']' where limitedDiseases IS NOT NULL and limitedDiseases <> '';");
- getDao(Environment.class).executeRaw("DROP TABLE tmp_users;");
+ case 355:
+ currentVersion = 355;
+
+ getDao(User.class).executeRaw("ALTER TABLE users RENAME TO tmp_users;");
+ getDao(User.class).executeRaw(
+ "CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, active BOOLEAN, address_id BIGINT REFERENCES location(id), associatedOfficer_id BIGINT REFERENCES users(id), community_id BIGINT REFERENCES community(id), district_id BIGINT REFERENCES district(id), firstName TEXT, healthFacility_id BIGINT REFERENCES facility(id), "
+ + "jurisdictionLevel VARCHAR(255), language VARCHAR(255), lastName TEXT, limitedDiseases TEXT, phone TEXT, pointOfEntry_id BIGINT REFERENCES pointOfEntry(id), region_id BIGINT REFERENCES region(id), userEmail TEXT, userName TEXT, "
+ + "changeDate TIMESTAMP NOT NULL, creationDate TIMESTAMP NOT NULL, lastOpenedDate TIMESTAMP, localChangeDate TIMESTAMP NOT NULL, modified BOOLEAN, snapshot BOOLEAN, uuid VARCHAR(36) NOT NULL, UNIQUE(snapshot, uuid));");
+ getDao(User.class).executeRaw(
+ "INSERT INTO users (active, address_id, associatedOfficer_id, community_id, district_id, firstName, healthFacility_id, "
+ + "jurisdictionLevel, language, lastName, limitedDiseases, phone, pointOfEntry_id, region_id, userEmail, userName, "
+ + "changeDate, creationDate, id, lastOpenedDate, localChangeDate, modified, snapshot, uuid) "
+ + "SELECT active, address_id, associatedOfficer_id, community_id, district_id, firstName, healthFacility_id, "
+ + "jurisdictionLevel, language, lastName, limitedDisease, phone, pointOfEntry_id, region_id, userEmail, userName, "
+ + "changeDate, creationDate, id, lastOpenedDate, localChangeDate, modified, snapshot, uuid FROM tmp_users;");
+ getDao(User.class).executeRaw(
+ "UPDATE users set limitedDiseases = '[' || limitedDiseases || ']' where limitedDiseases IS NOT NULL and limitedDiseases <> '';");
+ getDao(Environment.class).executeRaw("DROP TABLE tmp_users;");
+
+ case 356:
+ currentVersion = 356;
+ getDao(PathogenTest.class).executeRaw("ALTER TABLE pathogenTest ADD COLUMN testedPathogenDetails varchar(512);");
// ATTENTION: break should only be done after last version
break;
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/customizableenum/CustomizableEnumValue.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/customizableenum/CustomizableEnumValue.java
index 2eef35ceb64..0b2e890f8a3 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/customizableenum/CustomizableEnumValue.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/customizableenum/CustomizableEnumValue.java
@@ -3,8 +3,10 @@
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -50,7 +52,7 @@ public class CustomizableEnumValue extends AbstractDomainObject {
@Column(name = "diseases")
private String diseasesString;
- private List diseases;
+ private Set diseases;
@Column
private String description;
@@ -131,19 +133,19 @@ public void setDiseasesString(String diseasesString) {
}
@Transient
- public List getDiseases() {
+ public Set getDiseases() {
if (diseases == null) {
if (StringUtils.isBlank(diseasesString)) {
- diseases = new ArrayList<>();
+ diseases = new HashSet<>();
} else {
- diseases = Stream.of(diseasesString.split(",")).map(Disease::valueOf).collect(Collectors.toList());
+ diseases = Stream.of(diseasesString.split(",")).map(Disease::valueOf).collect(Collectors.toSet());
}
}
return diseases;
}
- public void setDiseases(List diseases) {
+ public void setDiseases(Set diseases) {
this.diseases = diseases;
if (CollectionUtils.isNotEmpty(diseases)) {
diseasesString = diseases.stream().map(Disease::getName).collect(Collectors.joining(","));
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTest.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTest.java
index f45ab94e4d7..b39f5e0c7ce 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTest.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTest.java
@@ -94,6 +94,9 @@ public class PathogenTest extends PseudonymizableAdo {
private Pathogen testedPathogen;
+ @Column(length = CHARACTER_LIMIT_DEFAULT)
+ private String testedPathogenDetails;
+
@Column
private String typingId;
@@ -242,6 +245,14 @@ public void setTestedPathogen(Pathogen testedPathogen) {
}
}
+ public String getTestedPathogenDetails() {
+ return testedPathogenDetails;
+ }
+
+ public void setTestedPathogenDetails(String testedPathogenDetails) {
+ this.testedPathogenDetails = testedPathogenDetails;
+ }
+
public String getTypingId() {
return typingId;
}
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTestDtoHelper.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTestDtoHelper.java
index b538d305481..a90104d6c75 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTestDtoHelper.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/backend/sample/PathogenTestDtoHelper.java
@@ -73,6 +73,7 @@ protected void fillInnerFromDto(PathogenTest target, PathogenTestDto source) {
target.setTestedDiseaseDetails(source.getTestedDiseaseDetails());
target.setTestedDiseaseVariantDetails(source.getTestedDiseaseVariantDetails());
target.setTestedPathogen(source.getTestedPathogen());
+ target.setTestedPathogenDetails(source.getTestedPathogenDetails());
target.setTypingId(source.getTypingId());
target.setTestResultVerified(source.getTestResultVerified());
target.setTestResultText(source.getTestResultText());
@@ -112,6 +113,7 @@ protected void fillInnerFromAdo(PathogenTestDto target, PathogenTest source) {
target.setTestedDiseaseDetails(source.getTestedDiseaseDetails());
target.setTestedDiseaseVariantDetails(source.getTestedDiseaseVariantDetails());
target.setTestedPathogen(source.getTestedPathogen());
+ target.setTestedPathogenDetails(source.getTestedPathogenDetails());
target.setTypingId(source.getTypingId());
if (source.getLab() != null) {
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/component/controls/ControlTextReadField.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/component/controls/ControlTextReadField.java
index f21bc37fbb5..b0006112548 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/component/controls/ControlTextReadField.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/component/controls/ControlTextReadField.java
@@ -38,6 +38,7 @@
import androidx.databinding.BindingMethods;
import androidx.databinding.InverseBindingListener;
+import de.symeda.sormas.api.environment.environmentsample.Pathogen;
import de.symeda.sormas.api.environment.environmentsample.WeatherCondition;
import de.symeda.sormas.api.i18n.I18nProperties;
import de.symeda.sormas.api.person.ApproximateAgeType;
@@ -532,4 +533,16 @@ public static void setWeatherConditionsValue(ControlTextReadField textField, Map
textField.setValue(map.keySet().stream().filter(map::get).map(WeatherCondition::toString).collect(Collectors.joining(", ")));
}
}
+
+ @BindingAdapter(value = {
+ "pathogenValue",
+ "pathogenDetailsValue",
+ "defaultValue" }, requireAll = false)
+ public static void setPathogenValue(ControlTextReadField textField, Pathogen pathogen, String pathogenDetails, String defaultValue) {
+ if (pathogen == null) {
+ textField.setValue(defaultValue);
+ } else {
+ textField.setValue(pathogen.getCaption() + (StringUtils.isNotBlank(pathogenDetails) ? " (" + pathogenDetails + ")" : ""));
+ }
+ }
}
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/environment/edit/EnvironmentEditSampleListFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/environment/edit/EnvironmentEditSampleListFragment.java
index 904e83387e7..95935a4e4a0 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/environment/edit/EnvironmentEditSampleListFragment.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/environment/edit/EnvironmentEditSampleListFragment.java
@@ -107,8 +107,8 @@ public int getEditLayout() {
@Override
public void onListItemClick(View view, int position, Object item) {
- EnvironmentSample sample = (EnvironmentSample) item;
- EnvironmentSampleEditActivity.startActivity(getActivity(), sample.getUuid());
+ EnvironmentSampleListViewModel.SampleWithTestedPathogens sample = (EnvironmentSampleListViewModel.SampleWithTestedPathogens) item;
+ EnvironmentSampleEditActivity.startActivity(getActivity(), sample.getSample().getUuid());
}
@Override
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java
index 6ca02f496b8..2b53851e327 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java
@@ -27,6 +27,7 @@
import de.symeda.sormas.api.Disease;
import de.symeda.sormas.api.customizableenum.CustomizableEnumType;
import de.symeda.sormas.api.disease.DiseaseVariant;
+import de.symeda.sormas.api.environment.environmentsample.Pathogen;
import de.symeda.sormas.api.infrastructure.facility.FacilityDto;
import de.symeda.sormas.api.sample.PCRTestSpecification;
import de.symeda.sormas.api.sample.PathogenTestDto;
@@ -107,8 +108,7 @@ record = getActivityRootData();
diseaseVariantList.add(DataUtils.toItem(record.getTestedDiseaseVariant()));
}
- List pathogens =
- DatabaseHelper.getCustomizableEnumValueDao().getEnumValues(CustomizableEnumType.PATHOGEN, null);
+ List pathogens = DatabaseHelper.getCustomizableEnumValueDao().getEnumValues(CustomizableEnumType.PATHOGEN, null);
pathogenList = DataUtils.toItems(pathogens);
if (record.getTestedPathogen() != null && !diseaseVariants.contains(record.getTestedPathogen())) {
pathogenList.add(DataUtils.toItem(record.getTestedPathogen()));
@@ -177,9 +177,18 @@ public void onChange(ControlPropertyField field) {
});
contentBinding.pathogenTestTestedDiseaseVariant.initializeSpinner(diseaseVariantList);
- contentBinding.pathogenTestTestedPathogen.initializeSpinner(pathogenList);
+ contentBinding.pathogenTestTestedPathogenDetails.setVisibility(GONE);
+ contentBinding.pathogenTestTestedPathogen.initializeSpinner(pathogenList, e -> {
+ Pathogen pathogen = (Pathogen) e.getValue();
+ if (pathogen != null && pathogen.isHasDetails()) {
+ contentBinding.pathogenTestTestedPathogenDetails.setVisibility(VISIBLE);
+ } else {
+ contentBinding.pathogenTestTestedPathogenDetails.setVisibility(GONE);
+ contentBinding.pathogenTestTestedPathogenDetails.setValue(null);
+ }
+ });
- if(sample != null){
+ if (sample != null) {
contentBinding.pathogenTestTestedDiseaseLayout.setVisibility(VISIBLE);
contentBinding.pathogenTestTestedDisease.setRequired(true);
contentBinding.pathogenTestTestedPathogen.setVisibility(GONE);
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/read/PathogenTestReadFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/read/PathogenTestReadFragment.java
index f2d9d37af7e..28bece5d2cc 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/read/PathogenTestReadFragment.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/read/PathogenTestReadFragment.java
@@ -34,9 +34,6 @@
import de.symeda.sormas.app.backend.sample.PathogenTest;
import de.symeda.sormas.app.databinding.FragmentPathogenTestReadLayoutBinding;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-
public class PathogenTestReadFragment extends BaseReadFragment {
private PathogenTest record;
@@ -79,7 +76,7 @@ public void onLayoutBinding(FragmentPathogenTestReadLayoutBinding contentBinding
contentBinding.pathogenTestTestedDiseaseVariant.setVisibility(record.getTestedDiseaseVariant() != null ? VISIBLE : GONE);
}
- if(record.getSample() != null){
+ if (record.getSample() != null) {
contentBinding.pathogenTestTestedDiseaseLayout.setVisibility(VISIBLE);
contentBinding.pathogenTestTestedPathogen.setVisibility(GONE);
} else {
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/person/PersonContactDetailDialog.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/person/PersonContactDetailDialog.java
index 6fb39801951..329da8202b9 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/person/PersonContactDetailDialog.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/person/PersonContactDetailDialog.java
@@ -25,6 +25,7 @@
import androidx.databinding.library.baseAdapters.BR;
import androidx.fragment.app.FragmentActivity;
+import de.symeda.sormas.api.person.PersonContactDetailDto;
import de.symeda.sormas.api.person.PersonContactDetailType;
import de.symeda.sormas.api.person.PhoneNumberType;
import de.symeda.sormas.api.utils.ValidationException;
@@ -52,6 +53,7 @@ public PersonContactDetailDialog(
PersonContactDetail personContactDetail,
Person person,
PseudonymizableAdo activityRootData,
+ UiFieldAccessCheckers fieldAccessCheckers,
boolean create) {
super(
activity,
@@ -61,7 +63,7 @@ public PersonContactDetailDialog(
R.string.heading_person_contact_detail,
-1,
false,
- UiFieldAccessCheckers.forSensitiveData(personContactDetail.isPseudonymized()),
+ fieldAccessCheckers,
FieldVisibilityCheckers.withDisease(PersonFragmentHelper.getDiseaseOfAssociatedEntity(activityRootData)));
this.data = personContactDetail;
@@ -82,6 +84,8 @@ protected void initializeContentView(ViewDataBinding rootBinding, ViewDataBindin
contentBinding.personContactDetailPersonContactDetailType.initializeSpinner(DataUtils.getEnumItems(PersonContactDetailType.class, true));
contentBinding.personContactDetailPhoneNumberType.initializeSpinner(DataUtils.getEnumItems(PhoneNumberType.class, true));
+ setFieldVisibilitiesAndAccesses(PersonContactDetailDto.class, contentBinding.mainContent);
+
contentBinding.personContactDetailPersonContactDetailType.addValueChangedListener(e -> {
if (e.getValue() != PersonContactDetailType.OTHER
&& (data.getPhoneNumberType() == null || data.getPhoneNumberType() != PhoneNumberType.OTHER)) {
diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/person/edit/PersonEditFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/person/edit/PersonEditFragment.java
index 99bc15d7697..281dd1a408b 100644
--- a/sormas-app/app/src/main/java/de/symeda/sormas/app/person/edit/PersonEditFragment.java
+++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/person/edit/PersonEditFragment.java
@@ -43,6 +43,7 @@
import de.symeda.sormas.api.person.CauseOfDeath;
import de.symeda.sormas.api.person.DeathPlaceType;
import de.symeda.sormas.api.person.EducationType;
+import de.symeda.sormas.api.person.PersonContactDetailDto;
import de.symeda.sormas.api.person.PersonDto;
import de.symeda.sormas.api.person.PresentCondition;
import de.symeda.sormas.api.person.Salutation;
@@ -371,6 +372,10 @@ private void setLocationFieldVisibilitiesAndAccesses(View view) {
setFieldVisibilitiesAndAccesses(LocationDto.class, (ViewGroup) view);
}
+ private void setPersonContactDetailFieldVisibilitiesAndAccesses(View view) {
+ setFieldVisibilitiesAndAccesses(PersonContactDetailDto.class, (ViewGroup) view);
+ }
+
private void setBurialFieldVisibilities(final FragmentPersonEditLayoutBinding contentBinding) {
if (PresentCondition.BURIED.equals(contentBinding.personPresentCondition.getValue())) {
if (isVisibleAllowed(PersonDto.class, contentBinding.personBurialDate)) {
@@ -416,8 +421,13 @@ private void setUpControlListeners() {
onPersonContactDetailItemClickListener = (v, item) -> {
final PersonContactDetail personContactDetail = (PersonContactDetail) item;
final PersonContactDetail personContactDetailClone = (PersonContactDetail) personContactDetail.clone();
- final PersonContactDetailDialog dialog =
- new PersonContactDetailDialog(BaseActivity.getActiveActivity(), personContactDetailClone, record, getActivityRootData(), false);
+ final PersonContactDetailDialog dialog = new PersonContactDetailDialog(
+ BaseActivity.getActiveActivity(),
+ personContactDetailClone,
+ record,
+ getActivityRootData(),
+ getFieldAccessCheckers(),
+ false);
dialog.setPositiveCallback(() -> checkExistingPrimaryContactDetails(personContactDetailClone, dialog, () -> {
record.getPersonContactDetails().set(record.getPersonContactDetails().indexOf(personContactDetail), personContactDetailClone);
@@ -445,8 +455,13 @@ private void setUpControlListeners() {
getContentBinding().btnAddPersonContactDetail.setOnClickListener(v -> {
final PersonContactDetail personContactDetail = DatabaseHelper.getPersonContactDetailDao().build();
- final PersonContactDetailDialog dialog =
- new PersonContactDetailDialog(BaseActivity.getActiveActivity(), personContactDetail, record, getActivityRootData(), true);
+ final PersonContactDetailDialog dialog = new PersonContactDetailDialog(
+ BaseActivity.getActiveActivity(),
+ personContactDetail,
+ record,
+ getActivityRootData(),
+ getFieldAccessCheckers(),
+ true);
dialog.setPositiveCallback(() -> checkExistingPrimaryContactDetails(personContactDetail, dialog, () -> {
record.getPersonContactDetails().add(0, personContactDetail);
@@ -475,7 +490,7 @@ private void addAddress(Location item) {
private void updatePersonContactDetails() {
getContentBinding().setPersonContactDetailList(getPersonContactDetails());
- getContentBinding().setPersonContactDetailBindCallback(this::setLocationFieldVisibilitiesAndAccesses);
+ getContentBinding().setPersonContactDetailBindCallback(this::setPersonContactDetailFieldVisibilitiesAndAccesses);
}
private void removePersonContactDetail(PersonContactDetail item) {
@@ -572,7 +587,7 @@ public void onLayoutBinding(FragmentPersonEditLayoutBinding contentBinding) {
contentBinding.setPersonContactDetailList(getPersonContactDetails());
contentBinding.setPersonContactDetailItemClickCallback(onPersonContactDetailItemClickListener);
- getContentBinding().setPersonContactDetailBindCallback(this::setLocationFieldVisibilitiesAndAccesses);
+ getContentBinding().setPersonContactDetailBindCallback(this::setPersonContactDetailFieldVisibilitiesAndAccesses);
setUpLayoutBinding(this, record, contentBinding);
}
diff --git a/sormas-app/app/src/main/res/layout/fragment_pathogen_test_edit_layout.xml b/sormas-app/app/src/main/res/layout/fragment_pathogen_test_edit_layout.xml
index 2a799a69160..938776afa76 100644
--- a/sormas-app/app/src/main/res/layout/fragment_pathogen_test_edit_layout.xml
+++ b/sormas-app/app/src/main/res/layout/fragment_pathogen_test_edit_layout.xml
@@ -119,6 +119,11 @@
app:value="@={data.testedPathogen}"
style="@style/ControlSingleColumnStyle" />
+
+
+
@@ -78,7 +79,7 @@
android:maxLines="1"
android:ellipsize="end"
android:visibility="@{data.testedPathogen != null ? View.VISIBLE : View.GONE}"
- app:value="@{data.testedPathogen}" />
+ app:value="@{DataHelper.getPathogenString(data.testedPathogen, data.testedPathogenDetails)}" />
diff --git a/sormas-app/app/src/main/res/layout/row_task_list_item_layout.xml b/sormas-app/app/src/main/res/layout/row_task_list_item_layout.xml
index fa2c820c142..be69209f923 100644
--- a/sormas-app/app/src/main/res/layout/row_task_list_item_layout.xml
+++ b/sormas-app/app/src/main/res/layout/row_task_list_item_layout.xml
@@ -21,6 +21,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
+
+
@@ -61,10 +63,23 @@
android:textSize="@dimen/listActivityRowTertiaryTextSize"
android:textColor="@color/listActivityRowTertiaryText"
android:fontFamily="sans-serif-medium"
+ android:visibility="@{data.environment != null ? View.GONE : View.VISIBLE}"
app:diseaseValue="@{data}"
app:defaultValue='@{@string/value_disease_unknown}'
/>
+
+
@@ -182,10 +197,28 @@
android:scrollHorizontally="true"
android:maxLines="1"
android:ellipsize="end"
+ android:visibility="@{data.environment != null ? View.GONE : View.VISIBLE}"
app:patientValue="@{data}"
app:defaultValue='@{@string/value_person_unknown}'
/>
+
+
+
+ org.apache.pdfbox
+ pdfbox
+
+
+
+
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java
index df21835150b..67319f28f7e 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java
@@ -169,7 +169,7 @@
import de.symeda.sormas.api.infrastructure.region.RegionReferenceDto;
import de.symeda.sormas.api.location.LocationDto;
import de.symeda.sormas.api.location.LocationReferenceDto;
-import de.symeda.sormas.api.messaging.ManualMessageLogDto;
+import de.symeda.sormas.api.manualmessagelog.ManualMessageLogDto;
import de.symeda.sormas.api.messaging.MessageType;
import de.symeda.sormas.api.person.ApproximateAgeType;
import de.symeda.sormas.api.person.CauseOfDeath;
@@ -242,7 +242,7 @@
import de.symeda.sormas.backend.common.ConfigFacadeEjb.ConfigFacadeEjbLocal;
import de.symeda.sormas.backend.common.CriteriaBuilderHelper;
import de.symeda.sormas.backend.common.NotificationService;
-import de.symeda.sormas.backend.common.messaging.ManualMessageLogService;
+import de.symeda.sormas.backend.manualmessagelog.ManualMessageLogService;
import de.symeda.sormas.backend.common.messaging.MessageContents;
import de.symeda.sormas.backend.common.messaging.MessageSubject;
import de.symeda.sormas.backend.common.messaging.MessagingService;
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseListCriteriaBuilder.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseListCriteriaBuilder.java
index 2864f49effe..e0dca473768 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseListCriteriaBuilder.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseListCriteriaBuilder.java
@@ -203,6 +203,10 @@ private CriteriaQuery buildIndexCriteria(
if (caseCriteria != null) {
caseUserFilterCriteria.setIncludeCasesFromOtherJurisdictions(caseCriteria.getIncludeCasesFromOtherJurisdictions());
}
+
+ if (currentUserService.hasRestrictedAccessToAssignedEntities()) {
+ caseUserFilterCriteria.setRestrictAccessToAssignedEntities(true);
+ }
Predicate filter = caseService.createUserFilter(caseQueryContext, caseUserFilterCriteria);
if (!prefetchIds) {
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseService.java
index e97ef29a18b..684a4d73873 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseService.java
@@ -1394,6 +1394,11 @@ public Predicate createUserFilter(CaseQueryContext caseQueryContext, CaseUserFil
Predicate filter = null;
final JurisdictionLevel jurisdictionLevel = currentUser.getJurisdictionLevel();
+
+ if (currentUserHasRestrictedAccessToAssignedEntities()) {
+ filter = CriteriaBuilderHelper.and(cb, filter, cb.equal(casePath.get(Case.SURVEILLANCE_OFFICER).get(User.ID), currentUser.getId()));
+ }
+
if (jurisdictionLevel != JurisdictionLevel.NATION) {
// whoever created the case or is assigned to it is allowed to access it
if (userFilterCriteria == null || (userFilterCriteria.getIncludeCasesFromOtherJurisdictions())) {
@@ -1405,61 +1410,63 @@ public Predicate createUserFilter(CaseQueryContext caseQueryContext, CaseUserFil
filterResponsible = cb.disjunction();
}
- switch (jurisdictionLevel) {
- case REGION:
- final Region region = currentUser.getRegion();
- if (region != null) {
- filter = CriteriaBuilderHelper.or(
- cb,
- filter,
- cb.equal(casePath.get(Case.REGION).get(Region.ID), region.getId()),
- cb.equal(casePath.get(Case.RESPONSIBLE_REGION).get(Region.ID), region.getId()));
- }
- break;
- case DISTRICT:
- final District district = currentUser.getDistrict();
- if (district != null) {
- filter = CriteriaBuilderHelper.or(
- cb,
- filter,
- cb.equal(casePath.get(Case.DISTRICT).get(District.ID), district.getId()),
- cb.equal(casePath.get(Case.RESPONSIBLE_DISTRICT).get(District.ID), district.getId()));
- }
- break;
- case HEALTH_FACILITY:
- final Facility healthFacility = currentUser.getHealthFacility();
- if (healthFacility != null) {
- filter =
- CriteriaBuilderHelper.or(cb, filter, cb.equal(casePath.get(Case.HEALTH_FACILITY).get(Facility.ID), healthFacility.getId()));
- }
- break;
- case COMMUNITY:
- final Community community = currentUser.getCommunity();
- if (community != null) {
- filter = CriteriaBuilderHelper.or(
- cb,
- filter,
- cb.equal(casePath.get(Case.COMMUNITY).get(Community.ID), community.getId()),
- cb.equal(casePath.get(Case.RESPONSIBLE_COMMUNITY).get(Community.ID), community.getId()));
- }
- break;
- case POINT_OF_ENTRY:
- final PointOfEntry pointOfEntry = currentUser.getPointOfEntry();
- if (pointOfEntry != null) {
- filter =
- CriteriaBuilderHelper.or(cb, filter, cb.equal(casePath.get(Case.POINT_OF_ENTRY).get(PointOfEntry.ID), pointOfEntry.getId()));
+ if (!currentUserHasRestrictedAccessToAssignedEntities()) {
+ switch (jurisdictionLevel) {
+ case REGION:
+ final Region region = currentUser.getRegion();
+ if (region != null) {
+ filter = CriteriaBuilderHelper.or(
+ cb,
+ filter,
+ cb.equal(casePath.get(Case.REGION).get(Region.ID), region.getId()),
+ cb.equal(casePath.get(Case.RESPONSIBLE_REGION).get(Region.ID), region.getId()));
+ }
+ break;
+ case DISTRICT:
+ final District district = currentUser.getDistrict();
+ if (district != null) {
+ filter = CriteriaBuilderHelper.or(
+ cb,
+ filter,
+ cb.equal(casePath.get(Case.DISTRICT).get(District.ID), district.getId()),
+ cb.equal(casePath.get(Case.RESPONSIBLE_DISTRICT).get(District.ID), district.getId()));
+ }
+ break;
+ case HEALTH_FACILITY:
+ final Facility healthFacility = currentUser.getHealthFacility();
+ if (healthFacility != null) {
+ filter = CriteriaBuilderHelper
+ .or(cb, filter, cb.equal(casePath.get(Case.HEALTH_FACILITY).get(Facility.ID), healthFacility.getId()));
+ }
+ break;
+ case COMMUNITY:
+ final Community community = currentUser.getCommunity();
+ if (community != null) {
+ filter = CriteriaBuilderHelper.or(
+ cb,
+ filter,
+ cb.equal(casePath.get(Case.COMMUNITY).get(Community.ID), community.getId()),
+ cb.equal(casePath.get(Case.RESPONSIBLE_COMMUNITY).get(Community.ID), community.getId()));
+ }
+ break;
+ case POINT_OF_ENTRY:
+ final PointOfEntry pointOfEntry = currentUser.getPointOfEntry();
+ if (pointOfEntry != null) {
+ filter = CriteriaBuilderHelper
+ .or(cb, filter, cb.equal(casePath.get(Case.POINT_OF_ENTRY).get(PointOfEntry.ID), pointOfEntry.getId()));
+ }
+ break;
+ case LABORATORY:
+ final Subquery sampleSubQuery = cq.subquery(Long.class);
+ final Root sampleRoot = sampleSubQuery.from(Sample.class);
+ final SampleJoins joins = new SampleJoins(sampleRoot);
+ final Join cazeJoin = joins.getCaze();
+ sampleSubQuery.where(cb.and(cb.equal(cazeJoin, casePath), sampleService.createUserFilterWithoutAssociations(cb, joins)));
+ sampleSubQuery.select(sampleRoot.get(Sample.ID));
+ filter = CriteriaBuilderHelper.or(cb, filter, cb.exists(sampleSubQuery));
+ break;
+ default:
}
- break;
- case LABORATORY:
- final Subquery sampleSubQuery = cq.subquery(Long.class);
- final Root sampleRoot = sampleSubQuery.from(Sample.class);
- final SampleJoins joins = new SampleJoins(sampleRoot);
- final Join cazeJoin = joins.getCaze();
- sampleSubQuery.where(cb.and(cb.equal(cazeJoin, casePath), sampleService.createUserFilterWithoutAssociations(cb, joins)));
- sampleSubQuery.select(sampleRoot.get(Sample.ID));
- filter = CriteriaBuilderHelper.or(cb, filter, cb.exists(sampleSubQuery));
- break;
- default:
}
// get all cases based on the user's contact association
@@ -1680,12 +1687,20 @@ public EditPermissionType isAddContactAllowed(Case caze) {
return EditPermissionType.REFUSED;
}
+ if (currentUserHasRestrictedAccessToAssignedEntities() && !DataHelper.equal(caze.getSurveillanceOfficer(), getCurrentUser())) {
+ return EditPermissionType.REFUSED;
+ }
+
return super.getEditPermissionType(caze);
}
@Override
public EditPermissionType getEditPermissionType(Case caze) {
+ if (currentUserHasRestrictedAccessToAssignedEntities() && !DataHelper.equal(caze.getSurveillanceOfficer(), getCurrentUser())) {
+ return EditPermissionType.REFUSED;
+ }
+
if (!inJurisdictionOrOwned(caze)) {
return EditPermissionType.OUTSIDE_JURISDICTION;
}
@@ -2337,11 +2352,11 @@ public String getCaseUuidForAutomaticSampleAssignment(Set uuids, Disease
cb.lessThanOrEqualTo(
CriteriaBuilderHelper.dateDiff(
cb,
- cb.function(
- ExtendedPostgreSQL94Dialect.DATE,
- Date.class,
- CriteriaBuilderHelper.coalesce(cb, Date.class, earliestSampleSq, caseRoot.get(Case.REPORT_DATE))),
- cb.function(ExtendedPostgreSQL94Dialect.DATE, Date.class, cb.literal(new Date()))),
+ cb.function(
+ ExtendedPostgreSQL94Dialect.DATE,
+ Date.class,
+ CriteriaBuilderHelper.coalesce(cb, Date.class, earliestSampleSq, caseRoot.get(Case.REPORT_DATE))),
+ cb.function(ExtendedPostgreSQL94Dialect.DATE, Date.class, cb.literal(new Date()))),
Long.valueOf(TimeUnit.DAYS.toSeconds(automaticSampleAssignmentThreshold)).doubleValue()));
List caseUuids = em.createQuery(cq).getResultList();
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseUserFilterCriteria.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseUserFilterCriteria.java
index 0fa3eb01809..58a9cbe5687 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseUserFilterCriteria.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseUserFilterCriteria.java
@@ -8,6 +8,7 @@ public class CaseUserFilterCriteria {
private boolean excludeCasesFromContacts;
private Boolean includeCasesFromOtherJurisdictions = Boolean.FALSE;
private boolean excludeLimitedSyncRestrictions;
+ private boolean restrictAccessToAssignedEntities;
public boolean isExcludeCasesFromContacts() {
return excludeCasesFromContacts;
@@ -39,4 +40,12 @@ public CaseUserFilterCriteria excludeLimitedSyncRestrictions(boolean excludeLimi
this.excludeLimitedSyncRestrictions = excludeLimitedSyncRestrictions;
return this;
}
+
+ public boolean isRestrictAccessToAssignedEntities() {
+ return restrictAccessToAssignedEntities;
+ }
+
+ public void setRestrictAccessToAssignedEntities(boolean restrictAccessToAssignedEntities) {
+ this.restrictAccessToAssignedEntities = restrictAccessToAssignedEntities;
+ }
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/BaseAdoService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/BaseAdoService.java
index bdf6e4ea2a9..1c8d252c7ae 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/BaseAdoService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/BaseAdoService.java
@@ -94,6 +94,10 @@ public User getCurrentUser() {
return currentUserService.getCurrentUser();
}
+ public boolean currentUserHasRestrictedAccessToAssignedEntities() {
+ return currentUserService.hasRestrictedAccessToAssignedEntities();
+ }
+
public boolean hasRight(UserRight right) {
return currentUserService.hasUserRight(right);
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/ConfigFacadeEjb.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/ConfigFacadeEjb.java
index 5b2046bd001..033258a9889 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/ConfigFacadeEjb.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/ConfigFacadeEjb.java
@@ -101,6 +101,7 @@ public class ConfigFacadeEjb implements ConfigFacade {
public static final String SMS_AUTH_SECRET = "sms.auth.secret";
public static final String DUPLICATE_CHECKS_EXCLUDE_PERSONS_OF_ACHIVED_ENTRIES = "duplicatechecks.excludepersonsonlylinkedtoarchivedentries";
+ public static final String DUPLICATE_CHECKS_NATIONAL_HEALTH_ID_OVERRIDES_CRITERIA = "duplicatechecks.nationalhealthidoverridescriteria";
public static final String NAME_SIMILARITY_THRESHOLD = "namesimilaritythreshold";
public static final String INFRASTRUCTURE_SYNC_THRESHOLD = "infrastructuresyncthreshold";
@@ -436,6 +437,11 @@ public boolean isDuplicateChecksExcludePersonsOfArchivedEntries() {
return getBoolean(DUPLICATE_CHECKS_EXCLUDE_PERSONS_OF_ACHIVED_ENTRIES, false);
}
+ @Override
+ public boolean isDuplicateChecksNationalHealthIdOverridesCriteria() {
+ return getBoolean(DUPLICATE_CHECKS_NATIONAL_HEALTH_ID_OVERRIDES_CRITERIA, false);
+ }
+
@Override
public double getNameSimilarityThreshold() {
return getDouble(NAME_SIMILARITY_THRESHOLD, PersonHelper.DEFAULT_NAME_SIMILARITY_THRESHOLD);
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/EmailService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/EmailService.java
index 5b0c78f8439..9ee6b5c03af 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/EmailService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/EmailService.java
@@ -17,8 +17,12 @@
*******************************************************************************/
package de.symeda.sormas.backend.common.messaging;
+import java.io.File;
import java.io.UnsupportedEncodingException;
+import java.util.Map;
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
import javax.annotation.Resource;
import javax.ejb.Asynchronous;
import javax.ejb.EJB;
@@ -26,10 +30,14 @@
import javax.ejb.Stateless;
import javax.mail.Message;
import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,10 +57,39 @@ public class EmailService {
private ConfigFacadeEjbLocal configFacade;
@Asynchronous
- public void sendEmail(String recipient, String subject, String content) throws MessagingException {
+ public void sendEmailAsync(String recipient, String subject, String content) throws MessagingException {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+ sendEmailAsync(recipient, subject, content, "text/plain; charset=utf-8");
+ }
+
+ public void sendEmail(String recipient, String subject, String content, Map attachments) throws MessagingException {
+
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+
+ Multipart multipart = new MimeMultipart();
+ MimeBodyPart messageBodyPart = new MimeBodyPart();
+ messageBodyPart.setContent(content, "text/plain; charset=utf-8");
+
+ multipart.addBodyPart(messageBodyPart);
+
+ for (Map.Entry attachment : attachments.entrySet()) {
+ File file = attachment.getKey();
+ String fileName = attachment.getValue();
+
+ MimeBodyPart attachPart = new MimeBodyPart();
+ attachPart.setDataHandler(new DataHandler(new FileDataSource(file)));
+ attachPart.setFileName(fileName);
+ attachPart.setDisposition(Part.ATTACHMENT);
+
+ multipart.addBodyPart(attachPart);
+ }
+
+ sendEmailAsync(recipient, subject, multipart, null);
+ }
+
+ private void sendEmailAsync(String recipient, String subject, Object content, String contentType) throws MessagingException {
MimeMessage message = new MimeMessage(mailSession);
String senderAddress = configFacade.getEmailSenderAddress();
@@ -66,9 +103,8 @@ public void sendEmail(String recipient, String subject, String content) throws M
}
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient, false));
-
message.setSubject(subject, "UTF-8");
- message.setContent(content, "text/plain; charset=utf-8");
+ message.setContent(content, contentType);
Transport.send(message);
logger.info("Mail sent to {}.", recipient);
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLog.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLog.java
deleted file mode 100644
index 01ad54bebe8..00000000000
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLog.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package de.symeda.sormas.backend.common.messaging;
-
-import java.util.Date;
-
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-
-import de.symeda.sormas.api.messaging.MessageType;
-import de.symeda.sormas.backend.common.AbstractDomainObject;
-import de.symeda.sormas.backend.person.Person;
-import de.symeda.sormas.backend.user.User;
-
-@Entity
-public class ManualMessageLog extends AbstractDomainObject {
-
- public static final String TABLE_NAME = "manualmessagelog";
-
- public static final String MESSAGE_TYPE = "messageType";
- public static final String SENT_DATE = "sentDate";
- public static final String SENDING_USER = "sendingUser";
- public static final String RECIPIENT_PERSON = "recipientPerson";
-
- private MessageType messageType;
- private Date sentDate;
- private User sendingUser;
- private Person recipientPerson;
-
- @Enumerated(EnumType.STRING)
- public MessageType getMessageType() {
- return messageType;
- }
-
- public void setMessageType(MessageType messageType) {
- this.messageType = messageType;
- }
-
- @Temporal(TemporalType.TIMESTAMP)
- public Date getSentDate() {
- return sentDate;
- }
-
- public void setSentDate(Date sentDate) {
- this.sentDate = sentDate;
- }
-
- @ManyToOne(cascade = {}, fetch = FetchType.LAZY)
- @JoinColumn(nullable = false)
- public User getSendingUser() {
- return sendingUser;
- }
-
- public void setSendingUser(User sendingUser) {
- this.sendingUser = sendingUser;
- }
-
- @ManyToOne(cascade = {})
- @JoinColumn(nullable = false)
- public Person getRecipientPerson() {
- return recipientPerson;
- }
-
- public void setRecipientPerson(Person recipientPerson) {
- this.recipientPerson = recipientPerson;
- }
-}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLogService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLogService.java
deleted file mode 100644
index 7eea18457ce..00000000000
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/ManualMessageLogService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package de.symeda.sormas.backend.common.messaging;
-
-import java.util.List;
-
-import javax.ejb.LocalBean;
-import javax.ejb.Stateless;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import javax.validation.constraints.NotNull;
-
-import de.symeda.sormas.api.messaging.MessageType;
-import de.symeda.sormas.backend.common.BaseAdoService;
-import de.symeda.sormas.backend.person.Person;
-
-@Stateless
-@LocalBean
-public class ManualMessageLogService extends BaseAdoService {
-
- public static final int MANUAL_MESSAGE_LOG_LIMIT = 5;
-
- public ManualMessageLogService() {
- super(ManualMessageLog.class);
- }
-
- public List getByPersonUuid(@NotNull String personUuid, MessageType messageType) {
-
- final CriteriaBuilder cb = em.getCriteriaBuilder();
- final CriteriaQuery cq = cb.createQuery(ManualMessageLog.class);
- final Root manualMessageLogRoot = cq.from(ManualMessageLog.class);
-
- final Predicate filter = cb.and(
- cb.equal(manualMessageLogRoot.get(ManualMessageLog.RECIPIENT_PERSON).get(Person.UUID), personUuid),
- cb.equal(manualMessageLogRoot.get(ManualMessageLog.MESSAGE_TYPE), messageType));
-
- cq.where(filter);
- cq.orderBy(cb.desc(manualMessageLogRoot.get(ManualMessageLog.SENT_DATE)));
-
- return em.createQuery(cq).setMaxResults(MANUAL_MESSAGE_LOG_LIMIT).getResultList();
- }
-
- public List getByPersonUuid(@NotNull String personUuid) {
-
- final CriteriaBuilder cb = em.getCriteriaBuilder();
- final CriteriaQuery cq = cb.createQuery(ManualMessageLog.class);
- final Root manualMessageLogRoot = cq.from(ManualMessageLog.class);
-
- cq.where(cb.equal(manualMessageLogRoot.get(ManualMessageLog.RECIPIENT_PERSON).get(Person.UUID), personUuid));
- cq.orderBy(cb.desc(manualMessageLogRoot.get(ManualMessageLog.SENT_DATE)));
-
- return em.createQuery(cq).setMaxResults(MANUAL_MESSAGE_LOG_LIMIT).getResultList();
- }
-}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/MessagingService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/MessagingService.java
index 5b651065034..6d6ac5c9dd9 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/MessagingService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/common/messaging/MessagingService.java
@@ -36,6 +36,8 @@
import de.symeda.sormas.api.messaging.MessageType;
import de.symeda.sormas.api.utils.DataHelper;
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
+import de.symeda.sormas.backend.manualmessagelog.ManualMessageLog;
+import de.symeda.sormas.backend.manualmessagelog.ManualMessageLogService;
import de.symeda.sormas.backend.person.Person;
import de.symeda.sormas.backend.user.User;
import de.symeda.sormas.backend.user.UserService;
@@ -132,7 +134,7 @@ private void sendEmail(String subject, String messageContent, String emailAddres
logger.info(String.format("Tried to send an email to a %s without an email address (UUID: %s).", recipientType, recipientUuid));
} else {
try {
- emailService.sendEmail(emailAddress, subject, messageContent);
+ emailService.sendEmailAsync(emailAddress, subject, messageContent);
} catch (MessagingException e) {
logError(recipientUuid, recipientType, MessageType.EMAIL);
throw new NotificationDeliveryFailedException("Email could not be sent due to an unexpected error.", MessageType.EMAIL, e);
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/contact/ContactService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/contact/ContactService.java
index 57868211d23..eca0c747ad0 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/contact/ContactService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/contact/ContactService.java
@@ -1078,49 +1078,56 @@ public Predicate createUserFilterWithoutCase(ContactQueryContext qc, ContactCrit
CriteriaQuery> cq = qc.getQuery();
From, Contact> contactRoot = qc.getRoot();
+ Predicate filter = null;
+
+ if (currentUserHasRestrictedAccessToAssignedEntities()) {
+ filter = CriteriaBuilderHelper.and(cb, filter, cb.equal(contactRoot.get(Contact.CONTACT_OFFICER).get(User.ID), getCurrentUser().getId()));
+ }
+
// National users can access all contacts in the system
final JurisdictionLevel jurisdictionLevel = currentUser.getJurisdictionLevel();
if ((jurisdictionLevel == JurisdictionLevel.NATION && !UserRole.isPortHealthUser(currentUser.getUserRoles()))) {
return CriteriaBuilderHelper.limitedDiseasePredicate(cb, currentUser, contactRoot.get(Contact.DISEASE));
}
- Predicate filter = null;
// whoever created it or is assigned to it is allowed to access it
if (contactCriteria == null || contactCriteria.getIncludeContactsFromOtherJurisdictions()) {
filter = cb.equal(contactRoot.get(Contact.REPORTING_USER), currentUser);
filter = cb.or(filter, cb.equal(contactRoot.get(Contact.CONTACT_OFFICER), currentUser));
}
- switch (jurisdictionLevel) {
- case REGION:
- final Region region = currentUser.getRegion();
- if (region != null) {
- filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.REGION), currentUser.getRegion()));
- }
- break;
- case DISTRICT:
- final District district = currentUser.getDistrict();
- if (district != null) {
- filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.DISTRICT), currentUser.getDistrict()));
- }
- break;
- case COMMUNITY:
- final Community community = currentUser.getCommunity();
- if (community != null) {
- filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.COMMUNITY), currentUser.getCommunity()));
+ if (!currentUserHasRestrictedAccessToAssignedEntities()) {
+ switch (jurisdictionLevel) {
+ case REGION:
+ final Region region = currentUser.getRegion();
+ if (region != null) {
+ filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.REGION), currentUser.getRegion()));
+ }
+ break;
+ case DISTRICT:
+ final District district = currentUser.getDistrict();
+ if (district != null) {
+ filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.DISTRICT), currentUser.getDistrict()));
+ }
+ break;
+ case COMMUNITY:
+ final Community community = currentUser.getCommunity();
+ if (community != null) {
+ filter = CriteriaBuilderHelper.or(cb, filter, cb.equal(contactRoot.get(Contact.COMMUNITY), currentUser.getCommunity()));
+ }
+ break;
+ case LABORATORY:
+ final Subquery sampleSubQuery = cq.subquery(Long.class);
+ final Root sampleRoot = sampleSubQuery.from(Sample.class);
+ final SampleJoins joins = new SampleJoins(sampleRoot);
+ final Join contactJoin = joins.getContact();
+
+ sampleSubQuery.where(cb.and(cb.equal(contactJoin, contactRoot), sampleService.createUserFilterWithoutAssociations(cb, joins)));
+ sampleSubQuery.select(sampleRoot.get(Sample.ID));
+ filter = CriteriaBuilderHelper.or(cb, filter, cb.exists(sampleSubQuery));
+ break;
+ default:
}
- break;
- case LABORATORY:
- final Subquery sampleSubQuery = cq.subquery(Long.class);
- final Root sampleRoot = sampleSubQuery.from(Sample.class);
- final SampleJoins joins = new SampleJoins(sampleRoot);
- final Join contactJoin = joins.getContact();
-
- sampleSubQuery.where(cb.and(cb.equal(contactJoin, contactRoot), sampleService.createUserFilterWithoutAssociations(cb, joins)));
- sampleSubQuery.select(sampleRoot.get(Sample.ID));
- filter = CriteriaBuilderHelper.or(cb, filter, cb.exists(sampleSubQuery));
- break;
- default:
}
filter = CriteriaBuilderHelper.and(
@@ -1837,6 +1844,10 @@ public EditPermissionType getEditPermissionType(Contact contact) {
return EditPermissionType.OUTSIDE_JURISDICTION;
}
+ if (currentUserHasRestrictedAccessToAssignedEntities() && !DataHelper.equal(contact.getContactOfficer(), (getCurrentUser()))) {
+ return EditPermissionType.REFUSED;
+ }
+
if (sormasToSormasShareInfoService.isContactOwnershipHandedOver(contact)
|| (contact.getSormasToSormasOriginInfo() != null && !contact.getSormasToSormasOriginInfo().isOwnershipHandedOver())) {
return EditPermissionType.WITHOUT_OWNERSHIP;
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumFacadeEjb.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumFacadeEjb.java
index f5575b7fb67..0eccc6f0049 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumFacadeEjb.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumFacadeEjb.java
@@ -15,6 +15,8 @@
package de.symeda.sormas.backend.customizableenum;
+import static de.symeda.sormas.backend.util.QueryHelper.getResultList;
+
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Comparator;
@@ -35,6 +37,13 @@
import javax.ejb.LockType;
import javax.ejb.Singleton;
import javax.ejb.Stateless;
+import javax.inject.Inject;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Expression;
+import javax.persistence.criteria.Order;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -43,17 +52,31 @@
import de.symeda.sormas.api.Language;
import de.symeda.sormas.api.customizableenum.CustomEnumNotFoundException;
import de.symeda.sormas.api.customizableenum.CustomizableEnum;
+import de.symeda.sormas.api.customizableenum.CustomizableEnumCriteria;
import de.symeda.sormas.api.customizableenum.CustomizableEnumFacade;
+import de.symeda.sormas.api.customizableenum.CustomizableEnumHelper;
import de.symeda.sormas.api.customizableenum.CustomizableEnumTranslation;
import de.symeda.sormas.api.customizableenum.CustomizableEnumType;
import de.symeda.sormas.api.customizableenum.CustomizableEnumValueDto;
+import de.symeda.sormas.api.customizableenum.CustomizableEnumValueIndexDto;
+import de.symeda.sormas.api.customizableenum.CustomizableEnumValueReferenceDto;
import de.symeda.sormas.api.i18n.I18nProperties;
+import de.symeda.sormas.api.i18n.Validations;
+import de.symeda.sormas.api.user.UserRight;
import de.symeda.sormas.api.utils.InvalidCustomizationException;
+import de.symeda.sormas.api.utils.SortProperty;
+import de.symeda.sormas.api.utils.ValidationRuntimeException;
+import de.symeda.sormas.backend.common.AbstractBaseEjb;
import de.symeda.sormas.backend.common.ConfigFacadeEjb;
import de.symeda.sormas.backend.util.DtoHelper;
+import de.symeda.sormas.backend.util.Pseudonymizer;
+import de.symeda.sormas.backend.util.RightsAllowed;
@Singleton(name = "CustomizableEnumFacade")
-public class CustomizableEnumFacadeEjb implements CustomizableEnumFacade {
+public class CustomizableEnumFacadeEjb
+ extends
+ AbstractBaseEjb
+ implements CustomizableEnumFacade {
/**
* Maps a customizable enum type to all enum value entities of that type in the database.
@@ -84,12 +107,81 @@ public class CustomizableEnumFacadeEjb implements CustomizableEnumFacade {
@EJB
private ConfigFacadeEjb.ConfigFacadeEjbLocal configFacade;
+ public CustomizableEnumFacadeEjb() {
+
+ }
+
+ @Inject
+ public CustomizableEnumFacadeEjb(CustomizableEnumValueService service) {
+ super(CustomizableEnumValue.class, CustomizableEnumValueDto.class, service);
+ }
+
@Lock(LockType.READ)
@Override
public List getAllAfter(Date date) {
return service.getAllAfter(date).stream().map(this::toDto).collect(Collectors.toList());
}
+ @Override
+ protected CustomizableEnumValue fillOrBuildEntity(CustomizableEnumValueDto source, CustomizableEnumValue target, boolean checkChangeDate) {
+
+ target = DtoHelper.fillOrBuildEntity(source, target, CustomizableEnumValue::new, checkChangeDate);
+
+ target.setDataType(source.getDataType());
+ target.setValue(source.getValue());
+ target.setCaption(source.getCaption());
+ target.setTranslations(source.getTranslations());
+ target.setDiseases(source.getDiseases());
+ target.setDescription(source.getDescription());
+ target.setDescriptionTranslations(source.getDescriptionTranslations());
+ target.setProperties(source.getProperties());
+ target.setDefaultValue(source.isDefaultValue());
+
+ return target;
+ }
+
+ @Override
+ public void validate(CustomizableEnumValueDto dto) throws ValidationRuntimeException {
+
+ if (!CustomizableEnumHelper.isValidEnumValue(dto.getValue())) {
+ throw new ValidationRuntimeException(I18nProperties.getValidationError(Validations.customizableEnumValueAllowedCharacters));
+ }
+ }
+
+ @Lock(LockType.READ)
+ @RightsAllowed(UserRight._CUSTOMIZABLE_ENUM_MANAGEMENT)
+ @Override
+ public CustomizableEnumValueDto save(CustomizableEnumValueDto dto) {
+
+ if (dto == null) {
+ return null;
+ }
+
+ validate(dto);
+
+ CustomizableEnumValue existingEntity = service.getByUuid(dto.getUuid());
+
+ List dataTypeValues = enumValues.get(dto.getDataType());
+ if (existingEntity == null && dataTypeValues != null && dataTypeValues.contains(dto.getValue())) {
+ throw new ValidationRuntimeException(
+ I18nProperties.getValidationError(Validations.customizableEnumValueDuplicateValue, dto.getDataType().toString(), dto.getValue()));
+ }
+
+ CustomizableEnumValue enumValue = fillOrBuildEntity(dto, existingEntity, true);
+ service.ensurePersisted(enumValue);
+
+ // Reset cache since values have been changed
+ loadData();
+
+ return toDto(enumValue);
+ }
+
+ @Lock(LockType.READ)
+ @Override
+ public long count(CustomizableEnumCriteria criteria) {
+ return service.count((cb, root) -> service.buildCriteriaFilter(criteria, cb, root));
+ }
+
@Lock(LockType.READ)
@Override
public List getByUuids(List uuids) {
@@ -102,6 +194,70 @@ public List getAllUuids() {
return service.getAllUuids();
}
+ @Lock(LockType.READ)
+ @RightsAllowed(UserRight._CUSTOMIZABLE_ENUM_MANAGEMENT)
+ @Override
+ public List getIndexList(
+ CustomizableEnumCriteria criteria,
+ Integer first,
+ Integer max,
+ List sortProperties) {
+
+ CriteriaBuilder cb = em.getCriteriaBuilder();
+ CriteriaQuery cq = cb.createQuery(CustomizableEnumValue.class);
+ Root root = cq.from(CustomizableEnumValue.class);
+
+ Predicate filter = null;
+ if (criteria != null) {
+ filter = service.buildCriteriaFilter(criteria, cb, root);
+ }
+ if (filter != null) {
+ cq.where(filter);
+ }
+
+ if (CollectionUtils.isNotEmpty(sortProperties)) {
+ List order = new ArrayList<>(sortProperties.size());
+ for (SortProperty sortProperty : sortProperties) {
+ Expression> expression;
+ switch (sortProperty.propertyName) {
+ case CustomizableEnumValue.DATA_TYPE:
+ case CustomizableEnumValue.VALUE:
+ case CustomizableEnumValue.CAPTION:
+ expression = root.get(sortProperty.propertyName);
+ break;
+ default:
+ throw new IllegalArgumentException(sortProperty.propertyName);
+ }
+ order.add(sortProperty.ascending ? cb.asc(expression) : cb.desc(expression));
+ }
+ cq.orderBy(order);
+ } else {
+ cq.orderBy(cb.asc(root.get(CustomizableEnumValue.DATA_TYPE)), cb.asc(root.get(CustomizableEnumValue.VALUE)));
+ }
+
+ cq.select(root);
+
+ return getResultList(em, cq, first, max, this::toIndexDto);
+ }
+
+ private CustomizableEnumValueIndexDto toIndexDto(CustomizableEnumValue entity) {
+
+ if (entity == null) {
+ return null;
+ }
+
+ CustomizableEnumValueIndexDto dto = new CustomizableEnumValueIndexDto();
+ DtoHelper.fillDto(dto, entity);
+
+ dto.setDataType(entity.getDataType());
+ dto.setValue(entity.getValue());
+ dto.setCaption(entity.getCaption());
+ dto.setDiseases(entity.getDiseases());
+ dto.setProperties(entity.getProperties());
+
+ return dto;
+ }
+
/**
* Using LockType.READ to provide concurrent locks to multiple clients.
*/
@@ -294,7 +450,7 @@ public void loadData() {
}
}
- private CustomizableEnumValueDto toDto(CustomizableEnumValue source) {
+ public CustomizableEnumValueDto toDto(CustomizableEnumValue source) {
if (source == null) {
return null;
@@ -316,8 +472,40 @@ private CustomizableEnumValueDto toDto(CustomizableEnumValue source) {
return target;
}
+ @Override
+ protected CustomizableEnumValueReferenceDto toRefDto(CustomizableEnumValue customizableEnumValue) {
+
+ if (customizableEnumValue == null) {
+ return null;
+ }
+
+ return new CustomizableEnumValueReferenceDto(customizableEnumValue.getUuid());
+ }
+
+ @Override
+ protected void pseudonymizeDto(CustomizableEnumValue source, CustomizableEnumValueDto dto, Pseudonymizer pseudonymizer, boolean inJurisdiction) {
+ // Customizable enum values don't need to be pseudonymized
+ }
+
+ @Override
+ protected void restorePseudonymizedDto(
+ CustomizableEnumValueDto dto,
+ CustomizableEnumValueDto existingDto,
+ CustomizableEnumValue entity,
+ Pseudonymizer pseudonymizer) {
+ // Customizable enum values don't need to be pseudonymized
+ }
+
@LocalBean
@Stateless
public static class CustomizableEnumFacadeEjbLocal extends CustomizableEnumFacadeEjb {
+
+ public CustomizableEnumFacadeEjbLocal() {
+ }
+
+ @Inject
+ public CustomizableEnumFacadeEjbLocal(CustomizableEnumValueService service) {
+ super(service);
+ }
}
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValue.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValue.java
index 69f48bf7ea5..8ba71f9cb0b 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValue.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValue.java
@@ -17,6 +17,7 @@
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Convert;
@@ -30,7 +31,7 @@
import de.symeda.sormas.api.customizableenum.CustomizableEnumTranslation;
import de.symeda.sormas.api.customizableenum.CustomizableEnumType;
import de.symeda.sormas.backend.common.AbstractDomainObject;
-import de.symeda.sormas.backend.disease.DiseaseListConverter;
+import de.symeda.sormas.backend.user.DiseaseSetConverter;
import de.symeda.sormas.backend.util.ModelConstants;
/**
@@ -47,11 +48,16 @@ public class CustomizableEnumValue extends AbstractDomainObject {
public static final String TABLE_NAME = "customizableenumvalue";
+ public static final String DATA_TYPE = "dataType";
+ public static final String VALUE = "value";
+ public static final String CAPTION = "caption";
+ public static final String DISEASES = "diseases";
+
private CustomizableEnumType dataType;
private String value;
private String caption;
private List translations;
- private List diseases;
+ private Set diseases;
private String description;
private List descriptionTranslations;
private Map properties;
@@ -100,12 +106,12 @@ public void setTranslations(List translations) {
}
@Column
- @Convert(converter = DiseaseListConverter.class)
- public List getDiseases() {
+ @Convert(converter = DiseaseSetConverter.class)
+ public Set getDiseases() {
return diseases;
}
- public void setDiseases(List diseases) {
+ public void setDiseases(Set diseases) {
this.diseases = diseases;
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValueService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValueService.java
index 7348b3ce4eb..1b3740d40ac 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValueService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/customizableenum/CustomizableEnumValueService.java
@@ -21,8 +21,12 @@
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.From;
import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import de.symeda.sormas.api.customizableenum.CustomizableEnumCriteria;
+import de.symeda.sormas.api.utils.DataHelper;
import de.symeda.sormas.backend.common.AdoServiceWithUserFilterAndJurisdiction;
+import de.symeda.sormas.backend.common.CriteriaBuilderHelper;
@Stateless
@LocalBean
@@ -38,4 +42,32 @@ public Predicate createUserFilter(CriteriaBuilder cb, CriteriaQuery cq, From,
return null;
}
+ public Predicate buildCriteriaFilter(CustomizableEnumCriteria criteria, CriteriaBuilder cb, Root from) {
+
+ Predicate filter = null;
+
+ if (criteria.getFreeTextFilter() != null) {
+ String[] textFilters = criteria.getFreeTextFilter().split("\\s+");
+ for (String textFilter : textFilters) {
+ if (DataHelper.isNullOrEmpty(textFilter)) {
+ continue;
+ }
+
+ Predicate likeFilters = cb.or(
+ CriteriaBuilderHelper.unaccentedIlike(cb, from.get(CustomizableEnumValue.VALUE), textFilter),
+ CriteriaBuilderHelper.unaccentedIlike(cb, from.get(CustomizableEnumValue.CAPTION), textFilter));
+ filter = CriteriaBuilderHelper.and(cb, filter, likeFilters);
+ }
+ }
+ if (criteria.getDataType() != null) {
+ filter = CriteriaBuilderHelper.and(cb, filter, cb.equal(from.get(CustomizableEnumValue.DATA_TYPE), criteria.getDataType()));
+ }
+ if (criteria.getDisease() != null) {
+ filter = CriteriaBuilderHelper
+ .and(cb, filter, cb.like(from.get(CustomizableEnumValue.DISEASES).as(String.class), "%" + criteria.getDisease().name() + '%'));
+ }
+
+ return filter;
+ }
+
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/Document.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/Document.java
index 0e0eb92f5b3..4985ea010b6 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/Document.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/Document.java
@@ -37,7 +37,7 @@ public class Document extends AbstractDomainObject {
public static final String DELETED = "deleted";
public static final String UPLOADING_USER = "uploadingUser";
public static final String NAME = "name";
- public static final String CONTENT_TYPE = "contentType";
+ public static final String MIME_TYPE = "mimeType";
public static final String SIZE = "size";
public static final String RELATED_ENTITY_UUID = "relatedEntityUuid";
public static final String RELATED_ENTITY_TYPE = "relatedEntityType";
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentFacadeEjb.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentFacadeEjb.java
index e356f59cd60..30dc136c6bc 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentFacadeEjb.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentFacadeEjb.java
@@ -21,6 +21,7 @@
import java.io.InputStream;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.stream.Collectors;
import javax.ejb.EJB;
@@ -40,6 +41,7 @@
import de.symeda.sormas.api.document.DocumentCriteria;
import de.symeda.sormas.api.document.DocumentDto;
import de.symeda.sormas.api.document.DocumentFacade;
+import de.symeda.sormas.api.document.DocumentReferenceDto;
import de.symeda.sormas.api.document.DocumentRelatedEntityType;
import de.symeda.sormas.api.user.UserRight;
import de.symeda.sormas.api.utils.FileContentsDoNotMatchExtensionException;
@@ -183,6 +185,11 @@ public List getDocumentsRelatedToEntity(DocumentRelatedEntityType t
return documentService.getRelatedToEntity(type, uuid).stream().map(d -> convertToDto(d, pseudonymizer)).collect(Collectors.toList());
}
+ @Override
+ public List getReferencesRelatedToEntity(DocumentRelatedEntityType type, String uuid, Set fileExtensions) {
+ return documentService.getReferencesRelatedToEntity(type, uuid, fileExtensions);
+ }
+
@Override
public Map> getDocumentsRelatedToEntities(DocumentCriteria criteria, List sortProperties) {
Pseudonymizer pseudonymizer = Pseudonymizer.getDefault(userService::hasRight);
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentService.java
index 70132b8b992..a45cc3378e5 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentService.java
@@ -16,6 +16,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
@@ -28,9 +29,11 @@
import javax.persistence.criteria.Root;
import de.symeda.sormas.api.document.DocumentDto;
+import de.symeda.sormas.api.document.DocumentReferenceDto;
import de.symeda.sormas.api.document.DocumentRelatedEntityType;
import de.symeda.sormas.api.utils.SortProperty;
import de.symeda.sormas.backend.common.AdoServiceWithUserFilterAndJurisdiction;
+import de.symeda.sormas.backend.common.CriteriaBuilderHelper;
import de.symeda.sormas.backend.util.QueryHelper;
@Stateless
@@ -100,12 +103,7 @@ public List getRelatedToEntity(DocumentRelatedEntityType type, String
Root from = cq.from(getElementClass());
from.fetch(Document.UPLOADING_USER);
- Predicate filter = cb.and(
- cb.isFalse(from.get(Document.DELETED)),
- cb.equal(from.get(Document.RELATED_ENTITY_TYPE), type),
- cb.equal(from.get(Document.RELATED_ENTITY_UUID), uuid));
-
- cq.where(filter);
+ cq.where(buildRelatedEntityFilter(type, uuid, cb, from));
if (sortProperties != null && sortProperties.size() > 0) {
List order = new ArrayList(sortProperties.size());
@@ -131,6 +129,38 @@ public List getRelatedToEntity(DocumentRelatedEntityType type, String
return em.createQuery(cq).getResultList();
}
+ public List getReferencesRelatedToEntity(DocumentRelatedEntityType type, String uuid, Set fileExtensions) {
+ CriteriaBuilder cb = em.getCriteriaBuilder();
+ CriteriaQuery cq = cb.createQuery(DocumentReferenceDto.class);
+ Root from = cq.from(getElementClass());
+
+ cq.multiselect(from.get(Document.UUID), from.get(Document.NAME));
+
+ cq.where(CriteriaBuilderHelper.and(cb, buildRelatedEntityFilter(type, uuid, cb, from), buildExtensionFilter(fileExtensions, cb, from)));
+
+ cq.orderBy(cb.asc(cb.lower(from.get(DocumentDto.NAME))));
+
+ return em.createQuery(cq).getResultList();
+ }
+
+ private static Predicate buildRelatedEntityFilter(DocumentRelatedEntityType type, String uuid, CriteriaBuilder cb, Root from) {
+ return cb.and(
+ cb.isFalse(from.get(Document.DELETED)),
+ cb.equal(from.get(Document.RELATED_ENTITY_TYPE), type),
+ cb.equal(from.get(Document.RELATED_ENTITY_UUID), uuid));
+ }
+
+ private static Predicate buildExtensionFilter(Set fileExtensions, CriteriaBuilder cb, Root from) {
+ if (fileExtensions == null) {
+ return null;
+ }
+
+ Predicate[] predicates =
+ fileExtensions.stream().map(extension -> cb.like(from.get(Document.NAME), "%" + extension)).toArray(Predicate[]::new);
+
+ return cb.or(predicates);
+ }
+
public String isExisting(DocumentRelatedEntityType type, String uuid, String name) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(String.class);
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentStorageService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentStorageService.java
index 83f0055b74c..80d6e5770d6 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentStorageService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/document/DocumentStorageService.java
@@ -14,6 +14,7 @@
*/
package de.symeda.sormas.backend.document;
+import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
@@ -25,6 +26,7 @@
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
+import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,7 +55,16 @@ public class DocumentStorageService {
private UserService userService;
public byte[] read(String storageReference) throws IOException {
- return Files.readAllBytes(Paths.get(configFacade.getDocumentFilesPath(), storageReference));
+ return Files.readAllBytes(getFilePath(storageReference));
+ }
+
+ public File getFile(String storageReference) {
+ return getFilePath(storageReference).toFile();
+ }
+
+ @NotNull
+ private Path getFilePath(String storageReference) {
+ return Paths.get(configFacade.getDocumentFilesPath(), storageReference);
}
public String save(Document document, byte[] content) throws IOException {
@@ -66,7 +77,7 @@ public String save(Document document, byte[] content) throws IOException {
}
public void delete(String storageReference) {
- Path path = Paths.get(configFacade.getDocumentFilesPath(), storageReference);
+ Path path = getFilePath(storageReference);
try {
Files.deleteIfExists(path);
} catch (IOException e) {
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentService.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentService.java
index 9f193bfc6e2..199498a56bf 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentService.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/EnvironmentService.java
@@ -90,36 +90,41 @@ public Predicate createUserFilter(EnvironmentQueryContext queryContext) {
final EnvironmentJoins environmentJoins = queryContext.getJoins();
final From, Environment> environmentJoin = queryContext.getRoot();
- if (jurisdictionLevel != JurisdictionLevel.NATION) {
- switch (jurisdictionLevel) {
- case REGION:
- if (currentUser.getRegion() != null) {
- filter =
- CriteriaBuilderHelper.or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.REGION), currentUser.getRegion()));
- }
- break;
- case DISTRICT:
- if (currentUser.getDistrict() != null) {
- filter = CriteriaBuilderHelper
- .or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.DISTRICT), currentUser.getDistrict()));
- }
- break;
- case COMMUNITY:
- if (currentUser.getCommunity() != null) {
- filter = CriteriaBuilderHelper
- .or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.COMMUNITY), currentUser.getCommunity()));
+ if (currentUserHasRestrictedAccessToAssignedEntities()) {
+ filter =
+ CriteriaBuilderHelper.and(cb, filter, cb.equal(environmentJoin.get(Environment.RESPONSIBLE_USER).get(User.ID), currentUser.getId()));
+ } else {
+ if (jurisdictionLevel != JurisdictionLevel.NATION) {
+ switch (jurisdictionLevel) {
+ case REGION:
+ if (currentUser.getRegion() != null) {
+ filter = CriteriaBuilderHelper
+ .or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.REGION), currentUser.getRegion()));
+ }
+ break;
+ case DISTRICT:
+ if (currentUser.getDistrict() != null) {
+ filter = CriteriaBuilderHelper
+ .or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.DISTRICT), currentUser.getDistrict()));
+ }
+ break;
+ case COMMUNITY:
+ if (currentUser.getCommunity() != null) {
+ filter = CriteriaBuilderHelper
+ .or(cb, filter, cb.equal(environmentJoins.getLocation().get(Location.COMMUNITY), currentUser.getCommunity()));
+ }
+ break;
+ default:
}
- break;
- default:
- }
- Predicate filterResponsible = cb.equal(environmentJoins.getRoot().get(Environment.REPORTING_USER), currentUser);
- filterResponsible = cb.or(filterResponsible, cb.equal(environmentJoins.getRoot().get(Environment.RESPONSIBLE_USER), currentUser));
+ Predicate filterResponsible = cb.equal(environmentJoins.getRoot().get(Environment.REPORTING_USER), currentUser);
+ filterResponsible = cb.or(filterResponsible, cb.equal(environmentJoins.getRoot().get(Environment.RESPONSIBLE_USER), currentUser));
- if (filter != null) {
- filter = CriteriaBuilderHelper.or(cb, filter, filterResponsible, createEnvironmentSampleFilter(queryContext));
- } else {
- filter = filterResponsible;
+ if (filter != null) {
+ filter = CriteriaBuilderHelper.or(cb, filter, filterResponsible, createEnvironmentSampleFilter(queryContext));
+ } else {
+ filter = filterResponsible;
+ }
}
}
@@ -398,6 +403,10 @@ public EditPermissionType getEditPermissionType(Environment environment) {
return EditPermissionType.OUTSIDE_JURISDICTION;
}
+ if (currentUserHasRestrictedAccessToAssignedEntities() && !DataHelper.equal(environment.getResponsibleUser(), getCurrentUser())) {
+ return EditPermissionType.REFUSED;
+ }
+
return super.getEditPermissionType(environment);
}
diff --git a/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/environmentsample/EnvironmentSampleFacadeEjb.java b/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/environmentsample/EnvironmentSampleFacadeEjb.java
index 66383afc8a7..a53a5722469 100644
--- a/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/environmentsample/EnvironmentSampleFacadeEjb.java
+++ b/sormas-backend/src/main/java/de/symeda/sormas/backend/environment/environmentsample/EnvironmentSampleFacadeEjb.java
@@ -252,25 +252,31 @@ private void loadAndSetPositivePathogens(CriteriaBuilder cb, List samples) {
+
List sampleIds = samples.stream().map(EnvironmentSampleIndexDto::getId).collect(Collectors.toList());
- CriteriaQuery testCq = cb.createTupleQuery();
+ CriteriaQuery