$eschool = Doctrine::getTable('GcrEschool')->findOneById($eschoolid); if (!$eschool || $eschool->getInstitution()->getShortName() != $CFG->current_app->getShortName()) { $CFG->current_app->gcError('Invalid eschool id ' . $eschoolid, 'gcdatabaseerror'); } $users = $eschool->getEclassroomUsers(); $results = get_admin_user_search_results('', 0, 0, 'firstname', 'asc'); $users_not_in_moodle = array(); $users_exist = false; $potential_users = array(); $eclassroom_users = array(); $mhr_user_objs = $CFG->current_app->selectFromMhrTable('usr'); foreach ($mhr_user_objs as $mhr_user_obj) { $mhr_user = new GcrMhrUser($mhr_user_obj, $CFG->current_app); if ($mhr_user_obj->admin != 1 && $mhr_user_obj->deleted != 1) { $user_string = ucfirst(trim($mhr_user_obj->firstname . ' ' . ucfirst($mhr_user_obj->lastname) . ' (' . $mhr_user_obj->email . ')')); if ($mhr_user->hasEclassroom($eschool)) { $eclassroom_users[$mhr_user_obj->id] = $user_string; } else { $potential_users[$mhr_user_obj->id] = $user_string; } } } asort($eclassroom_users); asort($potential_users); $eschool_options = array(); foreach ($CFG->current_app->getEschools() as $eschool) { $eschool_options[$eschool->getId()] = $eschool->getFullName(); } // create the catalog selector $eschoolselector = pieform(array('name' => 'eschoolselect', 'elements' => array('eschool' => array('type' => 'select', 'title' => get_string('catalog', 'artefact.eschooladmin'), 'options' => $eschool_options, 'defaultvalue' => $eschoolid)))); // create the migrate users form
public function executeDoManualClassroom(sfWebRequest $request) { $this->authorizeUser(); global $CFG; $form = $request->getPostParameters(); if ($form['id'] != '') { // Edit of existing purchase $purchase = $this->getManualPurchase($form['id'], 'classroom'); $institution = $this->eschool->getInstitution(); 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 GcrPurchaseClassroomManualForm($purchase, array('eschool' => $institution)); $form['user_id'] = $mhr_user->id; $form['amount'] = $form['amount_field']; $form['gc_fee'] = $this->eschool->getGcFeeClassroom(); $form['bill_cycle'] = GcrPurchaseTable::convertDatetoTimestamp($form['bill_cycle']); $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 if ($short_name = $form['purchase_type_eschool_field']) { $this->eschool = GcrEschoolTable::getEschool($short_name); } else { $CFG->current_app->gcError('eSchool Parameter Missing', 'gcdatabaseerror'); } $institution = $this->eschool->getInstitution(); $manual_purchase_form = new GcrPurchaseClassroomManualForm(array(), array('eschool' => $institution)); $form['purchase_type'] = 'classroom_manual'; $form['purchase_type_description'] = 'Manual eClassroom Transaction'; $form['purchase_type_quantity'] = 1; $form['purchase_type_id'] = $this->eschool->getShortName(); $form['user_id'] = $form['purchase_user_field']; $form['purchase_type_eschool_id'] = $form['purchase_type_eschool_field']; $form['user_institution_id'] = $institution->getShortName(); $form['amount'] = $form['amount_field']; $form['gc_fee'] = $this->eschool->getGcFeeClassroom(); $form['owner_fee'] = 0; $form['seller_id'] = 0; $form['bill_cycle'] = GcrPurchaseTable::convertDatetoTimestamp($form['bill_cycle']); $form['trans_time'] = GcrPurchaseTable::convertDatetoTimestamp($form['trans_time']); $manual_purchase_form->bind($form); if ($manual_purchase_form->isValid()) { if (!($mhr_user = $institution->selectFromMhrTable('usr', 'id', $form['purchase_user_field'], true))) { $CFG->current_app->gcError('Invalid user ID ' . $form['purchase_user_field'], 'gcdatabaseerror'); } $mhr_user = new GcrMhrUser($mhr_user, $institution); $purchase = $manual_purchase_form->save(); $purchase->assignSeller(); if (!$mhr_user->hasEclassroom($this->eschool)) { $institution->createEclassroom($mhr_user, $this->eschool); } $purchase->updateRelatedAccounting(); $this->redirect($CFG->current_app->getUrl() . '/account/view?eschool=' . $institution->getShortName()); } } $this->classroom_form = $manual_purchase_form; $this->setTemplate('manualClassroom'); }