代码之家  ›  专栏  ›  技术社区  ›  Tom Hanson

SuiteScript AddButton不为其他用户显示

  •  0
  • Tom Hanson  · 技术社区  · 7 年前

    我已经创建了两个按钮,显示在一个估计。一个按钮向所有人显示,另一个按钮在用户具有设置的角色时显示。

    form.addButton({id : 'button1', label : 'button1', functionName : "window.open('" + urlCallBack1 + "', '_blank')"});
    var acceptedRoles = [ common.CONSTANTS.ROLES.TEAM_LEADER, 
    common.CONSTANTS.ROLES.ADMINISTRATOR ];
    if(acceptedRoles.indexOf(userRole) > -1)
    {
        form.addButton({id : 'button2', label : 'button2', functionName : "window.open('" + urlCallBack2 + "', '_blank')"});
    }
    

    但是,当我们的用户使用team leader角色登录时,他们看到button1但看不到button2。同一个脚本提供两个按钮,因此它不是脚本本身的权限问题。

    预期行为: 当一个团队领导登录时,他们可以看到一个估计上的按钮2。

    当一个团队领导登录时,他们看不到一个估算上的按钮2。

    0 回复  |  直到 7 年前
        1
  •  0
  •   Arif WB    7 年前

    您是否尝试将'userRole'变量显式转换为整数值,以确保您的条件正在比较同一类型的两个值?一、 下面是e。

    if(acceptedRoles.indexOf(parseInt(userRole)) > -1)
    
        2
  •  0
  •   Mike Robbins    7 年前

        3
  •  0
  •   gingin    7 年前

    我认为这与userRole的值与acceptedRoles数组中的任何值都不匹配有关。检查userRole的值以及它是否与TEAM_LEADER的常量值匹配。

    var acceptedRoles = [ 'TEAM_LEADER', 'ADMINISTRATOR' ];
    var userRole = 'TEAM_LEADER';
    
     if(acceptedRoles.indexOf(userRole) > -1) { 
          console.log('here');
    }