Merge remote-tracking branch 'origin/bug5212'

This commit is contained in:
Axel Uhl committed 2020-05-28 18:59:04 +02:00
commit 773c550164
8 files changed
+13 -54

No files matched your search

@@ -171,7 +171,6 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
};
filterField.setUpdatePermissionFilterForCheckbox(boat -> userService.hasPermission(boat, DefaultActions.UPDATE));
registerSelectionModelOnNewDataProvider(filterField.getAllListDataProvider());
// BoatTable edit features
final HasPermissions type = SecuredDomainType.BOAT;
AccessControlledActionsColumn<BoatDTO, BoatConfigImagesBarCell> boatActionColumn = create(
@@ -180,15 +179,13 @@ public class BoatTableWrapper<S extends RefreshableSelectionModel<BoatDTO>> exte
this::openEditBoatDialog);
boatActionColumn.addAction(BoatConfigImagesBarCell.ACTION_REFRESH, this::allowUpdate);
final DialogConfig<BoatDTO> editOwnerShipDialog = EditOwnershipDialog.create(
userService.getUserManagementService(), SecuredDomainType.BOAT, null, stringMessages);
userService.getUserManagementService(), SecuredDomainType.BOAT, boatDTO -> refresh(Collections.singleton(boatDTO)), stringMessages);
boatActionColumn.addAction(BoatConfigImagesBarCell.ACTION_CHANGE_OWNERSHIP, CHANGE_OWNERSHIP,
editOwnerShipDialog::openOwnershipDialog);
final EditACLDialog.DialogConfig<BoatDTO> configACL = EditACLDialog
.create(userService.getUserManagementService(), type, null, stringMessages);
boatActionColumn.addAction(BoatConfigImagesBarCell.ACTION_CHANGE_ACL, DefaultActions.CHANGE_ACL,
configACL::openACLDialog);
mainPanel.insert(filterField, 0);
table.addColumnSortHandler(boatColumnListHandler);
table.addColumn(boatNameColumn, stringMessages.name());
@@ -331,7 +331,7 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
competitorActionColumn.addAction(CompetitorConfigImagesBarCell.ACTION_UPDATE, HasPermissions.DefaultActions.UPDATE, this::editCompetitor);
competitorActionColumn.addAction(CompetitorConfigImagesBarCell.ACTION_REFRESH, this::allowUpdate);
final DialogConfig<CompetitorDTO> editOwnerShipDialog = EditOwnershipDialog.create(userService.getUserManagementService(), SecuredDomainType.COMPETITOR,
null, stringMessages);
competitorDTO -> refresh(Collections.singleton(competitorDTO)), stringMessages);
competitorActionColumn.addAction(CompetitorConfigImagesBarCell.ACTION_CHANGE_OWNERSHIP, CHANGE_OWNERSHIP,
editOwnerShipDialog::openOwnershipDialog);
final EditACLDialog.DialogConfig<CompetitorDTO> configACL = EditACLDialog
@@ -580,19 +580,15 @@ public class MediaPanel extends FlowPanel implements MediaTracksRefresher {
removeMediaTrack(mediaTrack);
}
});
final EditOwnershipDialog.DialogConfig<MediaTrackWithSecurityDTO> configOwnership = EditOwnershipDialog.create(
userService.getUserManagementService(), type,
mediaTrack -> {
/* no refresh action */},
stringMessages);
final EditOwnershipDialog.DialogConfig<MediaTrackWithSecurityDTO> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), type, mediaTrack -> mediaTrackListDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<MediaTrackWithSecurityDTO> configACL = EditACLDialog.create(
userService.getUserManagementService(), type, mediaTrack -> mediaTrack.getAccessControlList(), stringMessages);
userService.getUserManagementService(), type, mediaTrack -> mediaTrack.getAccessControlList(),
stringMessages);
actionsColumn.addAction(ACTION_CHANGE_OWNERSHIP, CHANGE_OWNERSHIP, configOwnership::openOwnershipDialog);
actionsColumn.addAction(DefaultActionsImagesBarCell.ACTION_CHANGE_ACL, DefaultActions.CHANGE_ACL,
mediaTrack -> configACL.openACLDialog(mediaTrack));
mediaTracksTable.addColumn(actionsColumn, stringMessages.actions());
}
protected void removeMediaTrack(MediaTrack mediaTrack) {
@@ -195,8 +195,7 @@ public class SmartphoneTrackingEventManagementPanel
Boolean.valueOf(l1.canBoatsOfCompetitorsChangePerRace).compareTo(Boolean.valueOf(l2.canBoatsOfCompetitorsChangePerRace)));
final HasPermissions type = SecuredDomainType.EVENT;
final EditOwnershipDialog.DialogConfig<StrippedLeaderboardDTOWithSecurity> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), type, leaderboard -> {
}, stringMessages);
.create(userService.getUserManagementService(), type, leaderboard -> listDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<StrippedLeaderboardDTOWithSecurity> configACL = EditACLDialog.create(
userService.getUserManagementService(), type, leaderboard -> leaderboard.getAccessControlList(),
stringMessages);
@@ -293,29 +293,22 @@ public class CourseTemplatePanel extends FlowPanel {
return Integer.toString(courseTemplate.getWaypointTemplates().size());
}
};
nameColumn.setSortable(true);
sortHandler.setComparator(nameColumn, new Comparator<CourseTemplateDTO>() {
public int compare(CourseTemplateDTO courseTemplate1, CourseTemplateDTO courseTemplate2) {
return courseTemplate1.getName().compareTo(courseTemplate2.getName());
}
});
courseTemplateTable.addColumn(nameColumn, stringMessages.name());
courseTemplateTable.addColumn(urlColumn, stringMessages.url());
courseTemplateTable.addColumn(tagsColumn, stringMessages.tags());
courseTemplateTable.addColumn(waypointTemplateCountColumn, stringMessages.waypoints());
SecuredDTOOwnerColumn.configureOwnerColumns(courseTemplateTable, sortHandler, stringMessages);
final HasPermissions type = SecuredDomainType.COURSE_TEMPLATE;
final AccessControlledActionsColumn<CourseTemplateDTO, DefaultActionsImagesBarCell> actionsColumn = create(
new DefaultActionsImagesBarCell(stringMessages), userService);
final EditOwnershipDialog.DialogConfig<CourseTemplateDTO> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), type, courseTemplate -> {
/* no refresh action */}, stringMessages);
.create(userService.getUserManagementService(), type, courseTemplateDTO -> courseTemplateListDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<CourseTemplateDTO> configACL = EditACLDialog.create(
userService.getUserManagementService(), type, courseTemplate -> courseTemplate.getAccessControlList(),
stringMessages);
@@ -342,7 +335,7 @@ public class CourseTemplatePanel extends FlowPanel {
courseTemplateTable.addColumn(idColumn, stringMessages.id());
courseTemplateTable.addColumn(actionsColumn, stringMessages.actions());
}
public void refreshCourseTemplates() {
loadCourseTemplates();
loadMarkRoles();
@@ -294,7 +294,6 @@ public class MarkPropertiesPanel extends FlowPanel {
return String.join(", ", markProperties.getTags());
}
};
Column<MarkPropertiesDTO, AbstractImagePrototype> positioningColumn = new Column<MarkPropertiesDTO, AbstractImagePrototype>(
new AbstractCell<AbstractImagePrototype>() {
@@ -315,14 +314,12 @@ public class MarkPropertiesPanel extends FlowPanel {
}
}
};
nameColumn.setSortable(true);
sortHandler.setComparator(nameColumn, new Comparator<MarkPropertiesDTO>() {
public int compare(MarkPropertiesDTO markProperties1, MarkPropertiesDTO markProperties2) {
return markProperties1.getName().compareTo(markProperties2.getName());
}
});
markPropertiesTable.addColumn(nameColumn, stringMessages.name());
markPropertiesTable.addColumn(shortNameColumn, stringMessages.shortName());
markPropertiesTable.addColumn(colorColumn, stringMessages.color());
@@ -331,17 +328,13 @@ public class MarkPropertiesPanel extends FlowPanel {
markPropertiesTable.addColumn(typeColumn, stringMessages.type());
markPropertiesTable.addColumn(positioningColumn, stringMessages.position());
markPropertiesTable.addColumn(tagsColumn, stringMessages.tags());
SecuredDTOOwnerColumn.configureOwnerColumns(markPropertiesTable, sortHandler, stringMessages);
final HasPermissions type = SecuredDomainType.MARK_PROPERTIES;
final AccessControlledActionsColumn<MarkPropertiesDTO, MarkPropertiesImagesbarCell> actionsColumn = create(
new MarkPropertiesImagesbarCell(stringMessages), userService);
final EditOwnershipDialog.DialogConfig<MarkPropertiesDTO> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), type, markProperties -> {
/* no refresh action */}, stringMessages);
.create(userService.getUserManagementService(), type, markProperties ->
markPropertiesListDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<MarkPropertiesDTO> configACL = EditACLDialog.create(
userService.getUserManagementService(), type, markProperties -> markProperties.getAccessControlList(),
stringMessages);
@@ -238,8 +238,7 @@ public class MarkRolePanel extends FlowPanel {
final AccessControlledActionsColumn<MarkRoleDTO, DefaultActionsImagesBarCell> actionsColumn = create(
new DefaultActionsImagesBarCell(stringMessages), userService);
final EditOwnershipDialog.DialogConfig<MarkRoleDTO> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), SecuredDomainType.MARK_ROLE, markRole -> {
/* no refresh action */}, stringMessages);
.create(userService.getUserManagementService(), SecuredDomainType.MARK_ROLE, markRole -> markRoleListDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<MarkRoleDTO> configACL = EditACLDialog.create(
userService.getUserManagementService(), SecuredDomainType.MARK_ROLE,
markRole -> markRole.getAccessControlList(), stringMessages);
@@ -71,7 +71,6 @@ public class MarkTemplatePanel extends FlowPanel {
add(buttonAndFilterPanel);
allMarkTemplates = new ArrayList<>();
buttonAndFilterPanel.addUnsecuredAction(stringMessages.refresh(), new Command() {
@Override
public void execute() {
loadMarkTemplates();
@@ -81,14 +80,11 @@ public class MarkTemplatePanel extends FlowPanel {
@Override
public void execute() {
openEditMarkTemplateDialog(new MarkTemplateDTO());
// TODO add action
}
});
Label lblFilterRaces = new Label(stringMessages.filterMarkTemplateByName() + ":");
lblFilterRaces.setWordWrap(false);
buttonAndFilterPanel.addUnsecuredWidget(lblFilterRaces);
this.filterableMarkTemplates = new LabeledAbstractFilterablePanel<MarkTemplateDTO>(lblFilterRaces,
allMarkTemplates, markTemplateListDataProvider, stringMessages) {
@Override
@@ -132,17 +128,14 @@ public class MarkTemplatePanel extends FlowPanel {
private void createMarkTemplatesTable(final UserService userService) {
// Create a CellTable.
// Set a key provider that provides a unique key for each contact. If key is
// used to identify contacts when fields (such as the name and address)
// change.
markTemplateTable = new BaseCelltable<>(1000, tableResources);
markTemplateTable.setWidth("100%");
// Attach a column sort handler to the ListDataProvider to sort the list.
ListHandler<MarkTemplateDTO> sortHandler = new ListHandler<>(markTemplateListDataProvider.getList());
markTemplateTable.addColumnSortHandler(sortHandler);
// Add a selection model so we can select cells.
refreshableSelectionModel = new RefreshableMultiSelectionModel<>(
new EntityIdentityComparator<MarkTemplateDTO>() {
@@ -188,7 +181,6 @@ public class MarkTemplatePanel extends FlowPanel {
// Initialize the columns.
initTableColumns(sortHandler, userService);
markTemplateListDataProvider.addDataDisplay(markTemplateTable);
add(markTemplateTable);
allMarkTemplates.clear();
@@ -210,7 +202,6 @@ public class MarkTemplatePanel extends FlowPanel {
};
markTemplateTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
markTemplateTable.setColumnWidth(checkColumn, 40, Unit.PX);
// id
Column<MarkTemplateDTO, String> idColumn = new Column<MarkTemplateDTO, String>(new TextCell()) {
@Override
@@ -264,31 +255,24 @@ public class MarkTemplatePanel extends FlowPanel {
: "";
}
};
nameColumn.setSortable(true);
sortHandler.setComparator(nameColumn, new Comparator<MarkTemplateDTO>() {
public int compare(MarkTemplateDTO markTemplate1, MarkTemplateDTO markTemplate2) {
return markTemplate1.getName().compareTo(markTemplate2.getName());
}
});
markTemplateTable.addColumn(nameColumn, stringMessages.name());
markTemplateTable.addColumn(shortNameColumn, stringMessages.shortName());
markTemplateTable.addColumn(colorColumn, stringMessages.color());
markTemplateTable.addColumn(shapeColumn, stringMessages.shape());
markTemplateTable.addColumn(patternColumn, stringMessages.pattern());
markTemplateTable.addColumn(typeColumn, stringMessages.type());
SecuredDTOOwnerColumn.configureOwnerColumns(markTemplateTable, sortHandler, stringMessages);
final HasPermissions type = SecuredDomainType.MARK_TEMPLATE;
final AccessControlledActionsColumn<MarkTemplateDTO, DefaultActionsImagesBarCell> actionsColumn = create(
new DefaultActionsImagesBarCell(stringMessages), userService);
final EditOwnershipDialog.DialogConfig<MarkTemplateDTO> configOwnership = EditOwnershipDialog
.create(userService.getUserManagementService(), type, markTemplate -> {
/* no refresh action */}, stringMessages);
.create(userService.getUserManagementService(), type, markTemplate -> markTemplateListDataProvider.refresh(), stringMessages);
final EditACLDialog.DialogConfig<MarkTemplateDTO> configACL = EditACLDialog.create(
userService.getUserManagementService(), type, markTemplate -> markTemplate.getAccessControlList(),
stringMessages);
@@ -297,7 +281,6 @@ public class MarkTemplatePanel extends FlowPanel {
markTemplate -> configACL.openACLDialog(markTemplate));
markTemplateTable.addColumn(idColumn, stringMessages.id());
markTemplateTable.addColumn(actionsColumn, stringMessages.actions());
}
public void refreshMarkTemplates() {
@@ -337,5 +320,4 @@ public class MarkTemplatePanel extends FlowPanel {
dialog.ensureDebugId("MarkTemplateEditDialog");
dialog.show();
}
}