コード例 #1
0
function pcpteams_civicrm_custom($op, $groupID, $entityID, &$params)
{
    if ($op != 'create' && $op != 'edit') {
        return;
    }
    $customFields = array();
    if ($groupID == CRM_Pcpteams_Utils::getPcpCustomSetId()) {
        foreach ($params as $key => $value) {
            $customFields[$value['column_name']] = $value['value'];
        }
        $teamContactId = CRM_Pcpteams_Utils::getcontactIdbyPcpId($entityID);
        if ('Team' == CRM_Pcpteams_Utils::checkPcpType($entityID)) {
            $cfpcpab = CRM_Pcpteams_Utils::getPcpABCustomFieldId();
            $customParams = array("custom_{$cfpcpab}" => $entityID);
            CRM_Pcpteams_Utils::reCreateRelationship($teamContactId, $customFields['org_id'], CRM_Pcpteams_Constant::C_CORPORATE_REL_TYPE, $customParams);
        }
    }
}
コード例 #2
0
 static function adjustTeamTarget($pcpId)
 {
     if (empty($pcpId)) {
         return NULL;
     }
     $pcpType = CRM_Pcpteams_Utils::checkPcpType($pcpId);
     // only for indiviual pcp
     if ($pcpType != CRM_Pcpteams_Constant::C_CONTACT_SUB_TYPE_TEAM) {
         $selectTeamPcpQuery = "SELECT team_pcp_id FROM civicrm_value_pcp_custom_set WHERE entity_id ={$pcpId}";
         $teamPcpId = CRM_Core_DAO::singleValueQuery($selectTeamPcpQuery);
         $isEdit = CRM_Pcpteams_Utils::hasPermission($teamPcpId, NULL, CRM_Core_Permission::EDIT);
         if ($isEdit) {
             $query = "\n          UPDATE civicrm_pcp p1 \n          INNER JOIN civicrm_value_pcp_custom_set cs ON cs.team_pcp_id = p1.id\n          INNER JOIN civicrm_pcp p2 ON p2.id = cs.entity_id\n          SET p1.goal_amount = p2.goal_amount\n          WHERE cs.entity_id = %1 AND (p1.goal_amount is NULL OR p1.goal_amount = 0) AND (p2.goal_amount IS NOT NULL OR p2.goal_amount <> 0)";
             $queryParams = array(1 => array($pcpId, 'String'));
             CRM_Core_DAO::executeQuery($query, $queryParams);
         }
     }
 }