Skip to content
Snippets Groups Projects
Commit e3d6da99 authored by buczekp's avatar buczekp
Browse files

[LMS-2368] forbid edition of entities moved to trash in UI

SVN: 22093
parent 8fc22832
No related branches found
No related tags found
No related merge requests found
......@@ -508,6 +508,12 @@ public abstract class Dict
public static final String DELETE_PROGRESS_MESSAGE = "delete_progress_message";
public static final String CANNOT_MODIFY_DELETED_ENTITY_TITLE =
"cannot_modify_deleted_entity_title";
public static final String CANNOT_MODIFY_DELETED_ENTITY_MSG =
"cannot_modify_deleted_entity_msg";
//
// Sample Viewer
//
......
......@@ -103,6 +103,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.GridCustomColumnDefinition;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.BrowserGridPagingToolBar.PagingToolBarButtonKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.FilterToolbar;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener.OpenEntityEditorTabClickListener;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.IDataRefreshCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils.DisplayInfoTime;
......@@ -387,6 +388,10 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod
protected void showEntityInformationHolderViewer(IEntityInformationHolderWithPermId entity,
boolean editMode, boolean inBackground)
{
if (OpenEntityEditorTabClickListener.forbidDeletedEntityModification(viewContext, entity))
{
return;
}
final EntityKind entityKind = entity.getEntityKind();
final AbstractTabItemFactory tabView;
BasicEntityType entityType = entity.getEntityType();
......
......@@ -16,15 +16,19 @@
package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IClientPlugin;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IClientPluginFactory;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.WidgetUtils;
import ch.systemsx.cisd.openbis.generic.shared.basic.DeletionUtils;
import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
......@@ -59,6 +63,10 @@ public final class OpenEntityEditorTabClickListener implements ClickHandler
IEntityInformationHolder entity, boolean inBackground)
{
assert entity != null : "entity is not provided";
if (forbidDeletedEntityModification(viewContext, entity))
{
return;
}
final AbstractTabItemFactory tabView;
// NOTE: most plugins require a specific type class here!
BasicEntityType entityType = entity.getEntityType();
......@@ -72,4 +80,21 @@ public final class OpenEntityEditorTabClickListener implements ClickHandler
tabView.setInBackground(inBackground);
DispatcherHelper.dispatchNaviEvent(tabView);
}
public static boolean forbidDeletedEntityModification(IMessageProvider messageProvider,
IEntityInformationHolder entity)
{
if (DeletionUtils.isDeleted(entity))
{
String title =
messageProvider.getMessage(Dict.CANNOT_MODIFY_DELETED_ENTITY_TITLE, entity
.getEntityKind().getDescription());
String msg =
messageProvider.getMessage(Dict.CANNOT_MODIFY_DELETED_ENTITY_MSG, entity
.getEntityKind().getDescription(), entity.getCode());
MessageBox.alert(title, msg, null);
return true;
}
return false;
}
}
......@@ -72,6 +72,8 @@ var common = {
deleting: "Deleting",
delete_permanently_progress_message: "Deleting {0}(s)...",
delete_progress_message: "Moving {0}(s) to trash ...",
cannot_modify_deleted_entity_title: "Can't modify deleted {0}",
cannot_modify_deleted_entity_msg": "{0} '{1}' has been moved to trash and therefore can't be modified.',
//
// Table Modifications
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment