package org.exoplatform.ecm.webui.component.explorer.control.filter;
import java.util.Map;
import javax.jcr.Node;
import org.exoplatform.ecm.webui.utils.Utils;
import org.exoplatform.webui.ext.filter.UIExtensionAbstractFilter;
import org.exoplatform.webui.ext.filter.UIExtensionFilterType;
/**
* This filter will be used to check the current user has permission to restore selected document/folder or not.
*/
public class IsAbleToRestoreFilter extends UIExtensionAbstractFilter {
public IsAbleToRestoreFilter() {
this(null);
}
public IsAbleToRestoreFilter(String messageKey) {
super(messageKey, UIExtensionFilterType.MANDATORY);
}
@Override
public boolean accept(Map<String, Object> context) throws Exception {
if (context == null) return true;
Node currentNode = (Node) context.get(Node.class.getName());
return Utils.isAbleToRestore(currentNode);
}
@Override
public void onDeny(Map<String, Object> context) throws Exception {
createUIPopupMessages(context, "UIDocumentInfo.msg.access-denied");
}
}