mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-15 14:56:41 +00:00
Added permission to competitor's and boat's admin console tabs
This commit is contained in:
1 parent
f5ed139fb0
commit
3b695b80bd
3 files changed
+17
-18
No files matched your search
+3
@@ -72,6 +72,9 @@ public class SecuredDomainType extends HasPermissionsImpl {
|
||||
private static final Action[] ALL_ACTIONS = new Action[] { READ_PUBLIC, DefaultActions.READ,
|
||||
DefaultActions.CREATE, DefaultActions.UPDATE, DefaultActions.CHANGE_OWNERSHIP,
|
||||
DefaultActions.CHANGE_ACL };
|
||||
|
||||
public static final Action[] MUTATION_ACTIONS = new Action[] { DefaultActions.CREATE, DefaultActions.UPDATE,
|
||||
DefaultActions.CHANGE_OWNERSHIP, DefaultActions.CHANGE_ACL };
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
+10
-14
@@ -13,6 +13,7 @@ import com.google.gwt.user.client.ui.HeaderPanel;
|
||||
import com.google.gwt.user.client.ui.RootLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType;
|
||||
import com.sap.sailing.domain.common.security.SecuredDomainType.CompetitorAndBoatActions;
|
||||
import com.sap.sailing.gwt.common.authentication.FixedSailingAuthentication;
|
||||
import com.sap.sailing.gwt.common.authentication.SAPSailingHeaderWithAuthentication;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
@@ -119,7 +120,9 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
leaderboardsDisplayers = new HashSet<>();
|
||||
leaderboardGroupsDisplayers = new HashSet<>();
|
||||
|
||||
final EventManagementPanel eventManagementPanel = new EventManagementPanel(getSailingService(), getUserService(), this, this, getStringMessages(), panel);
|
||||
/* EVENTS */
|
||||
final EventManagementPanel eventManagementPanel = new EventManagementPanel(getSailingService(),
|
||||
getUserService(), this, this, getStringMessages(), panel);
|
||||
eventManagementPanel.ensureDebugId("EventManagement");
|
||||
panel.addToVerticalTabPanel(new DefaultRefreshableAdminConsolePanel<EventManagementPanel>(eventManagementPanel) {
|
||||
@Override
|
||||
@@ -127,11 +130,10 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
getWidget().fillEvents();
|
||||
fillLeaderboardGroups();
|
||||
}
|
||||
}, getStringMessages().events()); // no permissions required; we show those events the user may read
|
||||
}, getStringMessages().events(), SecuredDomainType.EVENT.getPermission(DefaultActions.MUTATION_ACTIONS));
|
||||
leaderboardGroupsDisplayers.add(eventManagementPanel);
|
||||
|
||||
/* REGATTAS */
|
||||
|
||||
RegattaManagementPanel regattaManagementPanel = new RegattaManagementPanel(
|
||||
getSailingService(), getUserService(), this, getStringMessages(), this, eventManagementPanel);
|
||||
regattaManagementPanel.ensureDebugId("RegattaStructureManagement");
|
||||
@@ -140,11 +142,10 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
public void refreshAfterBecomingVisible() {
|
||||
fillRegattas();
|
||||
}
|
||||
}, getStringMessages().regattas(), SecuredDomainType.EVENT.getPermission(DefaultActions.MUTATION_ACTIONS));
|
||||
}, getStringMessages().regattas(), SecuredDomainType.REGATTA.getPermission(DefaultActions.MUTATION_ACTIONS));
|
||||
regattasDisplayers.add(regattaManagementPanel);
|
||||
|
||||
/* LEADERBOARDS */
|
||||
|
||||
final HorizontalTabLayoutPanel leaderboardTabPanel = panel.addVerticalTab(getStringMessages().leaderboards(), "LeaderboardPanel");
|
||||
final LeaderboardConfigPanel leaderboardConfigPanel = new LeaderboardConfigPanel(getSailingService(), getUserService(), this, this,
|
||||
getStringMessages(), /* showRaceDetails */true, this);
|
||||
@@ -179,9 +180,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
leaderboardsDisplayers.add(leaderboardGroupConfigPanel);
|
||||
|
||||
/* RACES */
|
||||
|
||||
final HorizontalTabLayoutPanel racesTabPanel = panel.addVerticalTab(getStringMessages().trackedRaces(), "RacesPanel");
|
||||
racesTabPanel.ensureDebugId("RacesPanel");
|
||||
|
||||
final TrackedRacesManagementPanel trackedRacesManagementPanel = new TrackedRacesManagementPanel(
|
||||
getSailingService(), getUserService(), this, this, getStringMessages());
|
||||
@@ -201,7 +200,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
public void refreshAfterBecomingVisible() {
|
||||
getWidget().refreshCompetitorList();
|
||||
}
|
||||
}, getStringMessages().competitors()); // no permissions required; we show those competitors the user may read
|
||||
}, getStringMessages().competitors(), SecuredDomainType.COMPETITOR.getPermission(CompetitorAndBoatActions.MUTATION_ACTIONS));
|
||||
|
||||
final BoatPanel boatPanel = new BoatPanel(getSailingService(), getUserService(), getStringMessages(), this);
|
||||
boatPanel.ensureDebugId("BoatPanel");
|
||||
@@ -210,7 +209,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
public void refreshAfterBecomingVisible() {
|
||||
getWidget().refreshBoatList();
|
||||
}
|
||||
}, getStringMessages().boats()); // no permissions required; we show those boats the user may read
|
||||
}, getStringMessages().boats(), SecuredDomainType.BOAT.getPermission(CompetitorAndBoatActions.MUTATION_ACTIONS));
|
||||
|
||||
RaceCourseManagementPanel raceCourseManagementPanel = new RaceCourseManagementPanel(getSailingService(), this, this, getStringMessages());
|
||||
panel.addToTabPanel(racesTabPanel, new DefaultRefreshableAdminConsolePanel<RaceCourseManagementPanel>(raceCourseManagementPanel), getStringMessages().courseLayout());
|
||||
@@ -231,7 +230,6 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
}, getStringMessages().mediaPanel()); // no permissions required; we show those media the user may read
|
||||
|
||||
/* RACE COMMITTEE APP */
|
||||
|
||||
final HorizontalTabLayoutPanel raceCommitteeTabPanel = panel.addVerticalTab(getStringMessages().raceCommitteeApp(), "RaceCommiteeAppPanel");
|
||||
final DeviceConfigurationUserPanel deviceConfigurationUserPanel = new DeviceConfigurationUserPanel(getSailingService(),
|
||||
getUserService(), getStringMessages(), this);
|
||||
@@ -239,7 +237,6 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
getStringMessages().deviceConfiguration()); // no permissions required; we show those device configurations the user may read
|
||||
|
||||
/* CONNECTORS */
|
||||
|
||||
final HorizontalTabLayoutPanel connectorsTabPanel = panel.addVerticalTab(getStringMessages().connectors(), "TrackingProviderPanel");
|
||||
TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(getSailingService(),
|
||||
this, this, getStringMessages());
|
||||
@@ -297,9 +294,8 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint
|
||||
SecuredDomainType.REGATTA.getPermission(DefaultActions.CREATE)); // TODO bug4763 provide the default CREATE ownership for REGATTA / EVENT
|
||||
|
||||
/* ADVANCED */
|
||||
|
||||
final HorizontalTabLayoutPanel advancedTabPanel = panel.addVerticalTab(getStringMessages().advanced(), "AdvancedPanel");
|
||||
advancedTabPanel.ensureDebugId("AdvancedTab");
|
||||
final HorizontalTabLayoutPanel advancedTabPanel = panel.addVerticalTab(getStringMessages().advanced(),
|
||||
"AdvancedTab");
|
||||
final ReplicationPanel replicationPanel = new ReplicationPanel(getSailingService(), this, getStringMessages());
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<ReplicationPanel>(replicationPanel) {
|
||||
@Override
|
||||
|
||||
+4
-4
@@ -98,7 +98,7 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
|
||||
|
||||
/**
|
||||
* If {@code null}, any permission will be accepted by
|
||||
* {@link #remeberWidgetLocationAndPermissions(VerticalOrHorizontalTabLayoutPanel, Widget, String, HasPermissions...)}
|
||||
* {@link #rememberWidgetLocationAndPermissions(VerticalOrHorizontalTabLayoutPanel, Widget, String, HasPermissions...)}
|
||||
* which is used by all methods that add a panel and optionally specify permissions required to see that panel.
|
||||
* If this field holds a valid permission collection, only permissions from this collection will be accepted.
|
||||
* This can be used to keep a central repository of all such permissions which in turn may be used to
|
||||
@@ -278,7 +278,7 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
|
||||
AbstractEntryPoint.setTabPanelSize(newTabPanel, "100%", "100%");
|
||||
newTabPanel.addSelectionHandler(tabSelectionHandler);
|
||||
newTabPanel.ensureDebugId(tabDebugId);
|
||||
remeberWidgetLocationAndPermissions(topLevelTabPanelWrapper, newTabPanel, tabTitle, requiresAnyOfThesePermissions);
|
||||
rememberWidgetLocationAndPermissions(topLevelTabPanelWrapper, newTabPanel, tabTitle, requiresAnyOfThesePermissions);
|
||||
return newTabPanel;
|
||||
}
|
||||
|
||||
@@ -341,7 +341,7 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
|
||||
* method can be called.
|
||||
*/
|
||||
private void addToTabPanel(VerticalOrHorizontalTabLayoutPanel tabPanel, RefreshableAdminConsolePanel panelToAdd, String tabTitle, WildcardPermission... requiresAnyOfThesePermissions) {
|
||||
remeberWidgetLocationAndPermissions(tabPanel, wrapInScrollPanel(panelToAdd.getWidget()), tabTitle, requiresAnyOfThesePermissions);
|
||||
rememberWidgetLocationAndPermissions(tabPanel, wrapInScrollPanel(panelToAdd.getWidget()), tabTitle, requiresAnyOfThesePermissions);
|
||||
panelsByWidget.put(panelToAdd.getWidget(), panelToAdd);
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
|
||||
* widget. Otherwise, if any of these permissions implies any of the permissions the user has, the user
|
||||
* will be shown the widget.
|
||||
*/
|
||||
private void remeberWidgetLocationAndPermissions(VerticalOrHorizontalTabLayoutPanel tabPanel, Widget widgetToAdd,
|
||||
private void rememberWidgetLocationAndPermissions(VerticalOrHorizontalTabLayoutPanel tabPanel, Widget widgetToAdd,
|
||||
String tabTitle, WildcardPermission... requiresAnyOfThesePermissions) {
|
||||
if (acceptablePermissionsRequiredToSeeWidgets != null) {
|
||||
for (final WildcardPermission requiredPermission : requiresAnyOfThesePermissions) {
|
||||
|
||||
Reference in new issue
Block a user