package ru.korusconsulting.actions;
import ru.korusconsulting.logger.KcLogger;
import ru.korusconsulting.logger.LogLevel;
import ru.korusconsulting.taskmanager.actions.KcRootAction;
import ru.korusconsulting.utils.KcUtils;
import com.documentum.fc.client.IDfPersistentObject;
import com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfId;
import com.documentum.web.common.ArgumentList;
import com.documentum.web.formext.action.IActionPrecondition;
import com.documentum.web.formext.component.Component;
import com.documentum.web.formext.config.Context;
import com.documentum.web.formext.config.IConfigElement;
import com.documentum.web.formext.control.docbase.DocbaseObject;
public class KcActionDeleteNewDocumentPrecondition extends KcRootAction {
public String[] getRequiredParams() {
return new String[] {};
}
public boolean queryExecute(String actionName, IConfigElement config,
ArgumentList args, Context context, Component component) {
initializeArgument(actionName, config, args, context, component, null);
IDfId id = KcUtils.getClientX().getId(args.get("sysObjectId"));
if (id.isObjectId()) {
try {
IDfSysObject sysObject = (IDfSysObject)component.getDfSession().getObject(id);
if (sysObject.getPolicyName().equals("lf_init")
&& sysObject.getCurrentState() < 1) {
return true;
}
} catch (DfException e) {
KcLogger.log(LogLevel.ERROR, this, "queryExecute: ERROR! ", e);
}
}
return false;
}
}