Example #1
0
 public function executeSave()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $params = array();
     foreach (explode('&', $this->getRequestParameter('month_list_ser')) as $p) {
         $p = explode('=', $p);
         $params[rawurldecode($p[0])][] = rawurldecode($p[1]);
     }
     if (array_key_exists('months', $params)) {
         foreach ($params['months'] as $month_id) {
             $payment_student = new PaymentJournal();
             $student = StudentPeer::retrieveByPK($this->getRequestParameter('student_id'));
             $c = new Criteria();
             $c->add(StudentTypePeer::STUDENT_ID, $student->getId());
             $stu_type = StudentTypePeer::doSelectOne($c);
             $cr = new Criteria();
             $cton1 = $cr->getNewCriterion(AcademicCostPeer::PAYER_TYPE_ID, $stu_type->getPayerTypeId(), Criteria::IN);
             $cton2 = $cr->getNewCriterion(AcademicCostPeer::ACADEMIC_PROCESS_ID, 2, Criteria::IN);
             $cton3 = $cr->getNewCriterion(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $student->getAcademicCalendarId(), Criteria::IN);
             $cton4 = $cr->getNewCriterion(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $student->getAcademicCalendar()->getParent(), Criteria::IN);
             $cton3->addOr($cton4);
             $cton2->addAnd($cton3);
             $cton1->addAnd($cton2);
             $cr->add($cton1);
             $ac_cost = AcademicCostPeer::doSelectOne($cr);
             $payment_student->setPayer($this->getRequestParameter('student_id'));
             $payment_student->setAcademicCostId($ac_cost->getId());
             $payment_student->setAcademicProcessId($ac_cost->getAcademicProcessId());
             $payment_student->setAmount($ac_cost->getAmount());
             $payment_student->setPaid($ac_cost->getAmount());
             $payment_student->setReceivable($ac_cost->getAmount() - $ac_cost->getAmount());
             $payment_student->setPaidAt($this->getRequestParameter('paid_at'));
             $payment_student->setPayerType(PaymentJournal::PAYER_TYPE_STUDENT);
             $payment_student->setPaymentModelId($this->getRequestParameter('payment_model_id'));
             $payment_student->setYear($this->getRequestParameter('year'));
             $payment_student->setMonth($month_id);
             $payment_student->setStatus('S');
             $payment_student->save();
             $amount_changed = $ac_cost->getAmount();
             if ($amount_changed != 0) {
                 $ph = new PaymentHistory();
                 $ph->setPaymentJournal($payment_student);
                 $ph->setAmount($amount_changed);
                 $ph->save();
             }
         }
     }
     return $this->redirect('payment_student/list');
     #return $this->forward('payment_student', 'preview?student_id='.$this->getRequestParameter('student_id').'&paid_at='.$this->getRequestParameter('paid_at').'&payment_model_id='.$this->getRequestParameter('payment_model_id').'&year='.$this->getRequestParameter('year'));
     #return $this->redirect('payment_student/preview?student_id='.$this->getRequestParameter('student_id').'&paid_at='.$this->getRequestParameter('paid_at').'&payment_model_id='.$this->getRequestParameter('payment_model_id').'&year='.$this->getRequestParameter('year'));
     #return $this->redirect('payment_student/list',
     #					    'before'=>"window.open('".$this->getController()->genUrl('/payment_student/printForm').
     #		  "?student_id='+$('student_id').value+'&paid_at='+$('paid_at').value+'&payment_model_id='+$('payment_model_id').value+'&year='+$('year').value,
     #								'link',
     #								'height=480,width=640,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=no'
     #								)")
 }
Example #2
0
 public function executeSimpanElse()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $student = StudentPeer::retrieveByPk($this->getRequestParameter('student_id'));
     $this->forward404Unless($student);
     $amount_changed = 0;
     $tanggal = $this->getRequestParameter('thn') . '-' . $this->getRequestParameter('bln') . '-' . $this->getRequestParameter('tgl');
     $tgl_code = $this->getRequestParameter('tgl') . $this->getRequestParameter('bln') . $this->getRequestParameter('thn');
     $paids = $this->getRequestParameter('paid');
     foreach ($paids as $ac_id => $paid) {
         if ($paid != null) {
             $payment_journal = new PaymentJournal();
             $payment_journal->setPayer($student->getId());
             $payment_journal->setAcademicCostId($ac_id);
             $ac_cost = AcademicCostPeer::retrieveByPK($ac_id);
             $payment_journal->setAcademicProcessId($ac_cost->getAcademicProcessId());
             $payment_journal->setPaidAt($tanggal);
             $payment_journal->setPayerType(PaymentJournal::PAYER_TYPE_STUDENT);
             $payment_journal->setAmount($ac_cost->getAmount());
             $payment_journal->setPaid($paid);
             $payment_journal->setReceivable($ac_cost->getAmount() - $paid);
             $payment_journal->setPaymentModelId($this->getRequestParameter('payment_model_id'));
             $payment_journal->setYear($this->getRequestParameter('thn'));
             $payment_journal->setTransactionStatusId(2);
             $payment_journal->save();
         }
     }
     return $this->redirect('student_payment/previewElse?student_id=' . $student->getId() . '&tgl_code=' . $tgl_code . '&tgl=' . $tanggal . '&model=' . $this->getRequestParameter('payment_model_id'));
 }