}
         }
         if ($redirect == 0) {
             $apf->CommitTransaction();
             //$apf->FailTransaction();
             if (isset($ap_id) and isset($data['recalculate']) and $data['recalculate'] == 1) {
                 Debug::Text('Recalculating Accruals...', __FILE__, __LINE__, __METHOD__, 10);
                 if (isset($data['recalculate_start_date']) and isset($data['recalculate_end_date']) and $data['recalculate_start_date'] < $data['recalculate_end_date']) {
                     Redirect::Page(URLBuilder::getURL(array('action' => 'recalculate_accrual_policy', 'data' => array('accrual_policy_id' => $ap_id, 'start_date' => $data['recalculate_start_date'], 'end_date' => $data['recalculate_end_date']), 'next_page' => urlencode(URLBuilder::getURL(NULL, '../policy/AccrualPolicyList.php'))), '../progress_bar/ProgressBarControl.php'), FALSE);
                 }
             }
             Redirect::Page(URLBuilder::getURL(NULL, 'AccrualPolicyList.php'));
             break;
         }
     }
     $apf->FailTransaction();
 default:
     if (isset($id)) {
         BreadCrumb::setCrumb($title);
         $aplf = new AccrualPolicyListFactory();
         $apmlf = new AccrualPolicyMilestoneListFactory();
         $aplf->getByIdAndCompanyID($id, $current_company->getID());
         if ($aplf->getRecordCount() > 0) {
             $apmlf->getByAccrualPolicyId($id);
             if ($apmlf->getRecordCount() > 0) {
                 foreach ($apmlf as $apm_obj) {
                     $milestone_rows[$apm_obj->getId()] = array('id' => $apm_obj->getId(), 'length_of_service' => $apm_obj->getLengthOfService(), 'length_of_service_unit_id' => $apm_obj->getLengthOfServiceUnit(), 'accrual_rate' => $apm_obj->getAccrualRate(), 'maximum_time' => $apm_obj->getMaximumTime());
                 }
             } else {
                 $milestone_rows[-1] = array('id' => -1, 'length_of_service' => 0, 'accrual_rate' => 0, 'minimum_time' => 0, 'maximum_time' => 0);
             }