if (isset($pay_period_ids) and count($pay_period_ids) > 0) {
         foreach ($pay_period_ids as $pay_period_id) {
             $pay_period_obj = $pplf->getById($pay_period_id)->getCurrent();
             if ($pay_period_obj->getStatus() != 20) {
                 if ($action == 'close') {
                     $pay_period_obj->setStatus(20);
                 } elseif ($action == 'lock') {
                     $pay_period_obj->setStatus(12);
                 } else {
                     $pay_period_obj->setStatus(10);
                 }
                 $pay_period_obj->Save();
             }
         }
     }
     $pplf->CommitTransaction();
     Redirect::Page(URLBuilder::getURL(NULL, 'ClosePayPeriod.php'));
     break;
 case 'generate_pay_stubs':
     Debug::Text('Generate Pay Stubs ', __FILE__, __LINE__, __METHOD__, 10);
     //var_dump($pay_stub_pay_period_ids);
     Redirect::Page(URLBuilder::getURL(array('action' => 'generate_paystubs', 'pay_period_ids' => $pay_stub_pay_period_ids, 'next_page' => '../payperiod/ClosePayPeriod.php'), '../progress_bar/ProgressBarControl.php'));
     break;
 default:
     //Step 1, get all open pay periods that have ended and are before the transaction date.
     $pplf = new PayPeriodListFactory();
     $ppslf = new PayPeriodScheduleListFactory();
     $open_pay_periods = FALSE;
     //$pplf->getByCompanyIdAndTransactionDate( $current_company->getId(), TTDate::getTime() );
     $pplf->getByCompanyIdAndStatus($current_company->getId(), array(10, 12, 15));
     if ($pplf->getRecordCount() > 0) {