/**
  * initializes the bursar_term based on the student's level
  */
 private function _init_term()
 {
     // if grad, use grad level...otherwise default to ug
     if ($this->person->banner_roles['student_grad']) {
         $level = 'gr';
     } else {
         $level = 'ug';
     }
     //end if
     $this->term_code = \PSU\AR::bursar_term($level);
 }
示例#2
0
 /**
  * parses payment plan data and inserts/updates memos for GR
  */
 public static function parsePaymentPlanGR($record, $data)
 {
     $term_code = \PSU\AR::bursar_term('gr');
     $record['expiration_date'] = strtotime('+5 days', $record['entry_date']);
     $newest_term = null;
     $terms = array();
     $contract_success = false;
     //
     // First, apply memos to terms from feed that have amounts
     //
     if ($record['amount'] = $data['fall_contract_balance']) {
         $terms[] = $record['term_code'] = self::convertPaymentPlanTerm($term_code, 'fall', 'GR');
         $contract_success = self::updateMemo($record);
         $record['tran_number']++;
         $newest_term = $record['term_code'] > $newest_term ? $record['term_code'] : $newest_term;
     }
     //end if
     if ($record['amount'] = $data['winter_contract_balance']) {
         $terms[] = $record['term_code'] = self::convertPaymentPlanTerm($term_code, 'winter', 'GR');
         $contract_success = self::updateMemo($record);
         $record['tran_number']++;
         $newest_term = $record['term_code'] > $newest_term ? $record['term_code'] : $newest_term;
     }
     //end if
     if ($record['amount'] = $data['spring_contract_balance']) {
         $terms[] = $record['term_code'] = self::convertPaymentPlanTerm($term_code, 'spring', 'GR');
         $contract_success = self::updateMemo($record);
         $record['tran_number']++;
         $newest_term = $record['term_code'] > $newest_term ? $record['term_code'] : $newest_term;
     }
     //end if
     if ($record['amount'] = $data['summer_contract_balance']) {
         $terms[] = $record['term_code'] = self::convertPaymentPlanTerm($term_code, 'summer', 'GR');
         $contract_success = self::updateMemo($record);
         $record['tran_number']++;
         $newest_term = $record['term_code'] > $newest_term ? $record['term_code'] : $newest_term;
     }
     //end if
     //
     // Now apply the pending payment
     //
     if ($data['funds_not_disbursed']) {
         $transaction = new \PSU\AR\Transaction\Memo($record['pidm'], $data['funds_not_disbursed']);
         $transaction->billable(TRUE);
         $transaction->split($record);
         return $transaction->save();
     }
     //end if
     return $contract_success;
 }