Details
-
Type: Improvement
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: None
-
Fix Version/s: 1.1
-
Component/s: None
-
Labels:None
Description
These tasks implement additional functionality needed both for CivicSpace MassMailer integration AND for subsequent CiviCRM MassMailer module....
Please read the spec/overview of 'Org and Group Subscribing' for background on the processing flow:
http://objectledge.org/confluence/display/CRM/Mass+Mailer+Project
NOTE: Brian M. has implemented most (all?) of the schema changes for this functionality and has modified the BAO to insert the civicrm_subscription_history records as described for each action.
1. Modify Group class to use is_active model (groups are not deleted, they are set to is_active = false). However, the UI should remain the same (action label = Delete Group), and inactive groups should NOT be displayed in any of the interfaces (Manage Groups, select Group for searching, etc.)
2. Modify Contact/BAO/GroupContact to support passing in the 'method' parameter (this is used to the business object when inserting the subscription_history records).
3. Modify existing GroupContact API's to support 'method' parameter
3.1 crm_add_group_contacts()
3.2 crm_delete_group_contacts()
4. Create to new API's to implement the subscribe-request/confirm processes:
4.1 crm_subscribe_group_contacts()
– Inserts group_contact record (status = PENDING)
– Inserts subscription_history record: contact_id = $cid, group_id = $gid, status = PENDING, datetime = now(), method = 'Email'
4.2 crm_confirm_group_contacts()
– Check that current group_contact status = PENDING.
+ if true, update group_contact record (status = IN)
+ if false, return error: "Can not confirm subscription. Current group status is NOT Pending."
– Insert subscription_history record: contact_id = $cid, group_id = $gid, status = IN, datetime = now(), method = 'Email'
5. Update Public API documentation to reflect new 'method' param and the 2 new API's
http://objectledge.org/confluence/display/CRM/CRM+Public+APIs