如何在 SuiteCRM 中基于案例的自定义模块“ProductInvestigation”子面板创建逻辑挂钩

问题描述

我正在使用一个名为 ProductInvestigation 和 Cases 模块的自定义模块;当用户从子面板中添加/删除案例时;我想发送电子邮件。它是一对多的关系。我想到的逻辑是,如果案例状态为 new 并且 ProductInvestigation 状态为 InvestigationClosed,那么它应该发送一封电子邮件。函数 createPIEmailwithCases 是我想用来发送电子邮件的。但是我如何从要在电子邮件中发送的关系中获取数据。函数before_addafter_add 是否应该在这个函数createPIEmailwithCases 中?这是我目前所拥有的。

function before_add($bean,$event,$arguments)
    {
         if ($arguments['related_module'] =='Cases')
         {
            $bean->new_case_c =$arguments['related_id'];
          
            
            
            $case_bean = BeanFactory::getBean('Cases',$arguments['related_id']);
            
            /* Get PI Status */
            $pi_status=trim($bean->getFieldValue('status_c'));
            
        
            if ($case_bean->status_c = "New" && $pi_status='Investigation_Closed' ) 
            {
                   
            }
        }
    }
    
    function after_add($bean,$arguments)
    {
     if ($arguments['related_module'] =='Cases'){
        $bean->new_case_c =$arguments['related_id'];
      
        $bean->save();

     }
    } 


*function createPIEmailwithCases(&$email,$action_array,$bean,$xtpl){
    
    /* Get PI Number */

    $xtpl->assign('PI_Number',$bean->pinum_c);
    
    /* Get PI Subject */
    $xtpl->assign('PI_Subject',$bean->name);
    
    /* Get Product Name */
    $xtpl->assign('Product_Name',$bean->product_name_c);
    
    /* Get Product Type */
    $xtpl->assign('Product_Type',$bean->type_of_product_c);
    
    /* Get Batch # */
    $xtpl->assign('Batch_Number',$bean->batch_c);
    
    /* Get Size(s) */
    $xtpl->assign('Size',$bean->size_c);
    
    /* Get Fill Date */
    $xtpl->assign('Fill_Date',$bean->filldate_c);
    
    /* Get Batch # */
    $xtpl->assign('BestBefore',$bean->bestbefore_c);

    /* Get PI Description */
    $xtpl->assign('PI_Desc',$bean->description);
    
            
    /* Get Reviewer Name */
    $xtpl->assign('Reviewed_By',$bean->reviewer_c);
    
    $xtpl->assign('Review_Date',$bean->reviewdate_c);

    
    
    /* Create email message using email template and data above */
    $xtpl->parse('block');
    $email->Body = from_html($xtpl->text('block'));
    
    return $email;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)