bug5799: unified permission check for event media update

This commit is contained in:
Axel Uhl
2023-01-16 14:02:28 +01:00
parent a65476c4ba
commit 43d3462fa8
4 changed files with 16 additions and 9 deletions
@@ -260,10 +260,7 @@ public abstract class AbstractEventActivity<PLACE extends AbstractEventPlace> ex
@Override
public boolean hasMedia() {
if (showRegattaMetadata()) {
return false;
}
return eventDTO.isHasMedia();
return !showRegattaMetadata() && eventDTO.isHasMedia();
}
@Override
@@ -9,8 +9,10 @@ import com.sap.sailing.gwt.home.desktop.places.event.multiregatta.EventMultirega
import com.sap.sailing.gwt.home.desktop.places.event.multiregatta.EventMultiregattaView.Presenter;
import com.sap.sailing.gwt.home.desktop.places.event.multiregatta.MultiregattaTabView;
import com.sap.sailing.gwt.home.shared.app.ActivityCallback;
import com.sap.sailing.gwt.ui.client.SailingServiceHelper;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
import com.sap.sse.security.shared.HasPermissions;
import com.sap.sailing.gwt.ui.shared.ManageMediaModel;
/**
* Created by pgtaboada on 25.11.14.
@@ -35,8 +37,9 @@ public class MultiregattaMediaTabView extends Composite implements MultiregattaT
@Override
public TabView.State getState() {
return currentPresenter.hasMedia() || currentPresenter.getUserService()
.hasPermission(currentPresenter.getEventDTO(), HasPermissions.DefaultActions.UPDATE) // bug5799: this is redundant to RegattaMediaTabView and the general permission check
final ManageMediaModel model = new ManageMediaModel(
SailingServiceHelper.createSailingServiceWriteInstance(), currentPresenter.getUserService(), currentPresenter.getEventDTO(), StringMessages.INSTANCE);
return currentPresenter.hasMedia() || model.hasPermissions()
? TabView.State.VISIBLE
: TabView.State.INVISIBLE;
}
@@ -9,7 +9,10 @@ import com.sap.sailing.gwt.home.desktop.places.event.regatta.EventRegattaView;
import com.sap.sailing.gwt.home.desktop.places.event.regatta.EventRegattaView.Presenter;
import com.sap.sailing.gwt.home.desktop.places.event.regatta.RegattaTabView;
import com.sap.sailing.gwt.home.shared.app.ActivityCallback;
import com.sap.sailing.gwt.ui.client.SailingServiceHelper;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
import com.sap.sailing.gwt.ui.shared.ManageMediaModel;
/**
* Created by pgtaboada on 25.11.14.
@@ -30,7 +33,11 @@ public class RegattaMediaTabView extends Composite implements RegattaTabView<Reg
@Override
public TabView.State getState() {
return currentPresenter.hasMedia() ? TabView.State.VISIBLE : TabView.State.INVISIBLE; // bug5799: should this be made visible always if user has update permission?
final ManageMediaModel model = new ManageMediaModel(
SailingServiceHelper.createSailingServiceWriteInstance(), currentPresenter.getUserService(), currentPresenter.getEventDTO(), StringMessages.INSTANCE);
return currentPresenter.hasMedia() || model.hasPermissions()
? TabView.State.VISIBLE
: TabView.State.INVISIBLE;
}
@Override
@@ -169,7 +169,7 @@ public class ManageMediaModel {
}
/**
* Check permission on default object (eventViewDTO from init).
* Check media update permission on default object (eventViewDTO from init).
*/
public boolean hasPermissions() {
final boolean hasPermission;