From d13eff0fe29249c89ab48e480a3bab96d10d5ab8 Mon Sep 17 00:00:00 2001 From: Jochen-Sch Date: Thu, 14 May 2020 00:14:51 +0200 Subject: [PATCH 01/35] Test Data for Saarland ZIP Code Range 66* Cities in Saarland + Extended First names Extended Streets Included House Number in Street Field Patient Sample Size 100-> 250 Institutions with realistic ZIP and Phone --- .../de/coronavirus/imis/TestDataLoader.java | 2 +- .../resources/sample_data/createClinic.json | 6 +-- .../sample_data/createDepartmentOfHealth.json | 4 +- .../sample_data/createDoctorsOffice.json | 6 +-- .../sample_data/createLaboratory.json | 6 +-- .../resources/sample_data/createTestSite.json | 6 +-- .../main/resources/sample_data/genPersons.py | 40 +++++++++++++++---- 7 files changed, 47 insertions(+), 23 deletions(-) diff --git a/server/src/main/java/de/coronavirus/imis/TestDataLoader.java b/server/src/main/java/de/coronavirus/imis/TestDataLoader.java index d2647977..ec6853dd 100644 --- a/server/src/main/java/de/coronavirus/imis/TestDataLoader.java +++ b/server/src/main/java/de/coronavirus/imis/TestDataLoader.java @@ -60,7 +60,7 @@ public void run(ApplicationArguments args) { try { log.info("Inserting patients"); - for (int i = 0; i < 100; i++) { + for (int i = 0; i < 250; i++) { var createPersonDTO = (CreatePatientDTO) makeDTO("persons" + File.separator + "person" + i + ".json", CreatePatientDTO.class); patientService.addPatient(createPersonDTO, true); } diff --git a/server/src/main/resources/sample_data/createClinic.json b/server/src/main/resources/sample_data/createClinic.json index fdcfeca2..8bfc1f2c 100644 --- a/server/src/main/resources/sample_data/createClinic.json +++ b/server/src/main/resources/sample_data/createClinic.json @@ -3,10 +3,10 @@ "name": "Krankenhaus", "street": "Rhein-Straße", "houseNumber": "13a", - "zip": "3454325", + "zip": "50667", "city": "Köln", "email": "clinic@example.de", - "phoneNumber": "43345", - "comment": "this is a comment for the clinic", + "phoneNumber": "+49 221 123456", + "comment": "This is a comment for the clinic", "id": "asdfa" } diff --git a/server/src/main/resources/sample_data/createDepartmentOfHealth.json b/server/src/main/resources/sample_data/createDepartmentOfHealth.json index 99fc2b04..ca8b1ea0 100644 --- a/server/src/main/resources/sample_data/createDepartmentOfHealth.json +++ b/server/src/main/resources/sample_data/createDepartmentOfHealth.json @@ -6,7 +6,7 @@ "zip": "66117", "city": "Saarbrücken", "email": "healthagency@example.de", - "phoneNumber": "43345", - "comment": "this is a comment for the health agency", + "phoneNumber": "+49 681 1111", + "comment": "This is a comment for the health agency", "id": "asdfa" } diff --git a/server/src/main/resources/sample_data/createDoctorsOffice.json b/server/src/main/resources/sample_data/createDoctorsOffice.json index ea2a68ec..ae44ecee 100644 --- a/server/src/main/resources/sample_data/createDoctorsOffice.json +++ b/server/src/main/resources/sample_data/createDoctorsOffice.json @@ -3,10 +3,10 @@ "name": "Doktor123", "street": "Bahnhofstraße", "houseNumber": "13", - "zip": "54252", + "zip": "60306", "city": "Frankfurt", "email": "doctor@example.de", - "phoneNumber": "57657654535", - "comment": "this is a comment from the doctor", + "phoneNumber": "+49 69 123456", + "comment": "This is a comment from the doctor", "id": "asdfa" } diff --git a/server/src/main/resources/sample_data/createLaboratory.json b/server/src/main/resources/sample_data/createLaboratory.json index b13dc05a..93de388b 100644 --- a/server/src/main/resources/sample_data/createLaboratory.json +++ b/server/src/main/resources/sample_data/createLaboratory.json @@ -5,8 +5,8 @@ "houseNumber": "12", "zip": "10115", "city": "Berlin", - "email": "email@example.de", - "phoneNumber": "123456", - "comment": "this is a comment", + "email": "lab1@example.de", + "phoneNumber": "+49 30 123456", + "comment": "This is a comment for Lab", "id": "1234" } diff --git a/server/src/main/resources/sample_data/createTestSite.json b/server/src/main/resources/sample_data/createTestSite.json index 192a73e2..058759a1 100644 --- a/server/src/main/resources/sample_data/createTestSite.json +++ b/server/src/main/resources/sample_data/createTestSite.json @@ -3,10 +3,10 @@ "name": "Test1234", "street": "Kirchplatz", "houseNumber": "0", - "zip": "134", + "zip": "20095", "city": "Hamburg", "email": "test-place@example.de", - "phoneNumber": "57657654535", - "comment": "this is a comment for the test site", + "phoneNumber": "+49 040 123456", + "comment": "This is a comment for the test site", "id": "asdfa" } diff --git a/server/src/main/resources/sample_data/genPersons.py b/server/src/main/resources/sample_data/genPersons.py index 65e03d8a..472aff3d 100644 --- a/server/src/main/resources/sample_data/genPersons.py +++ b/server/src/main/resources/sample_data/genPersons.py @@ -7,10 +7,13 @@ seed(42) last_names = ['Peters', 'Müller', 'Schulz', 'Schulze', 'Weber', 'Wagner', 'Richter', 'Klein', 'Bauer', 'Schröder', - 'Lange', 'Winkler', 'Winter'] + 'Lange', 'Winkler', 'Winter', 'Sommer', 'Schmitt', 'Schmidt', 'Berger'] -male_first_names = ['Peter', 'Daniel', 'Hans', 'Franz', 'Karl', 'Tim', 'Jan', 'Jens', 'Kai'] -female_fist_names = ['Jana', 'Lisa', 'Anna', 'Annika', 'Petra', 'Marie', 'Susanne', 'Daniela', 'Petra'] +male_first_names = ['Peter', 'Daniel', 'Hans', 'Franz', 'Karl', 'Tim', 'Jan', 'Jens', 'Kai', 'Ben', 'Fin', 'Matthias', + 'Christopher', 'Cornelius', 'Konrad'] + +female_fist_names = ['Jana', 'Lisa', 'Anna', 'Annika', 'Petra', 'Marie', 'Susanne', 'Daniela', 'Petra', 'Martina', + 'Emma', 'Hanna', 'Olivia', 'Isabella'] genders = ['male', 'female'] @@ -27,12 +30,30 @@ "Abbachstraße", "Niekampsweg", "Abbendiekshof", + "Sonnenweg", + "Wintergasse", + "Südweg", + "Hauptstraße", + "Zähringerstraße", + "Kaiserstraße", + "Waldstraße", + "Steinstraße", + "Hafenstraße", + "Poststraße", + "Hohenzollerstraße", + "Eisenbahnstraße", + "Kronenstraße", + "Bismarckstraße", + "Rosenstraße", + "Tulpenweg", "Bückerheide", "Nordstraße", "Nordtstraße", "Nordufer"] -cities = ['Berlin', 'München', 'Hamburg', 'Köln', 'Düsseldorf', 'Kiel', 'Freiburg', 'Bochum', 'Frankfurt'] +# temporarily replace possible cities for simulation +# cities = ['Berlin', 'München', 'Hamburg', 'Köln', 'Düsseldorf', 'Kiel', 'Freiburg', 'Bochum', 'Frankfurt', 'Saarbrücken'] +cities = ['Saarbrücken', 'Sulzbach', 'Dudweiler', 'St. Ingbert', 'Saarlouis', 'Völklingen', 'Bous', 'Neunkirchen', 'Homburg', 'Kirkel', 'Heusweiler', 'Riegelsberg', 'Püttlingen'] insurance_companies = ['AOK', 'Barmer', 'Techniker Krankenkasse', 'IKK Nord', 'KNAPPSCHAFT', 'DAK Gesundheit'] @@ -63,7 +84,7 @@ def rand_num_str(len=10): return ''.join([str(randint(0, 10)) for _ in range(len)]) -riscAreas = ['', 'GrandEst', 'Hubei', 'Tirol', 'Madrid', 'New York'] +riscAreas = ['', 'GrandEst', 'Hubei', 'Tirol', 'Madrid', 'New York', 'Moscow'] preIllnesses = ['', 'Krebserkrankung', 'Imunsystemschwäche', 'Herz-Kreislauf'] @@ -94,9 +115,12 @@ def gen_person(): 'dateOfBirth': gen_date_of_birth(), 'email': email, 'phoneNumber': rand_num_str(), - 'street': choice(streets), - 'houseNumber': randint(0, 100), - 'zip': rand_num_str(5), +# include house number within street field + 'street': {choice(streets)} {randint(0, 100)}, +# 'houseNumber': randint(0, 100), +# temporarily filter zip codes to saarland region (approximately) +# 'zip': rand_num_str(5), + 'zip': {'66'}{rand_num_str(3)}, 'city': choice(cities), 'insuranceCompany': choice(insurance_companies), 'insuranceMembershipNumber': insurance_number(), From ae017a75dd420da069e6dedd88e71634b595e47c Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Thu, 14 May 2020 19:49:17 +0200 Subject: [PATCH 02/35] Minor fix --- client/src/views/PatientDetails.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/views/PatientDetails.vue b/client/src/views/PatientDetails.vue index 89a05987..f7401363 100644 --- a/client/src/views/PatientDetails.vue +++ b/client/src/views/PatientDetails.vue @@ -6,7 +6,7 @@ :visible="showChangePatientStammdatenForm" :patient="patient" /> -
+
Date: Fri, 15 May 2020 17:23:09 +0200 Subject: [PATCH 03/35] admin incident for order test --- .../main/java/de/coronavirus/imis/api/PatientController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/src/main/java/de/coronavirus/imis/api/PatientController.java b/server/src/main/java/de/coronavirus/imis/api/PatientController.java index 616b505b..7f374bb6 100644 --- a/server/src/main/java/de/coronavirus/imis/api/PatientController.java +++ b/server/src/main/java/de/coronavirus/imis/api/PatientController.java @@ -16,6 +16,7 @@ import java.time.LocalDate; import java.util.List; +import java.util.Optional; @RestController @RequestMapping("/api/patients") @@ -96,6 +97,7 @@ public void sendToQuarantine(@RequestBody SendToQuarantineDTO dto) { public ResponseEntity createOrderTestEvent(OrderTestEventDTO eventDTO) { var patient = patientService.findPatientById(eventDTO.getPatientId()).get(); var event = eventService.createOrderTestEvent(patient); + incidentService.addIncident(patient, Optional.empty(), EventType.ORDER_TEST, LocalDate.now()); return ResponseEntity.ok(event); } } From 930c50bb71345a8f7d6662abd77d875d8dc92937 Mon Sep 17 00:00:00 2001 From: Leonard Koll Date: Fri, 15 May 2020 17:52:20 +0200 Subject: [PATCH 04/35] verlauf status quo jetzt incident based --- client/src/views/PatientDetails.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/client/src/views/PatientDetails.vue b/client/src/views/PatientDetails.vue index 89a05987..90f94348 100644 --- a/client/src/views/PatientDetails.vue +++ b/client/src/views/PatientDetails.vue @@ -264,16 +264,16 @@ - {{ formatTimestamp(event.eventTimestamp) }}, - {{ eventTypes.find(type => type.id === event.eventType).label }} + {{ formatTimestamp(incident.eventTimestamp) }}, + {{ eventTypes.find(type => type.id === incident.eventType).label }} @@ -560,6 +560,7 @@ interface State { dateOfReporting: string; dateOfIllness: string; dateFormat: string; + incidents: any[]; } export default Vue.extend({ @@ -610,6 +611,7 @@ export default Vue.extend({ columnsIndexPatients, dateOfReporting: '', dateOfIllness: '', + incidents: [], } }, @@ -642,6 +644,8 @@ export default Vue.extend({ this.patient = patient } + this.incidents = await Api.getPatientLogUsingGet(patientId) + if (this.patient.events) { const event = this.patient.events.find(event => event.eventType === 'REGISTERED' || event.eventType === 'SUSPECTED') if (event) { From a2b6e83edcbb9eec3b285156aea5f24e3b31a535 Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Fri, 15 May 2020 18:54:51 +0200 Subject: [PATCH 05/35] #301 Enable creation of patient from contact form --- client/src/Root.vue | 53 +----- client/src/assets/global.scss | 58 ++++++ client/src/components/EditExposureContact.vue | 175 ++++++++++++++---- client/src/views/PatientDetails.vue | 8 + .../imis/api/ExposureContactController.java | 3 + .../converter/ExOrNewContactConverter.java | 44 +++++ .../imis/api/dto/ExposureContactDTO.java | 48 +---- 7 files changed, 259 insertions(+), 130 deletions(-) create mode 100644 client/src/assets/global.scss create mode 100644 server/src/main/java/de/coronavirus/imis/api/converter/ExOrNewContactConverter.java diff --git a/client/src/Root.vue b/client/src/Root.vue index 7b1fd0fa..defba808 100644 --- a/client/src/Root.vue +++ b/client/src/Root.vue @@ -6,57 +6,6 @@ diff --git a/client/src/assets/global.scss b/client/src/assets/global.scss new file mode 100644 index 00000000..b6f0d269 --- /dev/null +++ b/client/src/assets/global.scss @@ -0,0 +1,58 @@ +.imis-table-no-pagination { + .ant-table-pagination { + display: none; + } +} + +#app { + font-family: Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #2c3e50; +} + +#nav { + padding: 30px; + + a { + font-weight: bold; + color: #2c3e50; + + &.router-link-exact-active { + color: #42b983; + } + } +} + +// CSS classes used by multiple components +.imis-radio-group { + display: flex; + flex-direction: column; + align-items: stretch; + padding-left: 15px; + + > label { + padding: 10px 0 10px 15px; + display: flex; + align-items: center; + } + + > label:hover { + background: rgba(0, 0, 0, 0.1); + } + + .ant-radio { + margin-right: 10px; + } + + i { + margin-right: 10px; + } +} + +.fading-enter-active, .fading-leave-active { + transition: opacity .3s; +} +.fading-enter, .fading-leave-to /* .fade-leave-active below version 2.1.8 */ { + opacity: 0; +} \ No newline at end of file diff --git a/client/src/components/EditExposureContact.vue b/client/src/components/EditExposureContact.vue index 622d147f..52d6668a 100644 --- a/client/src/components/EditExposureContact.vue +++ b/client/src/components/EditExposureContact.vue @@ -5,7 +5,7 @@ - + - - - - - + + + +

Kontaktperson

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ +

Vorschläge

+ + + + + + verwenden + + + {{moment(proposedPatient.dateOfBirth).format('DD.MM.YYYY')}} + + + {{proposedPatient.street}} {{proposedPatient.houseNumber}}, {{proposedPatient.zip}} {{proposedPatient.city}} + + + + + + + +
+
+ + + +
+ +
+ + manuell eingeben + + + {{moment(contact.dateOfBirth).format('DD.MM.YYYY')}} + + + {{contact.street}} {{contact.houseNumber}}, {{contact.zip}} {{contact.city}} + + + +
+
+ + - + - - + - diff --git a/client/yarn.lock b/client/yarn.lock index c166dfa1..1f754dc1 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1260,6 +1260,13 @@ source-map "~0.6.1" vue-template-es2015-compiler "^1.9.0" +"@vue/eslint-config-prettier@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz#ad5912b308f4ae468458e02a2b05db0b9d246700" + integrity sha512-wFQmv45c3ige5EA+ngijq40YpVcIkAy0Lihupnsnd1Dao5CBbPyfCzqtejFLZX1EwH/kCJdpz3t6s+5wd3+KxQ== + dependencies: + eslint-config-prettier "^6.0.0" + "@vue/eslint-config-standard@^5.1.0": version "5.1.2" resolved "https://registry.yarnpkg.com/@vue/eslint-config-standard/-/eslint-config-standard-5.1.2.tgz#c5d55af894a3ae23b65b1af4a425777ac0170b42" @@ -1269,7 +1276,7 @@ eslint-import-resolver-node "^0.3.3" eslint-import-resolver-webpack "^0.12.1" -"@vue/eslint-config-typescript@^5.0.1": +"@vue/eslint-config-typescript@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-5.0.2.tgz#c2f3328e70d55d10aeb826f209405397960548c7" integrity sha512-GEZOHKOnelgQf5npA+6VNuhJZu9xEJaics3SYUyRjaSay+2SCpEINHhEpt6fXoNy/aIFt8CkDlt9CaEb+QPIcg== @@ -3797,6 +3804,13 @@ escodegen@^1.11.1: optionalDependencies: source-map "~0.6.1" +eslint-config-prettier@^6.0.0, eslint-config-prettier@^6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" + integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== + dependencies: + get-stdin "^6.0.0" + eslint-config-standard@^14.1.0: version "14.1.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" @@ -3883,6 +3897,13 @@ eslint-plugin-node@^11.0.0: resolve "^1.10.1" semver "^6.1.0" +eslint-plugin-prettier@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca" + integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-promise@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" @@ -4212,6 +4233,11 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -4628,6 +4654,11 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -7861,12 +7892,19 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.18.2: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.0.2: +prettier@^2.0.2, prettier@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== From 08a0af75aeb17e07cd5bad8a4cfde8d59c589017 Mon Sep 17 00:00:00 2001 From: Henning Wobken Date: Mon, 18 May 2020 20:06:11 +0200 Subject: [PATCH 25/35] #352 fix gender search --- .../de/coronavirus/imis/services/PatientQueryService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/de/coronavirus/imis/services/PatientQueryService.java b/server/src/main/java/de/coronavirus/imis/services/PatientQueryService.java index 6a9fcf46..30e69102 100644 --- a/server/src/main/java/de/coronavirus/imis/services/PatientQueryService.java +++ b/server/src/main/java/de/coronavirus/imis/services/PatientQueryService.java @@ -19,11 +19,16 @@ public class PatientQueryService { private final EntityManager sessionFactory; public TypedQuery getQuery(String sql, PatientSearchParamsDTO patientSearchParamsDTO, Class returnClazz) { + String genderQueryString = "%"; + // Cant surround gender with "%" like the other attributes (%male% matches female) + if (patientSearchParamsDTO.getGender() != null && !patientSearchParamsDTO.getGender().isBlank()) { + genderQueryString = patientSearchParamsDTO.getGender(); + } final TypedQuery query = this.sessionFactory.createQuery(sql, returnClazz); query.setParameter(1, likeOperatorService.like(patientSearchParamsDTO.getFirstName())); query.setParameter(2, likeOperatorService.like(patientSearchParamsDTO.getLastName())); query.setParameter(3, likeOperatorService.like(patientSearchParamsDTO.getId())); - query.setParameter(4, likeOperatorService.like(patientSearchParamsDTO.getGender())); + query.setParameter(4, genderQueryString); query.setParameter(5, likeOperatorService.like(patientSearchParamsDTO.getEmail())); query.setParameter(6, likeOperatorService.like(patientSearchParamsDTO.getPhoneNumber())); query.setParameter(7, likeOperatorService.like(patientSearchParamsDTO.getStreet())); From bf6aabf833dda8f3ff5902457d597b31ae9e9a33 Mon Sep 17 00:00:00 2001 From: Henning Wobken Date: Mon, 18 May 2020 20:14:57 +0200 Subject: [PATCH 26/35] #352 remove some filters --- client/src/views/PatientList.vue | 69 +++---------------- .../imis/services/PatientQueryService.java | 36 ++++------ 2 files changed, 20 insertions(+), 85 deletions(-) diff --git a/client/src/views/PatientList.vue b/client/src/views/PatientList.vue index e79c4383..8dec0840 100644 --- a/client/src/views/PatientList.vue +++ b/client/src/views/PatientList.vue @@ -40,22 +40,6 @@
- - - Alle - - - {{ eventType.label }} - - - @@ -84,19 +68,6 @@ - - - - - - - - - - @@ -120,24 +91,6 @@ - - - - - - - - - - - - - - - Alle Quarantäne angeordnet + >Quarantäne angeordnet + Quarantäne vorgemerkt + >Quarantäne vorgemerkt + Keine Anordnung + >Keine Anordnung + @@ -226,8 +179,8 @@ @click="downloadPatients" style="margin-right: 50px;" type="primary" - >CSV exportieren
+ >CSV exportieren + {{ count }} Patienten TypedQuery getQuery(String sql, PatientSearchParamsDTO patientSear query.setParameter(2, likeOperatorService.like(patientSearchParamsDTO.getLastName())); query.setParameter(3, likeOperatorService.like(patientSearchParamsDTO.getId())); query.setParameter(4, genderQueryString); - query.setParameter(5, likeOperatorService.like(patientSearchParamsDTO.getEmail())); - query.setParameter(6, likeOperatorService.like(patientSearchParamsDTO.getPhoneNumber())); - query.setParameter(7, likeOperatorService.like(patientSearchParamsDTO.getStreet())); - query.setParameter(8, likeOperatorService.like(patientSearchParamsDTO.getHouseNumber())); - query.setParameter(9, likeOperatorService.like(patientSearchParamsDTO.getZip())); - query.setParameter(10, likeOperatorService.like(patientSearchParamsDTO.getCity())); - query.setParameter(11, likeOperatorService.like(patientSearchParamsDTO.getInsuranceCompany())); - query.setParameter(12, likeOperatorService.like(patientSearchParamsDTO.getInsuranceMembershipNumber())); - query.setParameter(13, likeOperatorService.like(patientSearchParamsDTO.getDoctorId())); - query.setParameter(14, likeOperatorService.like(patientSearchParamsDTO.getLaboratoryId())); - query.setParameter(15, likeOperatorService.like(patientSearchParamsDTO.getPatientStatus() == null ? "" : patientSearchParamsDTO.getPatientStatus().name())); - int positionParameter = 16; + query.setParameter(5, likeOperatorService.like(patientSearchParamsDTO.getStreet())); + query.setParameter(6, likeOperatorService.like(patientSearchParamsDTO.getHouseNumber())); + query.setParameter(7, likeOperatorService.like(patientSearchParamsDTO.getZip())); + query.setParameter(8, likeOperatorService.like(patientSearchParamsDTO.getCity())); + query.setParameter(9, likeOperatorService.like(patientSearchParamsDTO.getInsuranceCompany())); + int positionParameter = 10; if (patientSearchParamsDTO.getQuarantineStatus() != null && !patientSearchParamsDTO.getQuarantineStatus().isEmpty()) { for (EventType quarantineStatus : patientSearchParamsDTO.getQuarantineStatus()) { if (quarantineStatus != null) { @@ -59,19 +53,13 @@ public String getQueryPatientsSql(PatientSearchParamsDTO patientSearchParamsDTO) "AND lower(pat.lastName) like lower(?2) " + "AND lower(pat.id) like lower(?3) " + "AND lower(pat.gender) like lower(?4) " + - "AND lower(pat.email) like lower(?5) " + - "AND lower(pat.phoneNumber) like lower(?6) " + - "AND lower(pat.street) like lower(?7) " + - "AND lower(pat.houseNumber) like lower(?8) " + - "AND lower(pat.zip) like lower(?9) " + - "AND lower(pat.city) like lower(?10) " + - "AND lower(pat.insuranceCompany) like lower(?11) " + - "AND lower(pat.insuranceMembershipNumber) like lower(?12) " + - "AND lower(coalesce(pe.responsibleDoctor, '0')) like lower(?13) " + - "AND lower(coalesce(pe.labTest, '0')) like lower(?14) " + - "AND lower(pat.patientStatus) like lower(?15) " + "AND lower(pat.street) like lower(?5) " + + "AND lower(pat.houseNumber) like lower(?6) " + + "AND lower(pat.zip) like lower(?7) " + + "AND lower(pat.city) like lower(?8) " + + "AND lower(pat.insuranceCompany) like lower(?9) " ); - int positionSql = 16; + int positionSql = 10; if (patientSearchParamsDTO.getQuarantineStatus() != null && !patientSearchParamsDTO.getQuarantineStatus().isEmpty()) { sql.append("AND ( 1=0 "); for (EventType quarantineStatus : patientSearchParamsDTO.getQuarantineStatus()) { From fa7dd3112782cb326a9f37133887786127824f03 Mon Sep 17 00:00:00 2001 From: Henning Wobken Date: Mon, 18 May 2020 20:20:14 +0200 Subject: [PATCH 27/35] #352 disable chrom autofill on patient search --- client/src/views/PatientList.vue | 39 ++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/client/src/views/PatientList.vue b/client/src/views/PatientList.vue index 8dec0840..879225d6 100644 --- a/client/src/views/PatientList.vue +++ b/client/src/views/PatientList.vue @@ -31,17 +31,25 @@ v-if="showAdvancedSearch" > - + - + - + @@ -64,22 +72,38 @@ - + - + - + - + @@ -87,6 +111,7 @@ From 63574bb77777b8463fffeb146368a92fb7788927 Mon Sep 17 00:00:00 2001 From: Leonard Koll Date: Tue, 19 May 2020 11:25:12 +0200 Subject: [PATCH 28/35] adjusted circular ref handling for User and InstitutionImpl --- .../main/java/de/coronavirus/imis/config/domain/User.java | 8 ++------ .../java/de/coronavirus/imis/domain/InstitutionImpl.java | 5 ++--- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/server/src/main/java/de/coronavirus/imis/config/domain/User.java b/server/src/main/java/de/coronavirus/imis/config/domain/User.java index dee1a731..6fe28d20 100644 --- a/server/src/main/java/de/coronavirus/imis/config/domain/User.java +++ b/server/src/main/java/de/coronavirus/imis/config/domain/User.java @@ -1,8 +1,6 @@ package de.coronavirus.imis.config.domain; -import com.fasterxml.jackson.annotation.JsonIdentityInfo; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.ObjectIdGenerators; +import com.fasterxml.jackson.annotation.*; import de.coronavirus.imis.domain.InstitutionImpl; import de.coronavirus.imis.domain.InstitutionType; import lombok.AllArgsConstructor; @@ -26,9 +24,6 @@ @Accessors(fluent = true) @NoArgsConstructor @AllArgsConstructor -@JsonIdentityInfo( - generator = ObjectIdGenerators.PropertyGenerator.class, - property = "id") public class User implements UserDetails { @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -48,6 +43,7 @@ public class User implements UserDetails { private UserRole userRole; @ManyToOne(fetch = FetchType.EAGER) + @JsonManagedReference private InstitutionImpl institution; @Override diff --git a/server/src/main/java/de/coronavirus/imis/domain/InstitutionImpl.java b/server/src/main/java/de/coronavirus/imis/domain/InstitutionImpl.java index cbc8e9f7..fc14a365 100644 --- a/server/src/main/java/de/coronavirus/imis/domain/InstitutionImpl.java +++ b/server/src/main/java/de/coronavirus/imis/domain/InstitutionImpl.java @@ -1,5 +1,6 @@ package de.coronavirus.imis.domain; +import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import de.coronavirus.imis.config.domain.User; @@ -14,9 +15,6 @@ @Entity(name = "institution") @Getter @Inheritance(strategy = InheritanceType.SINGLE_TABLE) -@JsonIdentityInfo( - generator = ObjectIdGenerators.PropertyGenerator.class, - property = "id") public abstract class InstitutionImpl implements Institution { @Id @GeneratedValue(generator = "uuid2") @@ -33,6 +31,7 @@ public abstract class InstitutionImpl implements Institution { private String comment; @OneToMany(mappedBy = "institution") + @JsonBackReference private List users; public abstract InstitutionType getType(); From 3937e2febf0ce7d6832b9337e859a8532f49dc09 Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Tue, 19 May 2020 11:45:46 +0200 Subject: [PATCH 29/35] #301 Fix bug --- client/src/components/EditExposureContact.vue | 2 +- client/src/views/PatientDetails.vue | 19 ++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/client/src/components/EditExposureContact.vue b/client/src/components/EditExposureContact.vue index 6a28e9e6..5e3ad119 100644 --- a/client/src/components/EditExposureContact.vue +++ b/client/src/components/EditExposureContact.vue @@ -237,7 +237,7 @@ export default mixins(FormGroupMixin).extend({ } }, async contactPatient(contactPatient: {id: string}) { - if (contactPatient) { + if (contactPatient?.id) { this.contact = await Api.getPatientForIdUsingGet(contactPatient.id) this.lockContactEditing = true } else { diff --git a/client/src/views/PatientDetails.vue b/client/src/views/PatientDetails.vue index 04924716..245e2f4d 100644 --- a/client/src/views/PatientDetails.vue +++ b/client/src/views/PatientDetails.vue @@ -393,8 +393,7 @@ { this.exposureContactForm.resetFields() @@ -759,16 +758,11 @@ export default Vue.extend({ })) }) }, - persistExposureContact(): Promise { + persistExposureContact() { const stringFromMoment = (value: Moment): string => value.format('YYYY-MM-DD') - return new Promise((resolve: (success: boolean) => void) => { - this.exposureContactForm.validateFields(async(err: Error[], values: {[x: string]: any}) => { - if (err) { - resolve(false) - return - } - + this.exposureContactForm.validateFields() + .then(async(values: any) => { // Convert values to transport format values = map(values, { id: parseInt, @@ -791,9 +785,8 @@ export default Vue.extend({ this.exposureContacts.push(await Api.createExposureContactUsingPost(values)) } - resolve(true) + this.exposureContactInEditing = null }) - }) }, async removeExposureContact(contactId: number) { await Api.removeExposureContactUsingDelete(contactId) From 217eb965f37da17b38379361d6153014ba17261e Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Tue, 19 May 2020 13:31:49 +0200 Subject: [PATCH 30/35] #315 Remove "Aktionen" in Patient Details for all institutions except health_agency --- client/src/views/PatientDetails.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/views/PatientDetails.vue b/client/src/views/PatientDetails.vue index 00773640..b4de9548 100644 --- a/client/src/views/PatientDetails.vue +++ b/client/src/views/PatientDetails.vue @@ -17,7 +17,7 @@ >
- + From adcb1eb405afc8c9ec1ff5ee583f220f25a16f55 Mon Sep 17 00:00:00 2001 From: Leonard Koll Date: Tue, 19 May 2020 14:18:00 +0200 Subject: [PATCH 31/35] lab input adjusted --- client/src/components/LaboratoryInput.vue | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/src/components/LaboratoryInput.vue b/client/src/components/LaboratoryInput.vue index f4a954a0..c17b41f6 100644 --- a/client/src/components/LaboratoryInput.vue +++ b/client/src/components/LaboratoryInput.vue @@ -1,13 +1,19 @@ From 763a131752605b247aa0f5796b01f0c9b4859c10 Mon Sep 17 00:00:00 2001 From: Leonard Koll Date: Tue, 19 May 2020 14:45:00 +0200 Subject: [PATCH 32/35] resolved flickering in long comment fields by updating to latest ant-design --- client/yarn.lock | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/client/yarn.lock b/client/yarn.lock index c166dfa1..001bfdd5 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1638,9 +1638,9 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: color-convert "^2.0.1" ant-design-vue@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-1.5.0.tgz#2e2c5658cf1211be06fbee95a18eee02965e089f" - integrity sha512-12+mTowYNZZhsXFR848BZRWGtZrWGayJx9j8Dv3gpgPBU4Abi86tz0hUSbnp8RXL6wb7xNcE9JoawNeE9Y83+Q== + version "1.6.0" + resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-1.6.0.tgz#673e09e3ac56feb14154a711e52357fb7518cc32" + integrity sha512-Mbm2woWBGUWdKEj9VHVI025BX5dMquL+9WCFyMjOBP2lAt0/kn0yA5ouuTk9NxgbHCo//Yuny7p6h3KpCHSEMw== dependencies: "@ant-design/icons" "^2.1.1" "@ant-design/icons-vue" "^2.0.0" @@ -1669,7 +1669,7 @@ ant-design-vue@^1.5.0: resize-observer-polyfill "^1.5.1" shallow-equal "^1.0.0" shallowequal "^1.0.2" - vue-ref "^1.0.4" + vue-ref "^2.0.0" warning "^4.0.0" any-promise@^1.0.0: @@ -1854,9 +1854,9 @@ async-limiter@~1.0.0: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-validator@^3.0.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.2.4.tgz#4e773a1d0d741016b455b7995b469a47cce0dbe0" - integrity sha512-mTgzMJixkrh+5t2gbYoua8MLy11GHkQqFE6tbhY5Aqc4jEDGsR4BWP+sVQiYDHtzTMB8WIwI/ypObTVPcTZInw== + version "3.3.0" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.3.0.tgz#1d92193bbe60d6d6c8b246692c7005e9ed14a8ee" + integrity sha512-cAHGD9EL8aCqWXjnb44q94MWiDFzUo1tMhvLb2WzcpWqGiKugsjWG9cvl+jPgkPca7asNbsBU3fa0cwkI/P+Xg== async@^2.6.2: version "2.6.3" @@ -3489,9 +3489,9 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-align@^1.10.4: - version "1.11.1" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.11.1.tgz#7592be99a660a36cdedc1d6eeb22b8109d758cae" - integrity sha512-hN42DmUgtweBx0iBjDLO4WtKOMcK8yBmPx/fgdsgQadLuzPu/8co3oLdK5yMmeM/vnUd3yDyV6qV8/NzxBexQg== + version "1.12.0" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.0.tgz#56fb7156df0b91099830364d2d48f88963f5a29c" + integrity sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA== dom-closest@^0.2.0: version "0.2.0" @@ -5668,9 +5668,9 @@ isexe@^2.0.0: integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= ismobilejs@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.0.3.tgz#69ec3faccd17dfeeadd471e70955d1e192a46eb6" - integrity sha512-6rTcdWK7PHIWPYlCPdTbU9eE9yzdnIQSpiH+8Ln5OqugpEszQK5KHlsjZrDae26fEhki9rPvQmsjI1q4CLuKIA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e" + integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw== isobject@^2.0.0: version "2.1.0" @@ -6525,7 +6525,12 @@ mochapack@^1.1.13: toposort "^2.0.2" yargs "14.0.0" -moment@^2.21.0, moment@^2.24.0: +moment@^2.21.0: + version "2.25.3" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0" + integrity sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg== + +moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== @@ -9960,10 +9965,10 @@ vue-loader@^15.8.3: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" -vue-ref@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/vue-ref/-/vue-ref-1.0.6.tgz#b9b3d7d0e290ee2fd3d50d5d7bdac520806cb265" - integrity sha512-UzD8t1CG+aoWVOOpGd5KcaCNtCgUc0byaKhJMH+6N7H/p1ThVkYl/VCt7DmCrdhUlzZK+hT5JPTKAdrbWi0nNw== +vue-ref@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vue-ref/-/vue-ref-2.0.0.tgz#483084d732abed11da796778a8266a3af0ea1a9c" + integrity sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ== vue-router@^3.1.5: version "3.1.6" From d70c0567634377acae65653084f42904ed961bb0 Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Tue, 19 May 2020 14:58:11 +0200 Subject: [PATCH 33/35] #319 Resolve merge conflicts with master --- client/build.gradle | 11 ++++++----- client/src/views/PatientDetails.vue | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/build.gradle b/client/build.gradle index 5c6dd797..5c970f98 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -14,9 +14,10 @@ task buildFrontend(type: YarnTask) { args = ['build'] } -task lint(type: YarnTask) { - args = ['run', 'lint'] -} +//task lint(type: YarnTask) { +// args = ['run', 'lint'] +//} + task test(type: YarnTask) { args = ['run', 'test:unit'] } @@ -30,7 +31,7 @@ task generateClient(type: NpxTask) { args = ['-p', '../server/build/resources/swagger.json', "-o", "./src/api", "-n", "SwaggerApi.ts"] } -lint.dependsOn(yarn_install) -buildFrontend.dependsOn(lint) +//lint.dependsOn(yarn_install) +//buildFrontend.dependsOn(lint) buildFrontend.dependsOn(yarn_install) assemble.dependsOn(buildFrontend) \ No newline at end of file diff --git a/client/src/views/PatientDetails.vue b/client/src/views/PatientDetails.vue index 343ce54b..66c9cfcf 100644 --- a/client/src/views/PatientDetails.vue +++ b/client/src/views/PatientDetails.vue @@ -421,7 +421,6 @@ import moment, { Moment } from 'moment' import Api from '@/api' import * as permissions from '@/util/permissions' import { LabTest, Patient, Timestamp, ExposureContactFromServer, Incident } from '@/api/SwaggerApi' -import { LabTest, Patient, Timestamp, ExposureContactFromServer } from '@/api/SwaggerApi' import { authMapper } from '@/store/modules/auth.module' import { patientMapper } from '@/store/modules/patients.module' import { EventTypeItem, eventTypes, testResults, TestResultType } from '@/models/event-types' From 05747401b65431c423a64ae1439911e1b800742d Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Tue, 19 May 2020 16:18:16 +0200 Subject: [PATCH 34/35] Minor lint fix --- client/.eslintrc.js | 4 ++-- client/build.gradle | 10 +++++----- client/src/views/PatientList.vue | 20 ++++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/client/.eslintrc.js b/client/.eslintrc.js index d482ead3..74ab81b6 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -9,8 +9,8 @@ module.exports = { 'plugin:vue/essential', 'eslint:recommended', '@vue/typescript/recommended', - '@vue/prettier', - '@vue/prettier/@typescript-eslint', + //'@vue/prettier', + //'@vue/prettier/@typescript-eslint', ], parserOptions: { parser: '@typescript-eslint/parser', diff --git a/client/build.gradle b/client/build.gradle index 5c970f98..97013c26 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -14,9 +14,9 @@ task buildFrontend(type: YarnTask) { args = ['build'] } -//task lint(type: YarnTask) { -// args = ['run', 'lint'] -//} +task lint(type: YarnTask) { + args = ['run', 'lint'] +} task test(type: YarnTask) { args = ['run', 'test:unit'] @@ -31,7 +31,7 @@ task generateClient(type: NpxTask) { args = ['-p', '../server/build/resources/swagger.json', "-o", "./src/api", "-n", "SwaggerApi.ts"] } -//lint.dependsOn(yarn_install) -//buildFrontend.dependsOn(lint) +lint.dependsOn(yarn_install) +buildFrontend.dependsOn(lint) buildFrontend.dependsOn(yarn_install) assemble.dependsOn(buildFrontend) \ No newline at end of file diff --git a/client/src/views/PatientList.vue b/client/src/views/PatientList.vue index 879225d6..bf0fdd58 100644 --- a/client/src/views/PatientList.vue +++ b/client/src/views/PatientList.vue @@ -296,20 +296,20 @@ const columnsSchema: Partial[] = [ ] interface SimpleForm { - query: string - order: string - orderBy: string - offsetPage: number - pageSize: number + query: string; + order: string; + orderBy: string; + offsetPage: number; + pageSize: number; } interface State { - form: SimpleForm - advancedForm: Partial - quarantineSelection: string - currentPatients: Patient[] + form: SimpleForm; + advancedForm: Partial; + quarantineSelection: string; + currentPatients: Patient[]; - [key: string]: any + [key: string]: any; } export default Vue.extend({ From dc2b47276833f586e6e61077a2a5e9d017b5f101 Mon Sep 17 00:00:00 2001 From: Tobias Bodor Date: Tue, 19 May 2020 17:41:09 +0200 Subject: [PATCH 35/35] Fix quarantine label --- client/src/models/event-types.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/models/event-types.ts b/client/src/models/event-types.ts index 776ab3f6..0fa437e3 100644 --- a/client/src/models/event-types.ts +++ b/client/src/models/event-types.ts @@ -58,12 +58,12 @@ export const eventTypes: EventTypeItem[] = [ }, { id: 'QUARANTINE_SELECTED', - label: 'Quarantäne angeordnet', + label: 'Quarantäne vorgemerkt', icon: 'safety', }, { id: 'QUARANTINE_MANDATED', - label: 'Quarantäne vorgemerkt', + label: 'Quarantäne angeordnet', icon: 'safety', }, {