public function setCommissionFee($fee = false) { if ($fee) { $this->commission_fee = $fee; } else { $institution = $this->my_purchase->getPurchaserInstitution(); $eschool = $this->my_purchase->getPurchaseTypeApp(); $this->commission_fee = GcrPurchaseTable::getCommissionFee($institution, $eschool); } }
public function executeDoManualCourse(sfWebRequest $request) { global $CFG; $this->authorizeUser(); $form = $request->getPostParameters(); $course_data = explode('#', $form['purchase_type_id']); $form['purchase_type_eschool_id'] = $course_data[0]; $form['purchase_type_id'] = $course_data[1]; $institution = GcrInstitutionTable::getInstitution($form['user_institution_id']); if ($form['id'] != '') { // Edit of existing purchase $purchase = $this->getManualPurchase($form['id'], 'course'); if (!($course = $this->eschool->getCourse($form['purchase_type_id']))) { $CFG->current_app->gcError('Invalid course ID ' . $form['purchase_type_id'], 'gcdatabaseerror'); } if (!($mhr_user = $institution->selectFromMhrTable('usr', 'id', $form['purchase_user_field'], true))) { $CFG->current_app->gcError('Invalid user ID ' . $form['purchase_user_field'], 'gcdatabaseerror'); } $manual_purchase_form = new GcrPurchaseCourseManualForm($purchase, array('eschool' => $institution)); $form['user_id'] = $mhr_user->id; $form['purchase_type_id'] = $course->getObject()->id; $form['amount'] = $form['amount_field']; $form['trans_time'] = GcrPurchaseTable::convertDatetoTimestamp($form['trans_time']); $manual_purchase_form->bind($form); if ($manual_purchase_form->isValid()) { $purchase = $manual_purchase_form->save(); $purchase->updateRelatedAccounting(); $this->redirect($CFG->current_app->getUrl() . '/account/view?eschool=' . $institution->getShortName()); } } else { // New purchase $this->eschool = GcrEschoolTable::getEschool($form['purchase_type_eschool_id']); $manual_purchase_form = new GcrPurchaseCourseManualForm(array(), array('eschool' => $institution)); $form['purchase_type'] = 'course_manual'; $form['user_id'] = $form['purchase_user_field']; $form['user_institution_id'] = $institution->getShortName(); $form['amount'] = $form['amount_field']; $form['gc_fee'] = $this->eschool->getGcFeeCourse(); $form['owner_fee'] = $this->eschool->getOwnerFeeCourse(); $form['commission_fee'] = GcrPurchaseTable::getCommissionFee($institution, $this->eschool); $form['bill_cycle'] = 'single'; $form['seller_id'] = 0; $form['trans_time'] = GcrPurchaseTable::convertDatetoTimestamp($form['trans_time']); $manual_purchase_form->bind($form); if ($manual_purchase_form->isValid()) { if (!($course = $this->eschool->getCourse($form['purchase_type_id']))) { $CFG->current_app->gcError('Invalid course ID ' . $form['purchase_type_id'], 'gcdatabaseerror'); } else { if (!$institution->selectFromMhrTable('usr', 'id', $form['purchase_user_field'], true)) { $CFG->current_app->gcError('Invalid user ID ' . $form['purchase_user_field'], 'gcdatabaseerror'); } } $purchase = $manual_purchase_form->save(); $purchase->assignSeller(); $purchase->updateRelatedAccounting(); $this->redirect($CFG->current_app->getUrl() . '/account/view?eschool=' . $this->eschool->getInstitution()->getShortName()); } } $this->course_form = $manual_purchase_form; $this->setTemplate('manualCourse'); }