Our members can join by credit card (paying manually each year, nothing clever) or by Direct Debit (set up as an auto-renew membership). We want to give credit card-payers the option to 'renew' to paying by Direct Debit. But this is complicated as the logic of payment dates/end dates is rather different between the two types.
I'd rather Civi just created a brand new Direct Debit membership in these circumstances, rather than trying to renew the old one. But the standard membership signup forms will always try to renew an existing one.
Does anyone have any suggestions for how to make Civi create a new membership in these circumstances? I can't see any obvious hooks for membership renewals. Should I intercept the entire form in hook_civicrm_postProcess?