Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 1.2
-
Fix Version/s: 1.2
-
Component/s: None
-
Labels:None
Description
Users need to record an activity (custom activity, meeting or phone call), and conditionally an activity history instance, for a set of contacts. We will add an option actions (tasks) currently available from the search results form to handle this:
1. New option added to the more actions selectValues array (e.g. the field that currently allows you to 'Add Contacts to a Group', etc.). Option label is 'Record Activity for Contacts'.
2. The options displayed by this field are 'permissioned' - and this option should use the same permissioning rules as 'Tag Contacts'
3. After user clicks Go, this 'task' displays the form used to add a (custom) Activities in the single contact scope - with the following modifications:
- fieldset legend is 'Record an Activity'
- Activity Type * drop-down includes the built-in instances - Meeting and Phone Call - PLUS any activity_type instances (custom activities)
NOTE: For this implementation, we will record Phone Call instances w/o populating the Phone Number fields. This makes sense since the call is to multiple contacts.
- "Number of selected contacts: nn" is displayed at the bottom of the form, above the submit buttons
- Submit button label is "Record Activity for Contacts"
4. On submit, we follow the same rules as for singleton inserts. For each contact:
- A civicrm_activity OR civicm_meeting OR civicrm_phonecall record is inserted (depending on activity type selected by the user).
- IF the Status field value = Completed - then a civicrm_activity_history record is also inserted
(We should be able to use the same code/logic as used on singleton inserts for this - but in a for loop.)
5. Display task results page (as done w/ 'Tag Contacts' task but there should be no 'already tagged/processed' bucket since we would always insert the activity for all contacts in selection set- no dupe checking logic needed):
Activity: Meeting - $subject
Recorded for $count Contact(s)
(replace 'Meeting' with actual activity type label)