If trial is set to 2 weeks and regular billing period is 4 weeks, Subscription Manager will incorrectly show trial as none, due to bad logic in uc_recurring_subscription.admin.inc:
if (feature->regular_interval_value != $feature->initial_charge_value &&
$feature->regular_interval_unit != $feature->initial_charge_unit) {
$trial = uc_price($product->sell_price, array()) .' - '. $feature->initial_charge_value .' '. $feature->initial_charge_unit;
should be changed to
if (!($feature->regular_interval_value == $feature->initial_charge_value &&
$feature->regular_interval_unit == $feature->initial_charge_unit)) {
$trial = uc_price($product->sell_price, array()) .' - '. $feature->initial_charge_value .' '. $feature->initial_charge_unit;
Otherwise, Subscription Manager will show trial as none if either the interval unit OR the interval value match the regular charge interval unit / value. Should only be marked none if BOTH interval unit AND interval value match.
Comments
Comment #1
mattcasey commentedI can confirm this problem and the proposed solution works.
Comment #2
mattcasey commentedComment #3
univate commentedComment #5
fehin commentedI'm having the same issue in 7.x.
I have two subscription nodes. Node1 shows the trial period on manage subscription page and node2 shows "None" for trial even though trial is set.