static function postProcess(&$form) { $values = $form->exportValues(); $teamId = $values['pcp_team_contact']; $teampcpId = CRM_Pcpteams_Utils::getPcpIdByContactAndEvent($form->get('component_page_id'), $teamId); $userId = CRM_Pcpteams_Utils::getloggedInUserId(); // Create Team Member of relation to this Team $cfpcpab = CRM_Pcpteams_Utils::getPcpABCustomFieldId(); $cfpcpba = CRM_Pcpteams_Utils::getPcpBACustomFieldId(); $customParams = array("custom_{$cfpcpab}" => $form->get('page_id'), "custom_{$cfpcpba}" => $teampcpId); CRM_Pcpteams_Utils::createTeamRelationship($userId, $teamId, $customParams); $form->_teamName = CRM_Contact_BAO_Contact::displayName($teamId); $form->set('teamName', $form->_teamName); $form->set('teamContactID', $teamId); $form->set('teamPcpId', $teampcpId); $teamAdminId = CRM_Pcpteams_Utils::getTeamAdmin($teampcpId); // Team Join: create activity $actParams = array('target_contact_id' => $teamId, 'assignee_contact_id' => $teamAdminId); CRM_Pcpteams_Utils::createPcpActivity($actParams, CRM_Pcpteams_Constant::C_AT_REQ_MADE); CRM_Core_Session::setStatus(ts('A notification has been sent to the team. Once approved, team should be visible on your page.'), ts('Team Request Sent')); //send email once the team request has done. list($teamAdminName, $teamAdminEmail) = CRM_Contact_BAO_Contact::getContactDetails($teamAdminId); $contactDetails = civicrm_api('Contact', 'get', array('version' => 3, 'sequential' => 1, 'id' => $userId)); $emailParams = array('tplParams' => array('teamAdminName' => $teamAdminName, 'userFirstName' => $contactDetails['values'][0]['first_name'], 'userlastName' => $contactDetails['values'][0]['last_name'], 'teamName' => $form->_teamName, 'pageURL' => CRM_Utils_System::url('civicrm/pcp/manage', "reset=1&id={$teampcpId}", TRUE, NULL, FALSE, TRUE)), 'email' => array($teamAdminName => array('first_name' => $teamAdminName, 'last_name' => $teamAdminName, 'email-Primary' => $teamAdminEmail, 'display_name' => $teamAdminName)), 'valueName' => CRM_Pcpteams_Constant::C_MSG_TPL_JOIN_REQUEST); $sendEmail = CRM_Pcpteams_Utils::sendMail($userId, $emailParams); }
static function postProcess(&$form) { $values = $form->exportValues(); $orgName = $values['organization_name']; $cSubType = CRM_Pcpteams_Constant::C_CONTACT_SUB_TYPE_TEAM; $params = array('version' => '1', 'contact_type' => 'Organization', 'contact_sub_type' => $cSubType, 'organization_name' => $orgName); $createTeam = civicrm_api3('Contact', 'create', $params); // Create Dummy Team PCP Page $teamPcpId = CRM_Pcpteams_Utils::createDefaultPcp($createTeam['id'], $form->get('component_page_id')); // Create/Update custom record with team pcp id and create relationship with user as Team Admin if ($teamPcpId) { $userId = CRM_Pcpteams_Utils::getloggedInUserId(); CRM_Pcpteams_Utils::createTeamRelationship($userId, $createTeam['id'], $custom = array(), 'create'); $params = array('version' => 3, 'entity_id' => $form->get('page_id'), "team_pcp_id" => $teamPcpId); $result = civicrm_api3('pcpteams', 'customcreate', $params); $form->set('teamName', $orgName); $form->set('teamContactID', $createTeam['id']); $form->set('teamPcpId', $teamPcpId); $actParams = array('target_contact_id' => $createTeam['id']); CRM_Pcpteams_Utils::createPcpActivity($actParams, CRM_Pcpteams_Constant::C_AT_TEAM_CREATE); CRM_Core_Session::setStatus(ts("Your Team %1 has been created, you can invite members from your team page.", array(1 => $orgName)), ts('New Team Created')); } else { CRM_Core_Session::setStatus(ts("Failed to Create Team \"{$orgName}\" ...")); } }