Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 0e7a182

Browse files
author
barnabartha
committed
SORMAS-Foundation#2923 - reload case view after editing a task + add info to task edit form
1 parent c7fe80a commit 0e7a182

4 files changed

Lines changed: 37 additions & 11 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ public interface Strings {
460460
String infoSampleAdditionalTesting = "infoSampleAdditionalTesting";
461461
String infoSampleExport = "infoSampleExport";
462462
String infoSamplePathogenTesting = "infoSamplePathogenTesting";
463+
String infoSaveOfTask = "infoSaveOfTask";
463464
String infoSearchCaseForContact = "infoSearchCaseForContact";
464465
String infoSelectOrCreateContact = "infoSelectOrCreateContact";
465466
String infoSelectOrCreateContactImport = "infoSelectOrCreateContactImport";

sormas-api/src/main/resources/strings.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ infoDeveloperOptions = You can use the controls below to generate dummy cases an
530530
infoCreateNewSampleDiscardsChanges = Creating a new sample will discard all unsaved changes made to this case
531531
infoCreateNewSampleDiscardsChangesEventParticipant = Creating a new sample will discard all unsaved changes made to this event participant
532532
infoUsageOfEditableCampaignGrids = You can edit the campaign data and dashboard definitions by clicking inside one of the cells in the grid, and you can reorder the dashboard elements by dragging and dropping the grid rows
533+
infoSaveOfTask = Saving this task will discard any unsaved changes made to the case.
533534

534535
# Messages
535536
messageActivateAccount = Account has to be activated

sormas-ui/src/main/java/de/symeda/sormas/ui/task/TaskController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import de.symeda.sormas.api.task.TaskType;
3434
import de.symeda.sormas.api.user.UserRight;
3535
import de.symeda.sormas.api.user.UserRole;
36+
import de.symeda.sormas.ui.ControllerProvider;
3637
import de.symeda.sormas.ui.UserProvider;
3738
import de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent;
3839
import de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent.CommitListener;
@@ -117,6 +118,11 @@ public void onCommit() {
117118
if (!form.getFieldGroup().isModified()) {
118119
TaskDto dto = form.getValue();
119120
FacadeProvider.getTaskFacade().saveTask(dto);
121+
122+
if (dto.getCaze() != null) {
123+
ControllerProvider.getCaseController().navigateToCase(dto.getCaze().getUuid());
124+
}
125+
120126
popupWindow.close();
121127
callback.run();
122128
}

sormas-ui/src/main/java/de/symeda/sormas/ui/task/TaskEditForm.java

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,33 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.ui.task;
1919

20+
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRow;
21+
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
22+
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
23+
import static de.symeda.sormas.ui.utils.LayoutUtil.locs;
24+
25+
import java.util.ArrayList;
26+
import java.util.List;
27+
import java.util.Map;
28+
import java.util.stream.Collectors;
29+
30+
import com.vaadin.icons.VaadinIcons;
31+
import com.vaadin.shared.ui.ContentMode;
32+
import com.vaadin.shared.ui.MarginInfo;
33+
import com.vaadin.ui.HorizontalLayout;
34+
import com.vaadin.ui.Label;
2035
import com.vaadin.v7.ui.AbstractSelect.ItemCaptionMode;
2136
import com.vaadin.v7.ui.ComboBox;
2237
import com.vaadin.v7.ui.OptionGroup;
2338
import com.vaadin.v7.ui.TextArea;
39+
2440
import de.symeda.sormas.api.FacadeProvider;
2541
import de.symeda.sormas.api.ReferenceDto;
2642
import de.symeda.sormas.api.caze.CaseDataDto;
2743
import de.symeda.sormas.api.contact.ContactDto;
2844
import de.symeda.sormas.api.event.EventDto;
2945
import de.symeda.sormas.api.i18n.I18nProperties;
46+
import de.symeda.sormas.api.i18n.Strings;
3047
import de.symeda.sormas.api.i18n.Validations;
3148
import de.symeda.sormas.api.region.DistrictReferenceDto;
3249
import de.symeda.sormas.api.region.RegionReferenceDto;
@@ -44,20 +61,12 @@
4461
import de.symeda.sormas.ui.utils.FieldHelper;
4562
import de.symeda.sormas.ui.utils.TaskStatusValidator;
4663

47-
import java.util.ArrayList;
48-
import java.util.List;
49-
import java.util.Map;
50-
import java.util.stream.Collectors;
51-
52-
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRow;
53-
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
54-
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
55-
import static de.symeda.sormas.ui.utils.LayoutUtil.locs;
56-
5764
public class TaskEditForm extends AbstractEditForm<TaskDto> {
5865

5966
private static final long serialVersionUID = 1L;
6067

68+
private static final String SAVE_INFO = "saveInfo";
69+
6170
//@formatter:off
6271
private static final String HTML_LAYOUT =
6372
fluidRow(
@@ -68,7 +77,8 @@ public class TaskEditForm extends AbstractEditForm<TaskDto> {
6877
fluidRowLocs(TaskDto.ASSIGNEE_USER, TaskDto.PRIORITY) +
6978
fluidRowLocs(TaskDto.CREATOR_COMMENT) +
7079
fluidRowLocs(TaskDto.ASSIGNEE_REPLY) +
71-
fluidRowLocs(TaskDto.TASK_STATUS);
80+
fluidRowLocs(TaskDto.TASK_STATUS) +
81+
fluidRowLocs(SAVE_INFO);
7282
//@formatter:off
7383

7484
private UserRight editOrCreateUserRight;
@@ -104,6 +114,14 @@ protected void addFields() {
104114
taskContext.setImmediate(true);
105115
taskContext.addValueChangeListener(event -> updateByTaskContext());
106116

117+
final HorizontalLayout saveInfoLayout = new HorizontalLayout(
118+
new Label(
119+
VaadinIcons.INFO_CIRCLE.getHtml() + " " + I18nProperties.getString(Strings.infoSaveOfTask),
120+
ContentMode.HTML));
121+
saveInfoLayout.setSpacing(true);
122+
saveInfoLayout.setMargin(new MarginInfo(true, false, true, false));
123+
getContent().addComponent(saveInfoLayout, SAVE_INFO);
124+
107125
ComboBox taskTypeField = addField(TaskDto.TASK_TYPE, ComboBox.class);
108126
taskTypeField.setItemCaptionMode(ItemCaptionMode.ID_TOSTRING);
109127
taskTypeField.setImmediate(true);

0 commit comments

Comments
 (0)