Affects Version/s: None
Fix Version/s: 1.1
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:
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
4. Create to new API's to implement the subscribe-request/confirm processes:
– Inserts group_contact record (status = PENDING)
– Inserts subscription_history record: contact_id = $cid, group_id = $gid, status = PENDING, datetime = now(), method = 'Email'
– 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