如何限制糖crm CE的用户数量


how can limit the number of users in sugar crm CE

我想限制sugar crm中的用户数量,这样管理员将只能为例如20-25创建一定数量的用户,如果他试图创建更多的用户,那么它将显示一条消息,"您已经超过了用户限制"。

我试着把一个选择用户查询放在crm数据库上,如果它超过了限制,它就不会显示在editview的其余部分,但不幸的是,它不再工作了,它有时工作,但有时失败了。

它有点非结构化,因为我在editviewdefs.php、detailviewdefs.php和其他文件中使用普通的php语法。

语法如下:

<?php
$con=mysqli_connect("localhost","dbname","dbuser","dbpass");    
    // Check connection
    if (mysqli_connect_errno())
    {           
        echo "Failed to connect to MySQL: " .   mysqli_connect_error();              }
        $sql="SELECT * FROM users";
        $result=mysqli_query($con,$sql);
        $rowcount=mysqli_num_rows($result);
        echo $rowcount;
        if($rowcount<=25)
        {
        <<show rest of the edit view code eg $viewdefs ['Users'].......    etc >>
        }else
 {
    << show a message >>
 }      
    }
    mysqli_free_result($result);
    mysqli_close($con);  
    }
?>

我知道我使用的上述方法是不结构化和不正确的,因为这可以用某些sugar crm代码来解决。

那么,有没有任何系统和结构化的方法可以让我创建一个特定的功能,当我点击创建新用户并禁用或隐藏用户创建面板时,它会显示一条消息。

感谢

您只需要签入editviewdefs.php,因为每当新用户创建editviewdefs.php时,您都可以在那里检查

  • 如果$bean->id为空,则新用户将创建
  • 然后可以执行用户限制检查并限制用户
  • 将用户QuickCreate表单重定向到用户FullForm
  • 通过添加Where子句users.deleted=0改进SQL查询

除了mysqli错误的else之外,看起来是在点上

<?php
$con=mysqli_connect("localhost","dbname","dbuser","dbpass");    
    // Check connection
if (mysqli_connect_errno()) {           
    echo "Failed to connect to MySQL: " .   mysqli_connect_error();
} else {
    $sql="SELECT * FROM users";
    $result=mysqli_query($con,$sql);
    $rowcount=mysqli_num_rows($result);
    echo $rowcount;
    if($rowcount<=25) {
            <<show rest of the edit view code eg $viewdefs ['Users'].......    etc >>
        } else {
            << show a message >>
        }      
    }
    mysqli_free_result($result);
    mysqli_close($con);  
}
?>