CRM-15798 adjust membership date calculation for multiyear membership
authorEileen McNaughton <eileen@fuzion.co.nz>
Thu, 8 Jan 2015 12:01:36 +0000 (01:01 +1300)
committerEileen McNaughton <eileen@fuzion.co.nz>
Thu, 29 Jan 2015 00:31:20 +0000 (13:31 +1300)
commit6f1c82f549fb1f7a8907aaec4b3898e2de259177
treeb4f8bbdb5a97ddae5e1e4e09a8fbc52ae00f6260
parentf3337aaeab808a06348db58aa6c09d492efb1ff8
CRM-15798 adjust membership date calculation for multiyear membership
After refactoring the code to understand it & adding a test this is the upshot...
we are dealing with annual memberships (even if they are in 5 year blocks rollover is
still about month & day) so if the definition of whether they are in the rollover period is
actually the same in multi-year as for a single year - if they are between the rollover &
the cut off they get an extra part-year. Hence, when determining whether to give an extra
part year we don't need to compare the rollover to the final end date (5 years on) but
to the next year's end date - just like for an annual

Note that one could argue, but I don't think anyone has, that if the 5 year period has started
then the get the remainder of this 5 years + the next 5 years - which is what the
existing code seems to be almost trying to do
CRM/Member/BAO/MembershipType.php