-- CRM-12682 applied patch and made some modifications
[civicrm-core.git] / CRM / Contact / Form / Task / PDFLetterCommon.php
index 74269f0c7d8c5c5b3d6eb2013ed0b4db948aa3cb..c865c1ceb2bc5e17d70842eaf34d21eb430a7297 100644 (file)
@@ -74,6 +74,16 @@ class CRM_Contact_Form_Task_PDFLetterCommon {
    * @return void
    */
   static function buildQuickForm(&$form) {
+    //Added for CRM-12682: Add activity subject and campaign fields
+    CRM_Campaign_BAO_Campaign::addCampaign($form);
+    $form->add(
+      'text',
+      'subject',
+      ts('Activity Subject'),
+      array('size' => 45, 'maxlength' => 255),
+      FALSE
+    );
+
     $form->add('static', 'pdf_format_header', NULL, ts('Page Format'));
     $form->add(
       'select',
@@ -354,6 +364,8 @@ class CRM_Contact_Form_Task_PDFLetterCommon {
   }
 
   function createActivities($form, $html_message, $contactIds) {
+    //Added for CRM-12682: Add activity subject and campaign fields
+    $formValues     = $form->controller->exportValues($form->getName());
 
     $session        = CRM_Core_Session::singleton();
     $userID         = $session->get('userID');
@@ -363,6 +375,8 @@ class CRM_Contact_Form_Task_PDFLetterCommon {
       'name'
     );
     $activityParams = array(
+      'subject' => $formValues['subject'],
+      'campaign_id' => $formValues['campaign_id'],
       'source_contact_id' => $userID,
       'activity_type_id' => $activityTypeID,
       'activity_date_time' => date('YmdHis'),
@@ -383,11 +397,14 @@ class CRM_Contact_Form_Task_PDFLetterCommon {
       }
     }
 
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
+    $targetID = CRM_Utils_Array::key('Activity Targets', $activityContacts);
     foreach ($form->_contactIds as $contactId) {
       $activityTargetParams = array(
         'activity_id' => empty($activity->id) ? $activityIds[$contactId] : $activity->id,
         'contact_id' => $contactId,
-        'record_type' => 'Target'
+        'record_type_id' => $targetID
       );
       CRM_Activity_BAO_ActivityContact::create($activityTargetParams);
     }