Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当使用另一个按钮(HYBRIS)执行操作时,如何禁用backoffice中的按钮?_Java_Xml_Hybris - Fatal编程技术网

Java 当使用另一个按钮(HYBRIS)执行操作时,如何禁用backoffice中的按钮?

Java 当使用另一个按钮(HYBRIS)执行操作时,如何禁用backoffice中的按钮?,java,xml,hybris,Java,Xml,Hybris,嗨,专家们,当使用另一个按钮进行操作时,如何禁用backoffice中的按钮操作 例如,当我从店面创建订单时,然后在backoffice的“订单”选项卡中为当前订单创建两个操作按钮。赞成和反对 批准订单时,我仍会看到“拒绝”按钮。审批后如何禁用此按钮 在action类(实现CockpitAction)中,必须重写canPerform方法,根据业务逻辑返回true/false 例如,您可以参考客户的启用/禁用操作如何工作OOTB 在b2bcommercebackoffice backoffice

嗨,专家们,当使用另一个按钮进行操作时,如何禁用backoffice中的按钮操作

例如,当我从店面创建订单时,然后在backoffice的“订单”选项卡中为当前订单创建两个操作按钮。赞成和反对

批准订单时,我仍会看到“拒绝”按钮。审批后如何禁用此按钮

在action类(实现
CockpitAction
)中,必须重写
canPerform
方法,根据业务逻辑返回true/false

例如,您可以参考客户的启用/禁用操作如何工作OOTB

b2bcommercebackoffice backoffice config.xml
中,您可以找到

<context merge-by="module" type="B2BCustomer" component="editorareaactions">
    <y:actions xmlns:y="http://www.hybris.com/cockpit/config/hybris">
        <y:group qualifier="common">
            <y:label>actiongroup.common</y:label>               
            <y:action action-id="de.hybris.platform.b2bcommerce.backoffice.actions.disableb2bcustomeraction" property="currentObject"/>
            <y:action action-id="de.hybris.platform.b2bcommerce.backoffice.actions.enableb2bcustomeraction" property="currentObject"/>
        </y:group>
    </y:actions>
</context>

actiongroup.common
现在,请参阅禁用B2B客户操作启用B2B客户操作说明他们如何实现可以执行方法

e、 g

public boolean可执行(ActionContext ctx){
对象数据=ctx.getData();
if(data!=null&&b2b客户模型的数据实例){
B2B客户模型B2B客户模型=(B2B客户模型)数据;
UserModel currentUser=this.userService.getCurrentUser();
布尔值isActive=B2BCCustomerModel.getActive();
布尔值isUserMemberOfAdminGroup=this.userService.isMemberOfGroup(currentUser,
this.userService.getAdminUserGroup());
布尔值IsUserMemberOfB2 AdminGroup=this.userService.isMemberOfGroup(currentUser,
this.userService.getUserGroupForUID(“B2BadmingGroup”);
return(isUserMemberOfAdminGroup | | isUserMemberOfB2 AdminGroup)和&isActive;
}否则{
返回false;
}
}
public boolean canPerform(ActionContext<B2BCustomerModel> ctx) {
    Object data = ctx.getData();
    if (data != null && data instanceof B2BCustomerModel) {
        B2BCustomerModel b2bCustomerModel = (B2BCustomerModel) data;
        UserModel currentUser = this.userService.getCurrentUser();
        boolean isActive = b2bCustomerModel.getActive();
        boolean isUserMemberOfAdminGroup = this.userService.isMemberOfGroup(currentUser,
                this.userService.getAdminUserGroup());
        boolean isUserMemberOfB2BAdminGroup = this.userService.isMemberOfGroup(currentUser,
                this.userService.getUserGroupForUID("b2badmingroup"));
        return (isUserMemberOfAdminGroup || isUserMemberOfB2BAdminGroup) && isActive;
    } else {
        return false;
    }
}