public class AdminFilter extends DefaultSimpleValidationFilter {
@SuppressWarnings ( "unused" )
public UIValidationStatus preValidateAction ( UIValidationKey key, UIValidationCriteria criteria) {
UIValidationStatus uiStatus = UIValidationStatus. HIDDEN;
WTObject wtobject = ( WTObject) criteria. getContextObject ( ) . getObject ( ) ;
String actionName = key. getComponentID ( ) ;
if ( criteria. isSiteAdmin ( ) ) {
uiStatus = UIValidationStatus. ENABLED;
}
return uiStatus;
}
}
public class CustomFilter extends DefaultSimpleValidationFilter {
@SuppressWarnings ( { "unused" , "unlikely-arg-type" } )
public UIValidationStatus preValidateAction ( UIValidationKey key, UIValidationCriteria criteria) {
UIValidationStatus uiStatus = UIValidationStatus. HIDDEN;
WTObject wtobject = ( WTObject) criteria. getContextObject ( ) . getObject ( ) ;
String actionName = key. getComponentID ( ) ;
WTUser currentUser = null;
WTPart part = null;
if ( wtobject instanceof WTPart ) {
part = ( WTPart) wtobject;
}
try {
currentUser = ( WTUser) SessionHelper. manager. getPrincipal ( ) ;
} catch ( WTException e) {
e. printStackTrace ( ) ;
}
String creatorName = part. getCreatorName ( ) ;
String value = part. getVersionIdentifier ( ) . getValue ( ) ;
String state = part. getLifeCycleState ( ) . toString ( ) ;
if ( currentUser. getName ( ) . equals ( creatorName) && "A" . equals ( value) && "BIANZHIZHONG" . equals ( state) && actionName. equals ( "viewLifecycle" ) ) {
uiStatus = UIValidationStatus. ENABLED;
}
return uiStatus;
}
}
custom- additions. xconf 添加
< Service context= "default" name= "com.ptc.core.ui.validation.SimpleValidationFilter" targetFile= "codebase/service.properties" >
< Option requestor= "null" serviceClass= "ext.common.filter.AdminFilter" selector= "AdminFilter" / >
< / Service>
< Service context= "default" name= "com.ptc.core.ui.validation.SimpleValidationFilter" targetFile= "codebase/service.properties" >
< Option requestor= "null" serviceClass= "ext.common.filter.CustomFilter" selector= "CustomFilter" / >
< / Service>