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

Commit d4a848e

Browse files
Add basic export to the task directory SORMAS-Foundation#3275 (SORMAS-Foundation#3529)
* Add basic export to the task directory SORMAS-Foundation#3275 * Put the basic export button directly in the top layout of the task directory SORMAS-Foundation#3275
1 parent 8c37fd9 commit d4a848e

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/user/UserRight.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,25 @@ public enum UserRight {
580580
ADMIN,
581581
NATIONAL_USER
582582
),
583+
TASK_EXPORT(
584+
ADMIN,
585+
NATIONAL_USER,
586+
NATIONAL_CLINICIAN,
587+
POE_NATIONAL_USER,
588+
SURVEILLANCE_SUPERVISOR,
589+
ADMIN_SUPERVISOR,
590+
SURVEILLANCE_OFFICER,
591+
CASE_SUPERVISOR,
592+
CASE_OFFICER,
593+
CONTACT_SUPERVISOR,
594+
CONTACT_OFFICER,
595+
POE_SUPERVISOR,
596+
POE_INFORMANT,
597+
HOSPITAL_INFORMANT,
598+
COMMUNITY_INFORMANT,
599+
LAB_USER,
600+
EXTERNAL_LAB_USER,
601+
EVENT_OFFICER),
583602
ACTION_CREATE(
584603
ADMIN,
585604
NATIONAL_USER,

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

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

20+
import java.util.Date;
21+
2022
import com.vaadin.icons.VaadinIcons;
2123
import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
24+
import com.vaadin.server.FileDownloader;
25+
import com.vaadin.server.StreamResource;
2226
import com.vaadin.ui.Button;
2327
import com.vaadin.ui.themes.ValoTheme;
2428

2529
import de.symeda.sormas.api.i18n.Captions;
30+
import de.symeda.sormas.api.i18n.I18nProperties;
31+
import de.symeda.sormas.api.i18n.Strings;
2632
import de.symeda.sormas.api.task.TaskContext;
2733
import de.symeda.sormas.api.task.TaskCriteria;
2834
import de.symeda.sormas.api.task.TaskStatus;
2935
import de.symeda.sormas.api.user.UserRight;
36+
import de.symeda.sormas.api.utils.DateHelper;
3037
import de.symeda.sormas.ui.ControllerProvider;
3138
import de.symeda.sormas.ui.UserProvider;
3239
import de.symeda.sormas.ui.ViewModelProviders;
3340
import de.symeda.sormas.ui.utils.AbstractView;
3441
import de.symeda.sormas.ui.utils.ButtonHelper;
42+
import de.symeda.sormas.ui.utils.GridExportStreamResource;
3543
import de.symeda.sormas.ui.utils.ViewConfiguration;
3644

3745
@SuppressWarnings("serial")
@@ -57,6 +65,20 @@ public TasksView() {
5765
taskListComponent = new TaskGridComponent(getViewTitleLabel(), this);
5866
addComponent(taskListComponent);
5967

68+
if (UserProvider.getCurrent().hasUserRight(UserRight.TASK_EXPORT)) {
69+
Button basicExportButton = ButtonHelper.createIconButton(Captions.exportBasic, VaadinIcons.TABLE, null, ValoTheme.BUTTON_PRIMARY);
70+
basicExportButton.setDescription(I18nProperties.getString(Strings.infoBasicExport));
71+
addHeaderComponent(basicExportButton);
72+
73+
StreamResource streamResource = new GridExportStreamResource(
74+
taskListComponent.getGrid(),
75+
"sormas_tasks",
76+
"sormas_tasks_" + DateHelper.formatDateForExport(new Date()) + ".csv",
77+
TaskGrid.EDIT_BTN_ID);
78+
FileDownloader fileDownloader = new FileDownloader(streamResource);
79+
fileDownloader.extend(basicExportButton);
80+
}
81+
6082
if (UserProvider.getCurrent().hasUserRight(UserRight.PERFORM_BULK_OPERATIONS)) {
6183
Button btnEnterBulkEditMode = ButtonHelper.createIconButton(Captions.actionEnterBulkEditMode, VaadinIcons.CHECK_SQUARE_O, null);
6284
btnEnterBulkEditMode.setVisible(!viewConfiguration.isInEagerMode());

0 commit comments

Comments
 (0)