mailing workflow: approval doesn't update mailing; creates empty mailing
To replicate this issue:
- enable the advanced mailing workflow features (Drupal only)
- create separate users with create/schedule/approve permissions (you must have separate users for schedule/approve at a minimum. if a user has both of those permissions they are handled in a single step and doesn't trigger this error)
- create a mailing
- login as the scheduler user and schedule the mailing
- login as the approver user and approve the mailing
Expected behavior: Mailing is marked approved and queued for delivery. Actual behavior: Mailing is left in an unapproved state and an empty mailing record is created.
Explanation of problem: If the advanced workflow functionality is enabled, the approval step is handled with a separate form (CRM_Mailing_Form_Approve). In the postProcess method the function call to update the mailing with the approval status uses now-removed parameters. As a result, the mailing ID is not passed, the existing mailing is not updated, and a new mailing record stub is created.