/** * Create the lead record and optionally perform post-save actions for Convert Target & Lead from Email cases */ public function createRecord($api, $args) { //create the lead using the ModuleApi $data = parent::createRecord($api, $args); $leadId = null; if (isset($data['id']) && !empty($data['id'])) { $leadId = $data['id']; } else { //lead not created, can't do post-processes - bail out return $data; } // Handle Lead-Prospect post processing if (!empty($args['relate_to']) && $args['relate_to'] === 'Prospects' && !empty($args['relate_id'])) { // Save lead_id for display purposes $prospectId = $args['relate_id']; $prospect = BeanFactory::getBean('Prospects', $prospectId); $prospect->lead_id = $leadId; $prospect->save(); // Handle Campaign Log entry creation if (!empty($data['campaign_id'])) { $lead = BeanFactory::getBean('Leads', $leadId); campaign_log_lead_or_contact_entry($data['campaign_id'], $prospect, $lead, 'lead'); } } //handle Create Lead from Email use case if (isset($args['inbound_email_id']) && !empty($args['inbound_email_id'])) { $this->linkLeadToEmail($args['inbound_email_id'], $leadId); } return $data; }
/** * Create the bug record and optionally perform post-save actions for Portal */ public function createRecord($api, $args) { //create the bug using the ModuleApi $contact = null; if (isset($_SESSION['type']) && $_SESSION['type'] == 'support_portal') { $contact = BeanFactory::getBean('Contacts', $_SESSION['contact_id'], array('strict_retrieve' => true)); if (!empty($contact)) { $args['assigned_user_id'] = $contact->assigned_user_id; $args['team_id'] = $contact->fetched_row['team_id']; $args['team_set_id'] = $contact->fetched_row['team_set_id']; } } $data = parent::createRecord($api, $args); $bugId = null; if (isset($data['id']) && !empty($data['id'])) { $bugId = $data['id']; } else { //bug not created, can't do post-processes - bail out return $data; } if (!empty($bugId) && !empty($contact)) { $bug = BeanFactory::getBean('Bugs', $bugId); $bug->load_relationship('contacts'); $bug->contacts->add($contact->id); $bug->load_relationship('accounts'); $bug->accounts->add($contact->account_id); } return $data; }