From efd4bb52bbbe895ed6c18c650db9c4b87a469ef7 Mon Sep 17 00:00:00 2001 From: Antoine Duchateau Date: Tue, 5 Jun 2018 09:49:40 +0200 Subject: [PATCH 01/14] More general purpose methods on UserDAO + removed obsolete migration --- .../java/org/taktik/icure/dao/UserDAO.java | 6 ++ .../taktik/icure/dao/impl/UserDAOImpl.java | 15 ++++ .../migration/InsurancesParentsMigration.java | 77 ------------------- 3 files changed, 21 insertions(+), 77 deletions(-) delete mode 100644 src/main/java/org/taktik/icure/dao/migration/InsurancesParentsMigration.java diff --git a/src/main/java/org/taktik/icure/dao/UserDAO.java b/src/main/java/org/taktik/icure/dao/UserDAO.java index e8c21e457d..739c4cc87f 100644 --- a/src/main/java/org/taktik/icure/dao/UserDAO.java +++ b/src/main/java/org/taktik/icure/dao/UserDAO.java @@ -37,9 +37,15 @@ public interface UserDAO extends GenericDAO { User getOnFallback(String userId); + User findOnFallback(String userId); + User getUserOnUserDb(String userId, String groupId); + User findUserOnUserDb(String userId, String groupId); + List getUsersOnDb(String groupId); void evictFromCache(String groupId, List userIds); + + User saveOnFallback(User user); } \ No newline at end of file diff --git a/src/main/java/org/taktik/icure/dao/impl/UserDAOImpl.java b/src/main/java/org/taktik/icure/dao/impl/UserDAOImpl.java index 3780bcbf18..b9d3e504b7 100644 --- a/src/main/java/org/taktik/icure/dao/impl/UserDAOImpl.java +++ b/src/main/java/org/taktik/icure/dao/impl/UserDAOImpl.java @@ -95,11 +95,21 @@ public User getOnFallback(String userId) { return ((CouchDbICureConnector) db).getFallbackConnector().get(User.class,userId); } + @Override + public User findOnFallback(String userId) { + return ((CouchDbICureConnector) db).getFallbackConnector().find(User.class,userId); + } + @Override public User getUserOnUserDb(String userId, String groupId) { return ((CouchDbICureConnector) db).getCouchDbICureConnector(groupId).get(User.class,userId); } + @Override + public User findUserOnUserDb(String userId, String groupId) { + return ((CouchDbICureConnector) db).getCouchDbICureConnector(groupId).find(User.class,userId); + } + @Override public List getUsersOnDb(String groupId) { return ((CouchDbICureConnector) db).getCouchDbICureConnector(groupId).queryView(createQuery("all").includeDocs(true), User.class); @@ -116,6 +126,11 @@ public void evictFromCache(String groupId, List userIds) { super.evictFromCache(groupId,ALL_ENTITIES_CACHE_KEY); } + @Override + public User saveOnFallback(User user) { + ((CouchDbICureConnector) db).getFallbackConnector().update(user); + return user; + } @Override protected User save(Boolean newEntity, User entity) { diff --git a/src/main/java/org/taktik/icure/dao/migration/InsurancesParentsMigration.java b/src/main/java/org/taktik/icure/dao/migration/InsurancesParentsMigration.java deleted file mode 100644 index 95afef2000..0000000000 --- a/src/main/java/org/taktik/icure/dao/migration/InsurancesParentsMigration.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2018 Taktik SA - * - * This file is part of iCureBackend. - * - * iCureBackend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as published by - * the Free Software Foundation. - * - * iCureBackend is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with iCureBackend. If not, see . - */ - -package org.taktik.icure.dao.migration; - - -import org.ektorp.DocumentNotFoundException; -import org.ektorp.support.CouchDbRepositorySupport; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Repository; -import org.taktik.icure.dao.FormDAO; -import org.taktik.icure.dao.InsuranceDAO; -import org.taktik.icure.dao.impl.ektorp.CouchDbICureConnector; -import org.taktik.icure.db.PaginatedList; -import org.taktik.icure.db.PaginationOffset; -import org.taktik.icure.entities.Form; -import org.taktik.icure.entities.Insurance; -import org.taktik.icure.entities.base.StoredDocument; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -@Repository("insurancesParentsMigration") -public class InsurancesParentsMigration extends CouchDbRepositorySupport implements DbMigration { - - InsuranceDAO insuranceDAO; - - @Autowired - protected InsurancesParentsMigration(@SuppressWarnings("SpringJavaAutowiringInspection") @Qualifier("couchdbBase") CouchDbICureConnector couchdb) { - super(MigrationStub.class, couchdb, false); - } - - @Override - public boolean hasBeenApplied() { - try { - this.get(this.getClass().getCanonicalName()); - return true; - } catch (DocumentNotFoundException ignored) {} - return false; - } - - @Override - public void apply() { - List parents = Stream.of("100", "200", "300", "400", "500", "600", "900").map(c -> insuranceDAO.listByCode(c).iterator().next()).filter(Objects::nonNull).collect(Collectors.toList()); - - List all = insuranceDAO.getAll(); - all.forEach(i->i.setParent(i.getCode().equals("306")?i.getId():parents.stream().filter(p->p.getCode().startsWith(i.getCode().substring(0,1))).findAny().map(Insurance::getId).orElse(null))); - insuranceDAO.save(all); - - this.update(new MigrationStub(this.getClass().getCanonicalName())); - } - - @Autowired - public void setInsuranceDAO(InsuranceDAO insuranceDAO) { - this.insuranceDAO = insuranceDAO; - } -} From e3bb9ff394c0c4bd503a174ece32182ddada186d Mon Sep 17 00:00:00 2001 From: Maxime Mennechet Date: Tue, 5 Jun 2018 11:35:23 +0200 Subject: [PATCH 02/14] Add filter into patient search --- .../ht-pat-detail-ctc-detail-panel.html | 9 +- .../app/src/elements/ht-pat/ht-pat-list.html | 330 ++++++++++++++---- .../app/src/elements/language/language.json | 3 + 3 files changed, 278 insertions(+), 64 deletions(-) diff --git a/web/icure-ht/app/src/elements/ht-pat/ht-pat-detail-ctc-detail-panel.html b/web/icure-ht/app/src/elements/ht-pat/ht-pat-detail-ctc-detail-panel.html index 66105fbc4d..fce5ed5768 100644 --- a/web/icure-ht/app/src/elements/ht-pat/ht-pat-detail-ctc-detail-panel.html +++ b/web/icure-ht/app/src/elements/ht-pat/ht-pat-detail-ctc-detail-panel.html @@ -648,7 +648,7 @@